自建账号模块的回调(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));
}