跳到主要内容
版本:v4

API 参考

注意事项

初始化要求

调用合规认证任何 API 函数前,必须先成功调用 TapSDK_Init 进行初始化。未初始化或初始化失败时,调用合规认证函数将返回错误或者非预期结果。

字符串编码

合规认证所有 API 函数接受和返回的字符串参数(char*),都是 UTF-8 编码,请根据项目实际情况自行转换。

数据类型定义

枚举类型

TapComplianceActionType

防沉迷通知的 UI 动作类型:

enum {
TapComplianceActionType_None = 0, // 无动作
TapComplianceActionType_Toast = 1, // 展示 Toast 提示
TapComplianceActionType_Alert = 2, // 展示弹窗提示
TapComplianceActionType_Exit = 3, // 必须退出游戏
};
typedef uint32_t TapComplianceActionType;

TapComplianceRealNameStatus

实名认证结果状态:

enum {
TapComplianceRealNameStatus_None = 0, // 未知状态
TapComplianceRealNameStatus_Success = 1, // 实名成功
TapComplianceRealNameStatus_Canceled = 2, // 用户取消实名
TapComplianceRealNameStatus_Failed = 3, // 实名失败
};
typedef uint32_t TapComplianceRealNameStatus;

结构体类型

字节对齐

合规认证使用的所有结构体类型,均使用 8 字节对齐:#pragma pack(push, 8)

TapComplianceAction

单个防沉迷 UI 动作:

typedef struct {
TapComplianceActionType action_type; // UI 动作类型
const char* title; // 标题
const char* description; // 描述
uint32_t display_duration_seconds; // 展示时长(秒)
} TapComplianceAction;

TapComplianceActionsEvent

防沉迷通知事件,ComplianceActionsEvent 回调的数据类型:

typedef struct {
uint32_t count;
const TapComplianceAction* actions;
} TapComplianceActionsEvent;

TapComplianceEnsureRealNameResponse

实名认证结果,ComplianceEnsureRealName 回调的数据类型:

typedef struct {
int64_t request_id; // 请求 ID,与调用时传入的值一致
const TapSDK_Error* error; // 错误信息,NULL 表示请求成功
TapComplianceRealNameStatus status; // 实名状态
} TapComplianceEnsureRealNameResponse;

TapComplianceCheckPaymentLimitRequest

支付限额检查请求:

typedef struct {
uint32_t amount; // 支付金额,单位:分(如 64800 表示 648 元)
} TapComplianceCheckPaymentLimitRequest;

TapComplianceCheckPaymentLimitResponse

支付限额检查响应:

typedef struct {
bool allow; // 是否可支付
char title[256]; // 不可支付时展示的标题
char description[4096]; // 不可支付时展示的描述
} TapComplianceCheckPaymentLimitResponse;

TapComplianceSubmitPaymentRequest

充值上报请求:

typedef struct {
uint32_t amount; // 支付金额,单位:分(如 64800 表示 648 元)
} TapComplianceSubmitPaymentRequest;

API 函数

TapCompliance

获取合规认证单例对象。

ITapCompliance* TapCompliance();

返回值: 合规认证单例对象,传入其他合规认证 API 的 self 参数。

TapCompliance_AsyncEnsureRealName

发起实名认证的异步请求。如果用户未实名,TapTap 客户端会弹出实名窗口。

TapSDK_Result TapCompliance_AsyncEnsureRealName(
ITapCompliance* self,
int64_t request_id
);

参数:

  • selfTapCompliance() 返回的合规认证单例对象
  • request_id:开发者生成的请求 ID,回调时原样返回,可用于对应原始请求

返回值:

  • TapSDK_Result_OK:请求发起成功,结果通过 ComplianceEnsureRealName 事件回调返回
  • 其他值:请求发起失败,不会触发回调

TapCompliance_EnableAntiAddiction

启动防沉迷检查。需在 TapCompliance_AsyncEnsureRealName 成功(TapComplianceRealNameStatus_Success)后调用。

TapSDK_Result TapCompliance_EnableAntiAddiction(
ITapCompliance* self
);

参数:

  • selfTapCompliance() 返回的合规认证单例对象

返回值:

  • TapSDK_Result_OK:防沉迷检查已启动,后续通知通过 ComplianceActionsEvent 事件回调返回
  • 其他值:启动失败,不会触发回调

TapCompliance_CheckPaymentLimit

检查支付限额(同步请求)。需在 TapCompliance_EnableAntiAddiction 完成后才能调用。

TapSDK_Result TapCompliance_CheckPaymentLimit(
ITapCompliance* self,
const TapComplianceCheckPaymentLimitRequest* request,
TapComplianceCheckPaymentLimitResponse* response
);

参数:

  • selfTapCompliance() 返回的合规认证单例对象
  • request:支付限额检查请求
  • response:支付限额检查响应(出参)

返回值:

  • TapSDK_Result_OK:请求成功,结果写入 response
  • 其他值:请求失败

TapCompliance_SubmitPayment

上报充值金额(同步请求)。应在用户支付成功后调用。

TapSDK_Result TapCompliance_SubmitPayment(
ITapCompliance* self,
const TapComplianceSubmitPaymentRequest* request
);

参数:

  • selfTapCompliance() 返回的合规认证单例对象
  • request:充值上报请求

返回值:

  • TapSDK_Result_OK:上报成功
  • 其他值:上报失败