iOS
本指南提供了在 iOS 上设置 Hive SDK 认证功能的说明。
功能添加¶
将身份验证功能框架添加到项目目录中的Podfile中。仅添加您想要使用的身份验证功能。
要使用设备管理服务,请添加以下框架。
要在访客登录中使用Google Recaptcha,请添加以下框架。
pod 'HiveGoogleRecaptcha', $HIVE_SDK_VERSION # 게스트 로그인시 봇 점수 기반의 Google recaptcha enterprise 기능을 사용하기 위한 프레임워크
根据中国国家新闻出版署发布的[关于加强未成年人网络游戏成瘾管理的通知]及其他相关规定,为了使用需要用户在中国进行实名认证的功能,只有获得中国许可证的游戏必须添加以下框架。
在保存了添加了框架的 Podfile 后,运行下面的命令以在项目中安装该框架。
添加 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,仅需添加以下框架。
如果您使用的是 iOS 13 或更高版本,请添加以下框架。
pod 'HiveAuthV4ProviderLine', $HIVE_SDK_VERSION # Line IdP
pod 'HiveAuthV4ProviderLine/LineSDKSwift11', $HIVE_SDK_VERSION # Line idp(5.11.0 / iOS 13 이상)
在保存了包含添加框架的 Podfile 后,运行下面的命令以在项目中安装该框架。
在hive_config.xml中输入每个IdP的键值¶
在hive_config.xml中输入从每个IdP控制台获得的密钥值。有关更多详细信息,请参阅身份验证先决条件。
由 IdP 提供的附加设置¶
根据身份提供者(IdP)的不同,需要额外的配置。
使用 Apple IdP 设置登录¶
本指南提供了设置 Apple IdP 登录的说明。请按照以下步骤将 Apple 登录添加到 IdP 列表中。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击“签名与能力”选项卡。
- 点击“签名与能力”选项卡左上角的 + 能力 按钮。
-
从列表中选择 使用 Apple 登录 以添加它。
6. 你可以看到 使用 Apple 登录 已添加到签名和功能列表中。
苹果游戏中心 IdP 设置¶
这是一个关于设置 Apple Game Center IdP 的指南。请按照以下步骤将 Apple Game Center 登录添加到 IdP 列表中。
- 在 Xcode 项目窗口中,在项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击“Signing & Capabilities”选项卡。
- 点击“+ Capability”按钮,位于“Signing & Capabilities”选项卡的左上角。
-
从列表中选择“GameCenter”以添加它。
您可以检查添加到“签名与能力”列表中的游戏中心。
Facebook IdP 配置¶
这是设置 Facebook IdP 的指南。
输入 Facebook appid 和 clienttoken¶
按照下面的说明在您的 Xcode 项目中输入 Facebook AppID 和 ClientToken。
Facebook 客户端令牌可以在 Facebook 控制台 的 应用设置 > 高级设置 下找到。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 Info 选项卡。
-
在 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 文档
- 在 Xcode 项目窗口中,从项目导航器中选择你的项目。
- 从 TARGETS 列表中选择你的应用。
- 点击 Info 选项卡。
- 在 Info 选项卡中,点击 LSApplicationQueriesSchemes,然后点击 + 按钮以添加以下两个方案。
- fbapi
- fb-messenger-share-api
还有一种方法可以直接将下面的代码添加到 Info.plist 中。
QQ IdP 设置¶
这是设置 QQ IdP 的指南。
将 QQ 方案添加到白名单¶
要将 QQ 方案添加到白名单中,您可以使用项目窗口或直接将代码添加到 Info.plist 文件中。
- 在 Xcode 项目窗口中,在项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 Info 选项卡。
- 在 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。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 信息 选项卡。
- 在 信息 选项卡中,点击 自定义 iOS 目标属性 项,并将 VK 数据添加到 LSApplicationQueriesSchemes (
vkauthorize
,vk-share
,vk
)。 - 在 信息 选项卡中,点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
- 在 附加 URL 类型属性 项下,在 URL Schemes 字段中输入带有 vk 前缀的 VK AppID(例如,
Vk1231234
)。
WeChat IdP 配置¶
这是一个设置微信身份提供者(IdP)的指南。
输入微信appid¶
按照以下说明在 Xcode 项目中输入 WeChat AppID。
- 在 Xcode 项目窗口中,在项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 信息 选项卡。
- 在 信息 选项卡中,点击 URL 类型 部分,然后点击 + 图标以创建 附加 URL 类型属性 条目。
- 在 附加 URL 类型属性 条目的 URL 方案字段中,输入 标识符: weixin, weixinULAPI, URL 方案: APP_ID。
Note
使用微信 IdP 和 Hive SDK 推广时,您必须申请 Universal Link。
Google IdP 配置¶
这是一个设置 Google IdP 的指南。
输入的反向客户端ID¶
按照下面的说明在您的 Xcode 项目中输入反向客户端 ID。
- 在 Xcode 项目窗口中,在项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用程序。
- 点击 信息 选项卡。
- 在 信息 选项卡中点击 URL 类型 部分,然后点击 + 图标以创建 附加 URL 类型属性 条目。
- 在 附加 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 后,运行下面的命令以在项目中安装框架。
输入应用程序包 ID¶
按照下面的说明在 Xcode 项目中输入应用程序包 ID。
- 在 Xcode 项目窗口中,在项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击信息选项卡。
- 在信息选项卡中,点击自定义 iOS 目标属性项,并将 LINE 数据 (
lineauth2
) 添加到LSApplicationQueriesSchemes。 - 在信息选项卡中,点击URL 类型项,然后点击+图标以创建附加 URL 类型属性项。
- 在附加 URL 类型属性项下的 URL Schemes 字段中,输入带有
line3rdp
前缀的应用程序包 ID(例如,line3rdp.$(PRODUCT\_BUNDLE\_IDENTIFIER)
)。
Warning
实现 LINE 登录功能后,您还必须将其添加到IdP 集成状态信息。
X IdP 配置¶
这是关于设置 X IdP 的指南。
输入应用程序包 ID¶
按照下面的说明在 Xcode 项目中输入应用程序包 AppID。
- 在 Xcode 项目窗口中,从项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 信息 标签。
- 在 信息 标签中点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
- 在 附加 URL 类型属性 项下的 URL Schemes 字段中,输入带有
hive.x
前缀的应用程序包 ID(例如,hive.x.$(PRODUCT\_BUNDLE\_IDENTIFIER)
)。