跳转至

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))。