跳到主要内容

自建账号模块的回调(AuthAccountResultObserver)

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

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

注意

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

函数定义

// 增加 INTLAccountResult 回调,用于处理 Account的回调
public static void AddAccountResultObserver(OnINTLResultHandler<INTLAccountResult> callback);

// 移除 INTLAccountResult 回调
public static void RemoveAccountResultObserver(OnINTLResultHandler<INTLAccountResult> callback);

代码示例

// 增加回调
public void AddAuthObserver()
{
INTLAPI.AddAccountResultObserver(OnAuthAccountResultEvent);
}

// 移除回调
public void RemoveAuthObserver()
{
INTLAPI.RemoveAccountResultObserver(OnAuthAccountResultEvent);
}

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

Debug.Log("OnAuthAccountResultEvent in Login");
string methodTag = "";
if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_REQUEST_VERIFY_CODE)
{
methodTag = "RequestVerifyCode";
}
else if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_RESET_PASSWORD)
{
// 对应 ResetPasswordWithVerifyCode、ResetPasswordWithOldPassword
methodTag = "ResetPassword";
}
else if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_MODIFY_ACCOUNT)
{
// 对应 ModifyAccountWithVerifyCode、ModifyAccountWithPassword、ModifyAccountWithLoginState
methodTag = "ModifyAccount";
}
else if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_QUERY_REGISTER_STATUS)
{
methodTag = "QueryRegisterStatus";
}
else if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_QUERY_VERIFY_CODE_STATUS)
{
methodTag = "QueryVerifyCodeStatus";
}
else if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_QUERY_IS_RECEIVE_EMAIL)
{
methodTag = "QueryIsReceiveEmail";
}
else if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_REGISTER)
{
methodTag = "Register";
}
else if (accountRet.MethodId == (int)INTLMethodID.INTL_AUTH_MODIFY_PROFILE)
{
methodTag = "ModifyProfile";
}
m_sample.ShowLogInNewLine(methodTag + Tools.Instance.GetRetString(accountRet));
}