跳到主要内容

开通 Apple 登录

本文将介绍如何开通 Apple 登录以及 Apple 登录所需要的配置项。因为 Apple 账号管理目前收拢在 PMO 处,以下大部分操作均需要联系 PMO。

申请 Bundle ID

向 PMO 申请一个 Apple 开发者后台的 Bundle ID。

开通 Apple 登录

iOS 平台

提示

默认情况下 iOS 平台的 Apple 登录只支持 iOS 13(含)以上。

如果配置了 Android 或 PC 使用的 service_id 则在 iOS 13 以下时会采用网页授权的方式支持 Apple 登录。

  1. 在您的 Bundle ID 配置页面的 Capabilities 勾选 Sign In with Apple
  2. Edit 页面选择 Enable as a primary App ID
  3. 点击右上角 Save 按钮保存修改。

开通之后使用相应的证书打包即可使用 iOS 平台的 Apple 登录。

enable_sign_in_with_apple

Unity 的话,需要游戏自行通过脚本配置 iOS 的苹果登录能力配置,参考 Unity ios 平台 Xcode 后处理添加 Capability 方法

public static void AddAppleLogin(string path){
string projectPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
var manager = new ProjectCapabilityManager(projectPath, "Unity-iPhone.entitlements", "Unity-iPhone");
manager.AddSignInWithApple(); //添加苹果登录能力,其他能力(如推送),游戏可按需求类似这样添加
manager.WriteToFile();
}

Android & PC 平台

  1. 切换到 Service IDs 页面。 switch-to-service-id

  2. 点击 Identifiers 右侧的 + 号开始新建,选择 Services IDs 并点击 Continuecreate-service-id-1

  3. 填写 DescriptionIdentifier,这里的 Identifier 不能与游戏的 Bunle ID 完全一致,填写完后依次点击 ContinueRegistercreate-service-id-2

  4. 回到列表页并点击刚创建的 Service ID,勾选 Sign In with Apple 并点击 Configurecreate-service-id-3

  5. Primary App ID 选择游戏的 Bundle ID 对应的条目作为绑定(绑定后 iOS 平台才能和 Android 平台互通数据)。 create-service-id-4

  6. Domains and Subdomains 里填写:

    xdsdk-intnl-6.xd.com,xdsdk-6.xd.cn,api.xd.com,xd.com,xd.cn
  7. Return URLs 里填写:

    https://www.xd.com/oauth/apple_callback,https://api.xd.com/oauth/sdk_apple_callback,https://xdsdk-intnl-6.xd.com/api/login/v1/apple/web/callback,https://xdsdk-6.xd.cn/api/login/v1/apple/web/callback,https://xdsdk-intnl-6.xd.com/api/login/v1/auth/apple/access_token,https://xdsdk-6.xd.cn/api/login/v1/auth/apple/access_token

    create-service-id-5

  8. 依次点击 NextDone 回到配置页面,依次点击右上角 ContinueSave。到此所有配置完成,请把新建的 Service ID 对应的 Identifier 交给游戏填写到 XDConfig.jsonappleservice_id 的 value 中。

    XDConfig.json
    {
    "apple": {
    "service_id":"your identifier"
    }
    }

XDSDK 开通 Apple 登录

把上述步骤中的

  • bundle_id (iOS)
  • service_id 即注册 Services IDs 时填写的 Identifier (Android & PC 为同一个)

通过 Jira 工单提交给 XDSDK 项管,项管会帮忙让研发开通,开通之后游戏便可自行接入。