生命周期
优质
小牛编辑
159浏览
2023-12-01
Lifecycle 生命周期函数
用于监听游戏进入前台、后台、最大化、最小化、网络状态改变、游戏关闭、游戏分享事件。
取消监听需要传入和监听函数同一个回调函数。
BK.onEnterForeground(Function())
监听游戏进入前台事件,手Q进程从后台回到前台
手Q版本:>7.6.5
示例:
function enterForegroundListener(){
BK.Script.log(0, 0, '进入前台');
}
BK.onEnterForeground(enterForegroundListener);
BK.onEnterBackground(Function())
监听游戏进入后台事件,手Q进程从前台回到后台时会回调
手Q版本:>7.6.5
示例:
function enterBackgroundListener(){
BK.Script.log(0, 0, '退出前台');
}
BK.onEnterBackground(enterBackgroundListener);
BK.onGameClose(Function())
监听游戏关闭事件,开发者需处理销毁动作:上报用户成绩
手Q版本:>7.6.5
示例:
function gameCloseListener(){
BK.Script.log(0, 0, '关闭游戏');
//上报操作
//...
}
BK.onGameClose(gameCloseListener);
BK.onMaximize(Function())
监听游戏最大化事件
手Q版本:>7.6.5
示例:
function maximizeListener(){
BK.Script.log(0, 0, '最大化');
}
BK.onMaximize(maximizeListener);
BK.onMinimize(Function())
监听游戏最小化事件,用户点击"收起游戏"时回调
手Q版本:>7.6.5
示例:
function minimizeListener(){
BK.Script.log(0, 0, '最大化');
}
BK.onMinimize(minimizeListener);
BK.onNetworkChange(Function(Object))
监听手机网络变化
手Q版本:>7.6.5
Object属性
属性名 | 类型 | 说明 |
---|---|---|
state | number | 网络变化的状态码 |
state取值:
{
'NoneToMobileNetwork' = 1, //无网络到移动网络
'NoneToWifi' = 2, //无网络到WiFi网络
'MobileNetworkToWifi' = 3, //移动网络到WiFi网络
'MobileNetworkToNone' = 4, //移动网络到无网络
'WifiToNone' = 5, //WiFi到无网络
'WifiToMobileNetwork' = 6 //WiFi到移动网络
}
示例:
function onNetworkChangeListener(data:BK.NetworkChangeResult){
if(data.state == BK.NetworkState.NoneToMobileNetwork){
BK.Script.log(0, 0, '从无网络到移动网络');
}else if(data.state == BK.NetworkState.NoneToWifi){
BK.Script.log(0, 0, '无网络到WiFi网络');
}else if(data.state == BK.NetworkState.MobileNetworkToWifi){
BK.Script.log(0, 0, '移动网络到WiFi网络');
}else if(data.state == BK.NetworkState.MobileNetworkToNone){
BK.Script.log(0, 0, '移动网络到无网络');
}else if(data.state == BK.NetworkState.WifiToNone){
BK.Script.log(0, 0, 'WiFi到无网络');
}else if(data.state == BK.NetworkState.WifiToMobileNetwork){
BK.Script.log(0, 0, 'WiFi到移动网络');
}
}
BK.onNetworkChange(onNetworkChangeListener);
7. BK.onGameShareComplete(Function(Object))
分享完成时回调
手Q版本:>7.6.5
Object属性
属性 | 类型 | 说明 |
---|---|---|
retCode | number | 0为成功 1为失败 2为取消 |
shareDest | number | 0为QQ 1为QZone 2为微信 3为朋友圈 |
isFirstShare | boolean | 是否为第一次分享 |
示例:
function onShareCompleteListener(data){
BK.Script.log(0, 0, "分享完成: retCode:"+data.retCode + ',isFirstShare:'+data.isFirstShare + ',dest:'+data.shareDest);
BK.offGameShareComplete(onShareCompleteListener);
};
BK.onGameShareComplete(onShareCompleteListener);
BK.onGameShare(Function())
调用分享接口时回调
手Q版本:7.6.5
示例:
function onShareListener(){
BK.Script.log(0, 0, "分享了");
BK.offGameShare(onShareListener);
}
BK.onGameShare(onShareListener);
BK.offEnterForeground(Function())
取消监听游戏进入前台事件
手Q版本:7.6.5
示例:
function enterForegroundListener(){
BK.Script.log(0, 0, '进入前台');
BK.offEnterForeground(enterForegroundListener);//取消监听
}
BK.onEnterForeground(enterForegroundListener);
BK.offEnterBackground(Function())
取消监听游戏进入后台事件
手Q版本:7.6.5
示例:
function enterBackgroundListener(){
BK.Script.log(0, 0, '退出前台');
BK.offEnterForeground(enterBackgroundListener);//取消监听
}
BK.onEnterBackground(enterBackgroundListener);
BK.offGameClose(Function())
取消监听游戏关闭事件
手Q版本:7.6.5
示例:
function gameCloseListener(){
BK.Script.log(0, 0, '关闭游戏');
//上报操作
//...
}
BK.onGameClose(gameCloseListener);
//其他操作
BK.offGameClose(gameCloseListener);//取消监听
BK.offMaximize(Function())
监听游戏最大化事件
手Q版本:7.6.5
示例:
function maximizeListener(){
BK.Script.log(0, 0, '最大化');
BK.offMaximize(maximizeListener);//取消监听
}
BK.onMaximize(maximizeListener);
BK.offMinimize(Function())
取消监听游戏最小化事件
手Q版本:7.6.5
示例:
function minimizeListener(){
BK.Script.log(0, 0, '最大化');
BK.offMinimize(minimizeListener);//取消监听
}
BK.onMinimize(minimizeListener);
14. BK.offNetworkChange(Function(Object))
取消监听手机网络变化
手Q版本:7.6.5
示例:
function onNetworkChangeListener(data:BK.NetworkChangeResult){
BK.Script.log(0, 0, 'state:'+data.state);
BK.offNetworkChange(onNetworkChangeListener);//取消监听
}
BK.onNetworkChange(onNetworkChangeListener);
15. BK.offGameShareComplete(Function(Object))
取消监听分享完成事件
手Q版本:7.6.5
示例:
function onShareCompleteListener(data){
BK.Script.log(0, 0, "分享完成: retCode:"+data.retCode + ',isFirstShare:'+data.isFirstShare + ',dest:'+data.shareDest);
BK.offGameShareComplete(onShareCompleteListener);//取消监听
};
BK.onGameShareComplete(onShareCompleteListener);
16. BK.offGameShare(Function())
取消监听分享事件
手Q版本:7.6.5
示例:
function onShareListener(){
BK.Script.log(0, 0, "分享了");
BK.offGameShare(onShareListener);//取消监听
}
BK.onGameShare(onShareListener);