Appearance
SDK接入FAQ
综合类
1、SDK是否提供隐私政策弹窗?
Android打包工具中可以为每个渠道配置隐私协议和用户协议, 游戏层无需调用代码。 打包后,会将隐私弹窗作为启动Activity,玩家同意隐私协议后,才会跳转到游戏Activity,保证隐私合规。
iOS暂不支持。
2、SDK知否含有实名认证和防沉迷
一般渠道SDK都自带了实名认证和防沉迷,无需游戏中提供。 不过U8聚合SDK中也提供了一个防沉迷插件,在打包工具-》插件面板中,开启即可。 该插件自动检测当前渠道SDK是否支持实名认证和防沉迷,支持的话使用渠道自己的,不支持的渠道才会使用该插件自己的。游戏层无需调用代码。
使用该插件,需要在聚合SDK后台-》实名认证配置,配置好中宣部参数。
3、SDK接口调用无反应
- 请检查Application或AppDelegate中,是否有实现U8Application或iOS的生命周期函数;
- 请检查参数(Android:u8_develeper_config.properties;iOS:info plist),包括appID、appKey等,是否和SDK后台一致;
- 请检查SDK相关依赖库是否有添加到游戏工程;
- 以上检查都无问题,请提供logcat日志或xcode控制台供技术分析。
4、游戏内支付后订单所属的角色ID非当前登录的账号
- 请检查游戏层在收到onLogout回调时,是否有强制玩家返回到游戏登录界面重新进入游戏。 如果此时玩家没退出,那游戏内角色ID还是老的,玩家可能已经切换到新SDK账号了。
- 请检查玩家在服务端发货逻辑中,是否有验证当前角色ID和uid的一致性。如果不一致,请不要给玩家发货。避免黑产代充漏洞。
5、不同渠道账号是否互通
默认不同渠道的账号是隔离的。 如果需要支持互通, 可以在需要互通的渠道配置上,设置互通渠道号, 将互通渠道号设置为一致。注意: 需要在上线之前,都设置好,如果渠道已经上线,再设置互通渠道号,需要人为干预,将历史数据u8_user表中的uniChannel字段更新上互通渠道号。
Android类
1、游戏进入提示:此APP专为低版本系统打造
- 母包中targetSdkVersion请设置为30;也可以在打包工具中设置(游戏配置或渠道配置中,都支持配置;优先使用渠道配置中的。)
- 另外检查打包工具->渠道配置页面,保证签名工具使用的是apksigner,如果使用老的jarsigner,也会出此提示;
- 打包工具->游戏配置界面, 检查CPU架构: 是否支持arm64-v8a。
2、如何修改游戏版本号
打包工具->游戏配置界面, 可以配置游戏版本号和版本名称, 设置后会覆盖母包中的设定。
3、AndroidX和Android Support如何兼容
打包工具->渠道配置页面, 可以根据当前游戏母包中使用的进行设置。 比如游戏母包中用到的是androidx, 可以设置为android support -> androidx; 如果母包用的是android support,打包工具中设置为androidx -> android support。
这样在打包时,可以将渠道SDK/插件SDK中的androidx/android support 转换为和游戏一致。
iOS类
1、启动闪退
检查build settings中other link flags中,是否有添加 -ObjC。
2、Unity项目打包后,找不到库文件
在打包工具->游戏配置界面, 将渠道Target指定为UnityFramework。
服务端类
1、签名校验失败
登录认证协议,签名使用的key是SDK后台的AppSecret
参数,请检查参数是否使用正确。
2、登录认证Token失效
游戏客户端不要缓存token,每次登录都必须重新调用SDK的登录接口。
3、重复收到支付回调通知
- 游戏服务器在收到支付回调后,需要给SDK服务器返回
SUCCESS
字符串,前后不要有空格和换行符。 如果SDK服务器收不到或收到了错误的结果,会自动重试,多次尝试; - 极端情况下,可能会因为网络问题, 导致SDK服务器没有收到游戏服务器返回的
SUCCESS
,导致SDK重复尝试。 所以建议游戏服务器,需要对同一个订单状态做好校验,如果已经给玩家发货过了,再次收到回调时,直接给SDK服务器返回SUCCESS
,而忽略给玩家发放道具。