跳到主要内容

推送模块的回调(PushBaseResultObserver)

如果您使用的是 Unreal Engine,请参见 Unreal Engine SDK 的 PushBaseResultObserver

注册 Player Network SDK Push 模块的回调,游戏需要注册回调函数进行处理。更多关于回调数据结构,请参见 BaseResult

注意

强烈建议游戏在应用启动函数中进行注册。

函数定义

// 增加 INTLBaseResult 回调
public static void AddPushBaseResultObserver(OnINTLResultHandler<INTLBaseResult> callback);
// 移除 INTLBaseResult 回调
public static void RemovePushBaseResultObserver(OnINTLResultHandler<INTLBaseResult> callback);

代码示例

// 增加回调
public void AddPushObserver()
{
INTLAPI.AddPushBaseResultObserver(OnPushBaseRetEvent);
}

// 移除回调
public void RemovePushObserver()
{
INTLAPI.RemovePushBaseResultObserver(OnPushBaseRetEvent);
}

// INTLBaseResult 的回调处理
public void OnPushBaseRetEvent(INTLBaseResult ret)
{
Debug.Log($"MethodID: {ret.MethodId}");

if (ret.MethodId == (int)INTLMethodID.INTL_PUSH_REGISTER_PUSH)
{
methodTag = "RegisterPush";
}
else if (ret.MethodId == (int)INTLMethodID.INTL_PUSH_UNREGISTER_PUSH)
{
methodTag = "UnregisterPush";
}
else if (ret.MethodId == (int)INTLMethodID.INTL_PUSH_SET_TAG)
{
methodTag = "SetTag";
}
else if (ret.MethodId == (int)INTLMethodID.INTL_PUSH_DELETE_TAG)
{
methodTag = "DeleteTag";
}
ShowLogInNewLine(methodTag + Tools.Instance.GetRetString(ret));
}