跳转至

iOS

本指南提供了在 iOS 上设置 Hive SDK 认证功能的说明。

功能添加

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

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

pod 'HiveDeviceManagement', $HIVE_SDK_VERSION # 앱 사용자의 기기 관리를 위한 프레임워크

要在访客登录中使用Google Recaptcha,请添加以下框架。

pod 'HiveGoogleRecaptcha', $HIVE_SDK_VERSION # 게스트 로그인시 봇 점수 기반의 Google recaptcha enterprise 기능을 사용하기 위한 프레임워크

根据中国国家新闻出版署发布的[关于加强未成年人网络游戏成瘾管理的通知]及其他相关规定,为了使用需要用户在中国进行实名认证的功能,只有获得中国许可证的游戏必须添加以下框架。

pod 'HiveRealNameVerification', $HIVE_SDK_VERSION # 실명 인증 서비스 추가


在保存了添加了框架的 Podfile 后,运行下面的命令以在项目中安装该框架。

pod install

添加 IdP

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


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

pod 'HiveAuthV4ProviderAppleSignIn', $HIVE_SDK_VERSION # Signin with Apple 로그인
pod 'HiveAuthV4ProviderFacebook', $HIVE_SDK_VERSION # Facebook idp, social Facebook 기능
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 # Hive 멤버십 로그인, social hive 기능
pod 'HiveAuthV4ProviderWeverse', $HIVE_SDK_VERSION # Weverse IdP
pod 'HiveAuthV4ProviderSteam', $HIVE_SDK_VERSION # Steam IdP
pod 'HiveAuthV4ProviderX', $HIVE_SDK_VERSION # X IdP
pod 'HiveAuthV4ProviderTelegram', $HIVE_SDK_VERSION # Telegram 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 이상)

在保存了包含添加框架的 Podfile 后,运行下面的命令以在项目中安装该框架。

pod install

hive_config.xml中输入每个IdP的键值

hive_config.xml中输入从每个IdP控制台获得的密钥值。有关更多详细信息,请参阅身份验证先决条件

由 IdP 提供的附加设置

根据身份提供者(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. 点击“+ Capability”按钮,位于“Signing & Capabilities”选项卡的左上角。
  5. 从列表中选择“GameCenter”以添加它。

您可以检查添加到“签名与能力”列表中的游戏中心

Facebook IdP 配置

这是设置 Facebook IdP 的指南。

输入 Facebook appid 和 clienttoken

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

Facebook 客户端令牌可以在 Facebook 控制台应用设置 > 高级设置 下找到。

  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,然后点击 + 按钮以添加以下方案。
    • mqqOpensdkSSoLogin
    • mqqopensdkapiV2
    • mqqopensdkapiV3
    • wtloginmqq2
    • mqq
    • mqqapi
    • mqqopensdknopasteboard
    • mqqopensdknopasteboardios16

还有一种方法可以直接将以下代码添加到 Info.plist 中。

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

VK IdP 配置

这是一个关于设置 VK IdP 的指南。

输入 VK 应用 ID

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

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

WeChat IdP 配置

这是一个设置微信身份提供者(IdP)的指南。

输入微信appid

按照以下说明在 Xcode 项目中输入 WeChat AppID。

  1. 在 Xcode 项目窗口中,在项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用程序。
  3. 点击 信息 选项卡。
  4. 信息 选项卡中,点击 URL 类型 部分,然后点击 + 图标以创建 附加 URL 类型属性 条目。
  5. 附加 URL 类型属性 条目的 URL 方案字段中,输入 标识符: weixin, weixinULAPI, URL 方案: 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 方案 输入为 反向客户端 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|
            ...
            # Linesdkswift 사용 시 pod project 설정 변경필요
           if ['LineSDKSwift'].include? target.name
               config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
           # Xcode 14 에서 발생하는 CocoaPods bundle 타겟에 대한 code signing 컴파일 에러 이슈 대응
           elsif config.build_settings['WRAPPER_EXTENSION'] == 'bundle'
               config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
           end
            ...
       end
   end
end

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

pod install

输入应用程序包 ID

按照下面的说明在 Xcode 项目中输入应用程序包 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 集成状态信息

X IdP 配置

这是关于设置 X IdP 的指南。

输入应用程序包 ID

按照下面的说明在 Xcode 项目中输入应用程序包 AppID。

  1. 在 Xcode 项目窗口中,从项目导航器中选择您的项目。
  2. 从 TARGETS 列表中选择您的应用程序。
  3. 点击 信息 标签。
  4. 信息 标签中点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
  5. 附加 URL 类型属性 项下的 URL Schemes 字段中,输入带有 hive.x 前缀的应用程序包 ID(例如,hive.x.$(PRODUCT\_BUNDLE\_IDENTIFIER))。