跳转至

iOS

本页面指导Hive SDK iOS身份验证配置。

添加功能

在您的项目目录中的 Podfile 中添加 身份验证功能框架。仅添加您想要使用的身份验证功能。

要使用设备管理服务,请添加以下框架:

pod 'HiveDeviceManagement', $HIVE_SDK_VERSION # Framework for managing the devices of app users

要使用 Google Recaptcha 进行访客登录,请添加以下框架:

pod 'HiveGoogleRecaptcha', $HIVE_SDK_VERSION # Framework for using the Google recaptcha enterprise feature based on bot scores during guest login

根据中国国家新闻出版署发布的《进一步严格管理未成年人网络游戏成瘾的通知》等规定,仅对已获得中国游戏许可证的游戏使用需要实名认证的功能,添加以下框架:

pod 'HiveRealNameVerification', $HIVE_SDK_VERSION # Real-name verification service added


在保存了包含您想要使用的框架的 Podfile 后,运行以下命令以在您的项目中安装这些框架:

pod install

添加 IdP

IdP框架添加到项目目录中的Podfile中。仅添加您想要使用的IdP。


以下是将框架添加到项目目录中的Podfile的示例。可以在不添加框架的情况下使用访客登录功能。

pod 'HiveAuthV4ProviderAppleSignIn', $HIVE_SDK_VERSION # Signin with Apple login
pod 'HiveAuthV4ProviderFacebook', $HIVE_SDK_VERSION # Facebook idp, social Facebook feature
pod 'HiveAuthV4ProviderQQ', $HIVE_SDK_VERSION # QQ IdP
pod 'HiveAuthV4ProviderVK', $HIVE_SDK_VERSION # VK IdP
pod 'HiveAuthV4ProviderWechat', $HIVE_SDK_VERSION # WeChat IdP
pod 'HiveAuthV4ProviderGoogle', $HIVE_SDK_VERSION # Google IdP
pod 'HiveAuthV4ProviderAppleGameCenter', $HIVE_SDK_VERSION # Apple game center IdP
pod 'HiveAuthV4ProviderHive', $HIVE_SDK_VERSION # Membership login, Hive SDK Social feature
pod 'HiveAuthV4ProviderWeverse', $HIVE_SDK_VERSION # Weverse IdP

使用 Line IdP 时,如果目标低于 iOS 13,则只需添加以下框架:

pod 'HiveAuthV4ProviderLine', $HIVE_SDK_VERSION # Line IdP

如果是 iOS 13 或更高版本,请添加以下框架:

pod 'HiveAuthV4ProviderLine', $HIVE_SDK_VERSION # Line IdP
pod 'HiveAuthV4ProviderLine/LineSDKSwift11', $HIVE_SDK_VERSION # Line idp(5.11.0 / iOS 13 or above)

在保存了包含您想要使用的框架的 Podfile 后,运行以下命令以在您的项目中安装这些框架:

pod install

由身份提供者的额外设置

根据身份提供者(IdP),需要额外的设置。

使用 Apple IdP 设置登录

以下是设置“使用 Apple IdP 登录”的说明。请按照以下步骤将 Apple 登录添加到您的 IdP 列表中。

  1. 在 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用。
  3. 点击“签名与能力”选项卡。
  4. 点击“签名与能力”选项卡左上角的 + 能力 按钮。
  5. 从列表中选择 使用 Apple 登录 以添加它。

  6. 你可以在“签名与能力”列表中看到添加的 使用 Apple 登录

    ]

苹果游戏中心 IdP 设置

以下是设置 Apple Game Center IdP 的说明。按照这些步骤将 Apple Game Center 登录添加到您的 IdP 列表中。

  1. 在 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用。
  3. 点击 Signing & Capabilities 标签。
  4. 点击 Signing & Capabilities 标签左上角的 + Capability 按钮。
  5. 从列表中选择 GameCenter 以添加它。

  6. 你可以在“签名与功能”列表中看到添加的游戏中心

Facebook IdP 设置

以下是设置 Facebook IdP 的说明。

输入 Facebook AppID 和 ClientToken

按照以下说明在您的 Xcode 项目中输入 Facebook AppID 和 ClientToken。

  1. 在 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用。
  3. 点击 Info 选项卡。
  4. 在 Info 选项卡中点击自定义 iOS 目标属性项,并在 FacebookAppID 属性中输入您的 Facebook 应用 ID。

    5. 在 Facebook 控制台 应用仪表板 中检查 FacebookClientToken,路径为 设置 > 高级 > 安全 > 客户端令牌。 6. 在信息选项卡中单击自定义 iOS 目标属性项,并在 FacebookClientToken 属性中输入 FacebookClientToken。 7. 在信息选项卡中单击 URL 类型项,然后单击 + 图标以创建 附加 URL 类型属性 项。 8. 在附加 URL 类型属性项的 URL 方案字段中输入带有 fb 后缀的 Facebook AppID(示例:fb012342478841523)。

将Facebook方案添加到白名单

要将 Facebook 方案添加到白名单,您可以使用项目窗口或直接将代码添加到 Info.plist 文件中。

