SDK 初始化
SDK 初始化
此章节将演示如何在Cocos
项目中初始化ZJSDK
。
初始化与启动
在进入应用后,通过ZJSdk
类的静态方法初始化 SDK
初始化分为ZJSdk#initWithoutStart(ZJConfig);
方法与ZJSdk#start(ZJStartListener)
两个方法。
两个方法需要按顺序调用,先调用initWithoutStart
方法配置初始化的信息,再在用户同意隐私政策后调用start
方法启动SDK,并确保启动成功后再请求广告。
方法 | 参数 | 说明 |
---|---|---|
initWithoutStart(ZJConfig config) | config: 初始化配置信息 | 配置初始化信息,可以在用户同意隐私政策前调用 |
start(ZJStartListener listener) | listener: 初始化状态回调 | 启动SDK,需要在用户同意隐私政策后尽快调用 |
ZJConfig 说明
ZJConfig 为 SDK 的初始化信息配置
属性 | 类型 | 说明 | 必填 | 默认值 |
---|---|---|---|---|
appId | string | 媒体ID | √ | - |
userId | string | 用户唯一ID | × | "" |
customController | ZJCustomController | 隐私控制 参照 隐私信息控制 | × | null |
isDebug | bool | 是否为调试模式 调试模式,会输出调试日志 | × | false |
age | int | 用户年龄,仅针对海外市场 age 需要大于0 | × | 0 |
gdpr | int | GDPR授权,仅针对海外市场 -1为未知 0为用户未授权 1为用户授权 | × | -1 |
coppa | int | COPPA授权,仅针对海外市场 -1为未知 0为成人 1为儿童 | × | -1 |
ccpa | int | CCPA授权,仅针对海外市场 -1为未知 0为允许出售 1为不允许出售 | × | -1 |
初始化示例
Demo->scripts/demo/DemoMainPanel.ts
private initZJSDK() {
// 构建配置,可以在用户同意隐私政策前
ZJSdk.initWithoutStart(new ZJConfig("Z2845395984", "Your UID", true, CustomController.getInstance().customController));
// 启动SDK,需要在同意隐私政策后
ZJSdk.start({
onStartFailed(code, msg) {
console.log(`onStartFailed:${code}-${msg}`);
toast(`初始化失败,错误码:${code},错误信息:${msg}`)
}, onStartSuccess() {
console.log("onStartSuccess");
toast("初始化成功")
}
})
}
示例工程
压缩包内的zjsdk_cocos_demo.zip
包含了一个基础的SDK功能演示场景与对应的广告加载、展示示例代码:
演示页面 | 广告加载 |
---|---|
![]() | ![]() |
其中 Android 原生的 ToastUtil 方法,需要手动添加在项目中(如native/engine/andriod/src/
目录下),没有 package
import android.app.Activity;
import android.widget.Toast;
import com.cocos.service.SDKWrapper;
class ToastUtil {
public static void showToast(String msg) {
Activity activity = SDKWrapper.shared().getActivity();
if (activity != null && !activity.isFinishing()) {
activity.runOnUiThread(() -> Toast.makeText(activity, msg, Toast.LENGTH_SHORT).show());
}
}
}