跳转至

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 数据(vkauthorize,vk-share,vk)添加到 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 字段中输入 标识符: weixin,weixinULAPI,URL 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 连接状态信息。