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的鍵值¶
輸入從每個 IdP 控制台獲得的鍵值到 hive_config.xml。如需更多詳細信息,請參閱 身份驗證先決條件。
由 IdP 提供的附加設定¶
根據身份提供者(IdP),需要額外的配置。
使用 Apple IdP 設定登入¶
本指南提供了設置 Apple IdP 登入的指示。請按照以下步驟將 Apple 登入添加到 IdP 列表中。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用。
- 点击 Signing & Capabilities 选项卡。
- 点击 Signing & Capabilities 选项卡左上角的 + Capability 按钮。
-
从列表中选择 Sign In with Apple 以添加它。
6. 您可以看到使用 Apple 登入已添加到簽署和功能列表中。
Apple 遊戲中心 IdP 設定¶
這是一個設置 Apple Game Center IdP 的指南。請按照以下步驟將 Apple Game Center 登錄添加到 IdP 列表中。
- 在 Xcode 项目窗口中,在项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击“签名和功能”选项卡。
- 点击“签名和功能”选项卡左上角的 + 功能 按钮。
-
从列表中选择 GameCenter 以添加它。
您可以查看添加到簽名和功能列表中的遊戲中心。
Facebook IdP 配置¶
這是設置 Facebook IdP 的指南。
輸入 Facebook appid 和 clienttoken¶
按照以下指示在您的 Xcode 项目中输入 Facebook AppID 和 ClientToken。
Facebook 客戶端令牌可以在 Facebook 控制台 的 應用程式設定 > 進階設定 中找到。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 Info 选项卡。
-
在 Info 选项卡中,点击自定义 iOS 目标属性项,并在 FacebookAppID 属性中输入 Facebook 应用程序 ID。
5. 在 Facebook 控制台 App Dashboard,前往 Settings > Advanced > Security > Client Token 以檢查 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 計劃添加到白名單中,您可以使用專案視窗或直接將代碼添加到 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 appid¶
按照以下指示在 Xcode 项目中输入 VK AppID。
- 在 Xcode 项目窗口的项目导航器中选择您的项目。
- 从 TARGETS 列表中选择您的应用程序。
- 点击 信息 标签。
- 在 信息 标签中,点击 自定义 iOS 目标属性 项目,并将 VK 数据添加到 LSApplicationQueriesSchemes (
vkauthorize
,vk-share
,vk
)。 - 在 信息 标签中,点击 URL 类型 项目,然后点击 + 图标以创建 附加 URL 类型属性 项目。
- 在 附加 URL 类型属性 项目下,在 URL Schemes 字段中输入带有 vk 前缀的 VK AppID(例如,
Vk1231234
)。
WeChat IdP 配置¶
這是一份設置 WeChat IdP 的指南。
輸入 WeChat appid¶
按照以下指示在 Xcode 项目中输入 WeChat AppID。
-
在 Xcode 项目窗口中,在项目导航器中选择您的项目。
-
从 TARGETS 列表中选择您的应用程序。
-
点击 信息 选项卡。
-
在 信息 选项卡中,点击 URL 类型 部分,然后点击 + 图标以创建 附加 URL 类型属性 条目。
-
在 附加 URL 类型属性 条目下的 URL 方案字段中,输入 标识符: weixin、weixinULAPI、URL 方案: APP_ID。
Note
當使用 WeChat 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 方案字段中,输入带有
hive.x
前缀的应用程序包 ID(例如,hive.x.$(PRODUCT\_BUNDLE\_IDENTIFIER)
)。