跳到主要内容

iOS

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

前提条件

1. 设置 Ubisoft 应用

联系 Ubisoft 获取以下应用程序配置参数。

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

步骤1: 配置SDK

警告

Ubisoft SDK 仅与 iOS SDK 12 及以上版本兼容。

IDE: Xcode 13.3 或更高版本
iOS: iOS 12.0 或更高版本

  1. INTLConfig.ini 文件中添加应用程序配置参数。

    [Ubisoft]
    UBI_APP_ID_IOS = {INTL_UBI_APP_ID_IOS}
    UBI_GENOME_ID_IOS = {INTL_UBI_GENOME_ID_IOS}
    UBI_APP_BUILDID_IOS = {INTL_UBI_APP_BUILDID_IOS}
    UBI_GAME_VERSION_IOS = {INTL_UBI_GAME_VERSION_IOS}
    UBI_SKU = {INTL_UBI_SKU}
    UBI_WEB_AUTH_URL = {INTL_UBI_WEB_AUTH_URL}
    • {INTL_UBI_APP_ID_IOS} 替换为 Ubisoft 提供的 App ID。
    • {INTL_UBI_GENOME_ID_IOS} 替换为 Ubisoft 提供的 GENOME ID。
    • {INTL_UBI_APP_BUILDID_IOS} 替换为游戏 iOS 版本号。
    • {INTL_UBI_GAME_VERSION_IOS} 替换为游戏的自定义版本类型,例如 Alpha、Beta、Test 和 Full。
    • {INTL_UBI_SKU} 替换为 Ubisoft 提供的游戏 SKU。
    • {INTL_UBI_WEB_AUTH_URL} 替换为 Ubisoft 提供的登录页面 URL。
  2. 设置钥匙串共享。
    Ubisoft SDK 要求用户为 iOS 应用程序开启钥匙串共享功能,并设置一个名为 com.ubisoft.data 的钥匙串组。具体配置步骤如下:

    • 点击 Target,选择 Signing & Capabilities图片:Signing

    • 点击 Keychain Sharing。如果 Keychain Sharing 未启用,请启用它。

    • 点击加号 (+) 并添加名为 com.ubisoft.data 的钥匙串组。 图片:Keychain

步骤2:添加 Ubisoft 登录

SDK 会拉起 WebView 并进入 Ubisoft 登录页面,用户在浏览器上登录 Ubisoft 账号之后,返回游戏继续 Ubisoft SDK 的登录操作。

  1. 注册登录相关回调。

    不适用。

  2. 调用 AutoLogin 接口自动登录。

    当用户之前登录过,用户可以调用自动登录接口。如果 token 仍然在有效期内则登录成功,若 token 失效则会抛出错误,需要业务调用手动登录接口重新登录。

    不适用。

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

    不适用。

  4. 与游戏后台同步客户端身份验证状态,等待最终验证结果。

登录接口返回 AuthResultchannel_info 数据格式如下:

"channel_info":"
{
\"expire_ts\":1651047328,
\"is_refresh\":0,
\"profile_id\":\"xxxxxxxx-xxxx-xxxx-xxxx-f34e406412d6\",
\"sesssion_id\":\"xxxxxxxx-xxxx-xxxx-xxxx-d82d645f5df0\",
\"ticket\":\"...\",
\"user_id\":\"xxxxxxxx-xxxx-xxxx-xxxx-F88B443D15D6\"
}",

登出

调用接口 Logout 登出当前渠道并且传递相关参数。

不适用。

步骤3:验收登录功能

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

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

扩展接口

扩展接口

游客账号绑定 Ubisoft 账号

不适用。

获取 Ubisoft DNA 事件上报 Facade

不适用。

设置 Ubisoft DNA 未上报 session events

不适用。

获取 Ubisoft 渠道的用户 ID

不适用。

如果您在通过 Ubisoft 登录时遇到困难,请参见 Ubisoft 常见问题