Appearance
初始化相关
隐私弹窗
如果使用U8SDK中的隐私弹窗, 需要在调用初始化接口之前,先调用下面接口:
ts
// 检查并展示隐私协议弹窗
U8SDK.getInstance().showPrivacy(uiContext).then(()=>{
// 玩家同意隐私协议了, 可以在这里调用U8SDK的初始化接口
U8SDK.getInstance().init(this.context).then(()=>{
hilog.debug(0x0000, 'testTag', 'u8sdk init success')
}).catch((err:U8Error)=>{
hilog.error(0x0000, 'testTag', 'u8sdk init failed:%{public}s', JSON.stringify(err))
})
}).catch(()=>{
hilog.info(0x0000, 'testTag', 'privacy refused');
// 玩家拒绝隐私协议, 可以在这里杀掉进程,退出游戏
this.context.getApplicationContext().killAllProcesses().catch(() => {
// TODO: Implement error handling.
});
});初始化
初始化接口init应该在游戏主界面加载后第一时间调用,一般在EntryAbility的onWindowStageCreate生命周期函数中调用:
ts
// 文件头部先从usdk.har中导入U8SDK等对象
import { U8Error, U8SDK, U8Event } from '@ohos/u8sdk';
...
// 调用U8SDK 初始化接口
U8SDK.getInstance().init(this.context).then(()=>{
// 初始化成功回调
hilog.debug(0x0000, 'U8SDK', 'u8sdk init success');
}).catch((err:U8Error)=>{
// 初始化失败回调,err = {code: 1, msg: 'err msg'}
hilog.error(0x0000, 'U8SDK', 'u8sdk init failed:%{public}s', JSON.stringify(err));
});设置登出回调
当玩家在华为鸿蒙SDK中登出时, U8聚合SDK会通过下面U8_EVENT_LOGOUT事件,通知游戏层:
ts
U8SDK.getInstance().registerEvent(U8EventCode.U8_EVENT_LOGOUT, (event:U8Event)=>{
// 玩家在华为鸿蒙SDK中登出账号, 这里需要引导玩家退出游戏,返回到游戏登录界面,重新登录
});生命周期函数
在游戏主Ability的生命周期函数中,调用U8聚合SDK的生命周期函数:
ts
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
U8SDK.getInstance().onCreate(want, launchParam);
}
onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
U8SDK.getInstance().onNewWant(want, launchParam);
}