SDK 初始化
SDK 初始化
此章节将演示如何在Flutter
项目中初始化ZJSDK
。
提示
接入完成后,在正式上线前需要提供测试包,测试广告正常展现
初始化与启动
在进入应用后,通过ZJAndroid
类的静态方法初始化 SDK。
初始化分为ZJAndroid#initWithoutStart
方法与ZJAndroid#start
两个方法。
两个方法需要按顺序调用,先调用initWithoutStart
方法配置初始化的信息,再在用户同意隐私政策后调用start
方法启动SDK,并确保启动成功后再请求广告。
方法 | 参数 | 说明 |
---|---|---|
initWithoutStart | 见initwithoutstart 参数说明 | 配置初始化信息,可以在用户同意隐私政策前调用 |
start | 见start 参数说明 | 启动SDK,需要在用户同意隐私政策后尽快调用 |
initWithoutStart 参数说明
属性 | 类型 | 说明 | 必填 | 默认值 |
---|---|---|---|---|
appId | string | 媒体ID | √ | - |
customController | ZJCustomController | 隐私控制 参照 隐私信息控制 | × | null |
isDebug | bool | 是否为调试模式 调试模式,会输出调试日志 | × | true |
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 |
initWithoutStart接口声明
class ZJAndroid {
/// 初始化SDK
/// 可以在进入应用后立即调用
/// 返回是否初始化成功
static void initWithoutStart(
/// 应用ID
String appId,
{
/// 控制日志打印
bool isDebug = true,
/// gdpr状态,-1为未知,0为用户未授权,1为用户授权
int gdpr = -1,
/// coppa状态,-1为未知,0为成人,1为儿童
int coppa = -1,
/// ccpa状态,-1为未知,0为允许出售,1为不允许出售
int ccpa = -1,
/// 用户年龄,默认为0
int age = 0,
/// 隐私权限控制
ZJCustomController? customController});
}
start 参数说明
属性 | 类型 | 说明 | 必填 |
---|---|---|---|
onStartListener | Function(ZJEvent ret)? | 回调事件 | × |
initWithoutStart接口声明
class ZJAndroid {
/// 启动SDK
/// 需要在用户同意隐私政策之后尽快调用
static void start({
/// 启动回调
/// [ret.event] {ZJEventAction.startSuccess | ZJEventAction.startFailed},启动失败时,需要解析ret.code等信息排查
/// [ret.code] 错误码
/// [ret.msg] 错误描述
Function(ZJEvent ret)? onStartListener});
}
初始化接入示例
example/lib/main.dart
/// 初始化SDK
void initSdk() {
ZJAndroid.initWithoutStart(TestPosId.appId,
customController: ZJCustomController(canUseAndroidId: true));
// 判断用户是否同意了隐私政策
if (_canStart) {
// 用于已同意隐私政策,调用启动方法,并在成功回调后调用广告
start();
} else {
// 展示隐私政策对话框,并在用户同意后调用`start`方法启动SDK
showPrivacyDialog(context);
}
}
/// 启动SDK
void start() {
ZJAndroid.start(onStartListener: (ret) {
if (ret.action == ZJEventAction.startSuccess) {
Fluttertoast.showToast(msg: "初始化成功");
} else {
Fluttertoast.showToast(msg: "初始化失败:" + ret.msg!);
if (kDebugMode) {
print("${ret.action}:${ret.code}");
}
}
});
}