Note

从 iOS 9 开始,切换到外部应用程序仅允许对添加到白名单中的方案进行操作。在 iOS 9 环境中,当用户从您的游戏登录 Facebook 时,Hive 平台使用 Safari 视图控制器通过 Safari 网页视图执行 Facebook 登录。因此,游戏应用程序与 Facebook 应用程序之间不会发生切换,登录可以通过应用内部的浏览器进行处理。Facebook 建议您默认将 Facebook 方案注册到白名单中。查看 Facebook SDK 文档

  1. 在 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用。
  3. 点击 Info 选项卡。
  4. 在 Info 选项卡中点击 LSApplicationQueriesSchemes,点击 + 按钮,并添加以下两个方案:
    • fbapi
    • fb-messenger-share-api


您还可以将以下代码直接添加到 Info.plist 文件中。

"LSApplicationQueriesSchemes" : [
 "fbapi", 
 "fb-messenger-share-api"
]

QQ IdP 设置

以下是设置 QQ IdP 的说明。

将 QQ 方案添加到白名单

要将 QQ 方案添加到白名单,您可以使用项目窗口或直接将代码添加到 Info.plist 文件中。

  1. 在 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用。
  3. 点击 Info 选项卡。
  4. 在 Info 选项卡中点击 LSApplicationQueriesSchemes,点击 + 按钮,并添加以下 Schemes:
    • mqqOpensdkSSoLogin
    • mqqopensdkapiV2
    • mqqopensdkapiV3
    • wtloginmqq2
    • mqq
    • mqqapi
    • mqqopensdknopasteboard
    • mqqopensdknopasteboardios16

您还可以将以下代码直接添加到 Info.plist 文件中。

"LSApplicationQueriesSchemes" : [
 "mqqOpensdkSSoLogin",
 "mqqopensdkapiV2",
 "mqqopensdkapiV3",
 "wtloginmqq2",
 "mqq",
 "mqqapi"
]

VK IdP 设置

以下是设置 VK IdP 的说明。

进入 VK AppID

按照下面的说明在您的 Xcode 项目中输入 VK AppID。

  1. 从 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用程序。
  3. 点击 信息 标签。
  4. 信息 标签中点击 自定义 iOS 目标属性 项,并将 VK 数据(vkauthorizevk-sharevk)添加到 LSApplicationQueriesSchemes
  5. 信息 标签中点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
  6. 附加 URL 类型属性 项下的 URL Schemes 字段中输入带有 vk 前缀的 VK AppID(例如:Vk1231234)。

WeChat IdP 设置

以下是设置微信身份提供者的说明。

输入微信appid

按照下面的说明在您的 Xcode 项目中输入 WeChat AppID。

  1. 在 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用程序。
  3. 单击 信息 选项卡。
  4. 信息 选项卡中单击 URL 类型 项,然后单击 + 图标以创建 附加 URL 类型属性 项。
  5. 附加 URL 类型属性 项下的 URL Schemes 字段中输入 标识符: weixinweixinULAPIURL Schemes: APP_ID
Note

使用微信 IdP 和 Hive SDK 促销一起时,您需要申请 Universal Link

Google IdP 设置

以下是设置 Google IdP 的说明。

输入反向客户端 ID

按照以下说明在您的 Xcode 项目中输入反向客户端 ID。

  1. 在 Xcode 项目窗口的项目导航器中选择你的项目。
  2. 从 TARGETS 列表中选择你的应用。
  3. 点击 信息 标签。
  4. 信息 标签中点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
  5. 附加 URL 类型属性 项下的 URL Schemes 字段中,将 标识符 输入为空格,并将 URL Schemes 输入为 反向客户端 ID

Line IdP 设置

以下是设置 Line IdP 的说明。

修改 podfile

使用 Line IdP 时,您需要将以下内容添加到项目目录中 Podfile 的 post_install 代码中。

post_install do |installer|
   installer.pods_project.targets.each do |target|
       target.build_configurations.each do |config|
            ...
            # Change pod project settings when using linesdkswift
           if ['LineSDKSwift'].include? target.name
               config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
           # Response to a code signing compilation error issue for cocoapods bundle targets that occurs in xcode 14
           elsif config.build_settings['WRAPPER_EXTENSION'] == 'bundle'
               config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
           end
            ...
       end
   end
end

在保存如上所述修改后的 Podfile 后,运行以下命令以在您的项目中安装框架:

pod install

输入应用程序包 ID

按照下面的说明在您的 Xcode 项目中输入 App Bundle ID。

  1. 在 Xcode 项目窗口的项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用。
  3. 点击 信息 标签。
  4. 信息 标签中点击 自定义 iOS 目标属性 项,并将 LINE 数据 (lineauth2) 添加到 LSApplicationQueriesSchemes
  5. 点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
  6. 附加 URL 类型属性 项下的 URL Schemes 字段中输入带有 line3rdp 前缀的应用程序包 ID(例如:line3rdp.$(PRODUCT\_BUNDLE\_IDENTIFIER))。
Warning

实现 LINE 登录功能后,您还必须将其添加到 IdP 连接状态信息