跳到主要内容

iOS

本文旨在介绍如何设置 Supercell 身份验证,让您的游戏可以使用 Player Network 登录鉴权服务通过 Supercell 渠道登录。

前提条件

1. 获取应用信息

Get required app information from the Supercell team.

  1. 获取 Player Network 控制台登录账号
  2. 为游戏创建新项目,或加入已有项目
  3. 下载 SDK
  4. 接入 SDK
  5. 在 Player Network 控制台添加 Supercell 为业务的登录鉴权方式

步骤1:Configure the SDK

After adding the iOS plugin of INTLSupercell, you can find the INTLConfig.ini file in the Xcode project. Then, add or modify the following configuration:

[Supercell]
SUPERCELL_GAME_ID = {INTL_SUPERCELL_GAME_ID}
SUPERCELL_GAME_ENVIRONMENT = {INTL_SUPERCELL_GAME_ENVIRONMENT}
SUPERCELL_IS_PRODUCTION = {IS_USING_PRODUCTION}
  • Replace {INTL_SUPERCELL_GAME_ID} with the GAME_ID assigned by Player Network Console.
  • Replace {INTL_SUPERCELL_GAME_ENVIRONMENT} with the environment you are using, such as dev or prod.
  • Set {IS_USING_PRODUCTION}, 1 indicates a production environment, and 0 indicates any other environment.

步骤2:Add Supercell login

  1. 注册登录相关回调。

    // Add callbacks
    public void AddAuthObserver()
    {
    INTLAPI.AddAuthResultObserver(OnAuthResultEvent);
    }

    // Remove callbacks
    public void RemoveAuthObserver()
    {
    INTLAPI.RemoveAuthResultObserver(OnAuthResultEvent);
    }

    // Process the INTLAuthResult callback
    public void OnAuthResultEvent(INTLAuthResult ret)
    {
    Debug.Log($"MethodID: {ret.MethodId}");

    string methodTag = "";
    if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_LOGIN)
    {
    methodTag = "Login";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_BIND)
    {
    methodTag = "Bind";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_AUTOLOGIN)
    {
    methodTag = "AutoLogin";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_QUERY_USER_INFO)
    {
    methodTag = "QueryUserInfo";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_GET_AUTH_RESULT)
    {
    methodTag = "GetAuthResult";
    }
    }
  2. 调用 AutoLogin 接口自动登录。

    INTLAPI.AutoLogin();
  3. 在自动登录失败时调用 Login 接口使玩家手动登录。

    INTLAPI.Login(INTLChannel.Supercell); 
  4. 与游戏后台同步客户端身份验证状态,等待最终验证结果。

步骤3:验收登录功能

在 Player Network SDK 日志中搜索关键字 "AuthResult" 确认渠道名称和 OpenID 是否正确返回。如果正确,则表明集成配置成功,登录功能已成功添加。

如果接入过程中遇到问题,请参见 常见问题