iOS
本页面指导Hive SDK iOS身份验证配置。
添加功能¶
在您的项目目录中的 Podfile 中添加 身份验证功能框架。仅添加您想要使用的身份验证功能。
要使用设备管理服务,请添加以下框架:
要使用 Google Recaptcha 进行访客登录,请添加以下框架:
pod 'HiveGoogleRecaptcha', $HIVE_SDK_VERSION # Framework for using the Google recaptcha enterprise feature based on bot scores during guest login
根据中国国家新闻出版署发布的《进一步严格管理未成年人网络游戏成瘾的通知》等规定,仅对已获得中国游戏许可证的游戏使用需要实名认证的功能,添加以下框架:
在保存了包含您想要使用的框架的 Podfile 后,运行以下命令以在您的项目中安装这些框架:
添加 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,则只需添加以下框架:
如果是 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 后,运行以下命令以在您的项目中安装这些框架:
由身份提供者的额外设置¶
根据身份提供者(IdP),需要额外的设置。
使用 Apple IdP 设置登录¶
以下是设置“使用 Apple IdP 登录”的说明。请按照以下步骤将 Apple 登录添加到您的 IdP 列表中。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用。
- 点击“签名与能力”选项卡。
- 点击“签名与能力”选项卡左上角的 + 能力 按钮。
-
从列表中选择 使用 Apple 登录 以添加它。
-
你可以在“签名与能力”列表中看到添加的 使用 Apple 登录。
苹果游戏中心 IdP 设置¶
以下是设置 Apple Game Center IdP 的说明。按照这些步骤将 Apple Game Center 登录添加到您的 IdP 列表中。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用。
- 点击 Signing & Capabilities 标签。
- 点击 Signing & Capabilities 标签左上角的 + Capability 按钮。
-
从列表中选择 GameCenter 以添加它。
-
你可以在“签名与功能”列表中看到添加的游戏中心。
Facebook IdP 设置¶
以下是设置 Facebook IdP 的说明。
输入 Facebook AppID 和 ClientToken¶
按照以下说明在您的 Xcode 项目中输入 Facebook AppID 和 ClientToken。
- 在 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,点击 + 按钮,并添加以下 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。
- 从 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 信息 标签。
- 在 信息 标签中点击 自定义 iOS 目标属性 项,并将 VK 数据(
vkauthorize
,vk-share
,vk
)添加到 LSApplicationQueriesSchemes。 - 在 信息 标签中点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
- 在 附加 URL 类型属性 项下的 URL Schemes 字段中输入带有 vk 前缀的 VK AppID(例如:
Vk1231234
)。
WeChat IdP 设置¶
以下是设置微信身份提供者的说明。
输入微信appid¶
按照下面的说明在您的 Xcode 项目中输入 WeChat AppID。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 单击 信息 选项卡。
- 在 信息 选项卡中单击 URL 类型 项,然后单击 + 图标以创建 附加 URL 类型属性 项。
- 在 附加 URL 类型属性 项下的 URL Schemes 字段中输入 标识符: weixin,weixinULAPI,URL Schemes: APP_ID。
Note
使用微信 IdP 和 Hive SDK 促销一起时,您需要申请 Universal Link。
Google IdP 设置¶
以下是设置 Google IdP 的说明。
输入反向客户端 ID¶
按照以下说明在您的 Xcode 项目中输入反向客户端 ID。
- 在 Xcode 项目窗口的项目导航器中选择你的项目。
- 从 TARGETS 列表中选择你的应用。
- 点击 信息 标签。
- 在 信息 标签中点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
- 在 附加 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 后,运行以下命令以在您的项目中安装框架:
输入应用程序包 ID¶
按照下面的说明在您的 Xcode 项目中输入 App Bundle ID。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用。
- 点击 信息 标签。
- 在 信息 标签中点击 自定义 iOS 目标属性 项,并将 LINE 数据 (
lineauth2
) 添加到 LSApplicationQueriesSchemes。 - 点击 URL 类型 项,然后点击 + 图标以创建 附加 URL 类型属性 项。
- 在 附加 URL 类型属性 项下的 URL Schemes 字段中输入带有
line3rdp
前缀的应用程序包 ID(例如:line3rdp.$(PRODUCT\_BUNDLE\_IDENTIFIER)
)。
Warning
实现 LINE 登录功能后,您还必须将其添加到 IdP 连接状态信息。