iOS
Hive SDK 在 iOS 上使用认证功能的设置指南。
功能添加¶
在项目目录的 Podfile 中添加认证功能框架。仅添加您想要使用的认证功能。
要使用设备管理服务,请添加以下框架。
要在访客登录中使用Google Recaptcha,请添加以下框架。
pod 'HiveGoogleRecaptcha', $HIVE_SDK_VERSION # 게스트 로그인시 봇 점수 기반의 Google reCAPTCHA Enterprise 기능을 사용하기 위한 프레임워크
根据中国国家新闻出版署发布的[关于未成年人在线游戏成瘾的更严格管理通知]等相关规定,只有获得中国版号的游戏,才允许在中国接入的用户进行实名认证功能,请添加以下框架。
保存添加了要使用的框架的 Podfile 后,执行以下命令以在项目中安装框架。
添加 IdP¶
在项目目录的 Podfile 中添加 IdP 框架。仅添加要使用的 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
使用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 后,执行以下命令以在项目中安装框架。
IdP的额外设置¶
根据IdP需要进行额外设置。
使用 Apple IdP 设置¶
这是使用 Apple IdP 的设置指南。请按照以下步骤将 Apple 登录添加到 IdP 列表中。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Signing & Capabilities 标签。
- 点击 Signing & Capabilities 标签左上角的 + Capability 按钮。
-
从列表中选择 Sign In with Apple 进行添加。
6. 可以查看添加到 Signing & Capabilities 列表中的 使用 Apple 登录。
Apple Game Center IdP 设置¶
这是使用Apple Game Center IdP的设置指南。请按照以下步骤将Apple Game Center登录添加到IdP列表中。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Signing & Capabilities 选项卡。
- 点击 Signing & Capabilities 选项卡左上角的 + Capability 按钮。
-
从列表中选择 GameCenter 并添加。
-
可以在“签名和功能”列表中找到添加的 Game Center。
Facebook IdP 设置¶
以下是使用Facebook IdP的设置指南。
输入 Facebook AppID 和 ClientToken¶
请按照以下说明在 Xcode 项目中输入 Facebook AppID 和 ClientToken。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Info 选项卡。
-
在 Info 选项卡中点击 Custom iOS Target Properties 项目,并在 FacebookAppID 属性中输入 Facebook 应用 ID。
5. 在 Facebook 控制台 应用仪表板 中,进入 设置 > 高级 > 安全 > 客户端令牌 并确认 FacebookClientToken。 6. 点击 Info 标签中的 Custom iOS Target Properties 项,并在 FacebookClientToken 属性中输入 FacebookClientToken。 7. 点击 Info 标签中的 URL Types 项,然后点击 + 图标以创建 Additional url type properties 项。 8. 在 Additional url type properties 项的 URL Schemes 中输入附加 fb 的 Facebook AppID(例如:
fb012342478841523
)。
将Facebook方案添加到白名单¶
要将Facebook Scheme添加到白名单,可以使用项目窗口或直接在Info.plist文件中添加代码。
Note
从 iOS 9 开始,只有在白名单中添加的 Scheme 才允许切换到外部应用程序。当用户在 iOS 9 环境中通过您的游戏登录 Facebook 时,Hive 平台将利用 Safari 视图控制器,通过 Safari 网页视图进行 Facebook 登录。因此,游戏应用程序不会切换到 Facebook 应用程序,而是可以通过应用内部的浏览器处理登录。Facebook 建议默认将 Facebook Scheme 注册到白名单中。 查看 Facebook SDK 文档
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Info 选项卡。
- 点击 Info 选项卡中的 LSApplicationQueriesSchemes,然后点击 + 按钮添加以下两个 Scheme。
- fbapi
- fb-messenger-share-api
也可以直接将以下代码添加到Info.plist中。
QQ IdP 设置¶
这是使用QQ IdP的设置指南。
将QQ方案添加到白名单¶
要将QQ方案添加到白名单,可以使用项目窗口或直接在Info.plist文件中添加代码。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Info 标签。
- 点击 Info 标签中的 LSApplicationQueriesSchemes,然后点击 + 按钮添加以下 Scheme。
- 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 列表中选择您的应用。
- 点击 Info 标签。
- 在 Info 标签中的 Custom iOS Target Properties 项目中点击并在 LSApplicationQueriesSchemes 中添加 VK 数据(
vkauthorize
,vk-share
,vk
)。 - 点击 Info 标签中的 URL Types 项目,然后点击 + 图标以创建 Additional url type properties 项目。
- 在 Additional url type properties 项目下的 URL Schemes 字段中输入带有 vk 前缀的 VK AppID(例如:
Vk1231234
)。
WeChat IdP 设置¶
为使用WeChat IdP提供设置指南。
输入 WeChat AppID¶
请按照以下说明在 Xcode 项目中输入 WeChat AppID。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Info 标签。
- 在 Info 标签中的 URL Types 项目上点击,然后点击 + 图标以创建 Additional url type properties 项目。
- 在 Additional url type properties 项目下的 URL Schemes 字段中输入 Identifier: weixin、weixinULAPI 和 URL Schemes: APP_ID。
Note
使用 WeChat IdP 和 Hive SDK 促销时,必须应用 Universal Link。
Google IdP 设置¶
这是使用Google IdP的设置指南。
输入反向客户端 ID¶
请按照以下说明在 Xcode 项目中输入反向客户端 ID。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Info 标签。
- 点击 Info 标签中的 URL Types 项,然后点击 + 图标以创建 Additional url type properties 项。
- 在 Additional url type properties 项下的 URL Schemes 字段中,Identifier 处理为空格,URL Schemes 输入 reversed client 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 列表中选择您的应用。
- 点击 Info 标签。
- 在 Info 标签中的 Custom iOS Target Properties 项目中,点击 LSApplicationQueriesShcemes 并添加 LINE 数据(
lineauth2
)。 - 在 Info 标签中的 URL Types 项目中,点击 + 图标以创建 Additional url type properties 项目。
- 在 Additional url type properties 项目下的 URL Schemes 字段中输入带有
line3rdp
前缀的应用程序包 ID(例如:line3rdp.$(PRODUCT\_BUNDLE\_IDENTIFIER)
)。
Warning
实现了通过 LINE 登录功能后,必须在 IdP 连接状态信息 中也添加。
X IdP 设置¶
X IdP的使用设置指南。
输入应用程序包 ID¶
请按照以下说明在 Xcode 项目中输入应用程序包 AppID。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 在 TARGETS 列表中选择您的应用。
- 点击 Info 选项卡。
- 在 Info 选项卡中点击 URL Types 项目,然后点击 + 图标以创建 Additional url type properties 项目。
- 在 Additional url type properties 项目下的 URL Schemes 字段中输入带有
hive.x
前缀的应用程序包 ID(例如:hive.x.$(PRODUCT\_BUNDLE\_IDENTIFIER)
)。