Funtap 發行商對接指南
概要¶
Funtap 發行商 Software Development Kit(SDK) 串接指南說明在與 Funtap 完成發行合約後,如何將此 SDK 套用至應用程式,以建置用於越南發行授權審查的 Appraisal Build 與實際營運用的 Service Build。Hive SDK 會依建置類型使用不同的 Funtap 模組與設定值,串接登入畫面與使用者資訊更新功能所需的 User Interface(UI) 與 Application Programming Interface(API)。套用此配置後,即可準備符合越南服務政策與政府法規的建置版本。
Appraisal Build 套用方式¶
Appraisal Build 是 Android 應用程式提交越南發行授權審查的建置版本。在此建置中,Funtap 登入功能必須可正常運作。
事前準備¶
在開始 Appraisal Build 作業之前,必須先向 Funtap 取得審核用 appKey。Native 請將此值輸入至 hive_config.xml,Unity 請在 [上方工具列 > Hive > HiveConfig > Optional] 的 Funtap appKey 項目中輸入此值。若未準備好該值,則無法完成 Step 3。
步驟 1. 設定 Funtap-Appraisal 程式庫¶
Native 請在模組層級的 build.gradle 檔案中新增 Appraisal 用相依性。
// Funtap Appraisal 模組
implementation "com.com2us.android.hive:hive-authv4-provider-funtap-appraisal"
在 Unity 中,於 [上方工具列 > Hive] 點擊 ExternalDependency 後,勾選 Funtap-Appraisal 項目。
在 Unreal Engine 中,於 [Edit > Project Settings > Hive SDK > Dependency - Android] 勾選 Funtap-Appraisal 項目。
步驟 2. 設定 Funtap-Appraisal 程式庫權限¶
為了整合 Funtap-Appraisal 函式庫,請在 AndroidManifest.xml 檔案中新增以下權限設定。
在 Native 中,請在模組層級的 AndroidManifest.xml 檔案中新增權限。
- <project>/app/src/main/AndroidManifest.xml
在 Unity 中,請在 Plugins/Android 路徑的 AndroidManifest.xml 檔案中新增權限。
- <project>/Assets/Plugins/Android/AndroidManifest.xml
在 Unreal Engine 中,請在 Plugins/HIVESDK/Source/HiveSDKAndroid 路徑的 HiveSDKAndroid_UPL.xml 檔案中新增權限。
- <project>/Assets/Plugins/HIVESDK/Source/HiveSDKAndroid/HiveSDKAndroid_UPL.xml
請新增下列權限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
步驟 3. 套用 Funtap 發行商設定值(appKey)¶
Native 請在 hive_config.xml 檔案中新增從 Funtap 發行商取得的 appKey。
在 Unity 中,於 [上方工具列 > Hive > HiveConfig] 點擊 Optional 後,在 Funtap 的 appKey 項目中輸入已核發的金鑰。
在 Unreal Engine 中,於 [Edit > Project Settings > Hive Config > Android] 展開 FuntapAppraisal 項目後,在 appKey 項目中輸入已核發的金鑰。
步驟 4. 確認 Funtap 登入動作¶
在 Appraisal Build 中,請呼叫 Funtap 登入,確認登入畫面是否正常顯示且能成功登入。Hive SDK 已內建 Funtap SDK,呼叫 AuthV4.signIn() 時請使用 ProviderType.FUNTAP。登入成功後,發行商串接所需的後續處理會在 Funtap SDK 內部自動進行。
Caution
ProviderType.FUNTAP 登入僅用於 Appraisal Build。Service Build 不使用此登入類型。
Service Build 套用方式¶
Service Build 是 Android 或 iOS 應用程式在取得越南發行授權後用於實際營運服務的建置版本。在此建置中,會使用服務用 Funtap 模組與 token 設定。
事前準備¶
在開始 Service Build 作業之前,必須先向 Funtap 取得服務用 token。Native 請將此值輸入至 hive_config.xml,Unity 請在 [上方工具列 > Hive > HiveConfig > Optional] 的 Funtap token 項目中輸入此值。若未準備好該值,則無法完成 Step 2。
Note
Hive 控制台 > 佈建 > SDK 設定可控制登入後是否顯示 Funtap 實名驗證。
Service Build 功能需先完成遊戲中已套用的登入流程後再使用。登入成功後,請將 PlayerInfo 回應中取得的 PlayerID 作為後續 Funtap API 的 userId 使用。
步驟 1. 設定 Funtap 程式庫¶
Native 請在模組層級的 build.gradle 檔案中新增服務用相依性。
在 Unity 中,於 [上方工具列 > Hive] 點擊 ExternalDependency 後,勾選 Funtap 項目。
在 Unreal Engine 中,於 [Edit > Project Settings > Hive SDK > Dependency - Android 或 Dependency - iOS] 勾選 Funtap 項目。
步驟 2. 套用 Funtap 發行商設定值(token)¶
Native 請在 hive_config.xml 檔案中新增從 Funtap 發行商取得的 token。
在 Unity 中,於 [上方工具列 > Hive > HiveConfig] 點擊 Optional 後,在 Funtap 的 token 項目中輸入已核發的金鑰。
在 Unreal Engine 中,於 [Edit > Project Settings > Hive Config > Android] 展開 Funtap 項目後,在 token 項目中輸入已核發的金鑰。
步驟 3. 確認是否處於政府審查期間¶
在 Service Build 中,決定是否顯示手動資訊更新選單時,必須先確保使用者已登入成功。登入後開啟角色資訊畫面或設定畫面時,呼叫 ProviderFuntap.isFuntapUnderGovernmentReview() 以確認是否正在進行檢查。若結果為 true,代表處於政府法規檢查期間,因此 Hive SDK 會在登入後立即以 WebView 形式自動顯示如下的實名驗證畫面。此情況下不會另外顯示手動資訊更新 UI。此時,若 hive_config.xml 檔案中的 skipUseUserCheck 為 true,即使登入成功也不會顯示實名驗證畫面。
結果為 false 時,請進行下一個步驟。
步驟 4. 確認使用者資訊輸入是否完成¶
若步驟 3 的結果為 false,則需要判斷使用者是否可手動進行資訊更新。請將登入成功後於 PlayerInfo 回應中取得的 PlayerID 以字串形式傳入 userId。有關 PlayerInfo 回應值的詳細內容,請參閱 開始之前。
ProviderFuntap.checkUserInfoComplete(userId) 呼叫結果傳回的 isCompleted 值若為 true,表示已完成資訊輸入,因此不顯示 UI。若 isCompleted 值為 false,則在下一個步驟提供資訊更新 UI。
#include "HiveProviderFuntap.h"
FString UserId = "USER_ID";
FHiveProviderFuntap::CheckUserInfoComplete(UserId, FHiveProviderFuntapOnCheckUserInfoCompleteDelegate::CreateLambda([this](const FHiveResultAPI& Result, bool bIsCompleted) {
if (Result.IsSuccess()) {
// 若 isCompleted 為 false,則顯示資訊更新 UI
}
}));
步驟 5. 顯示資訊更新 UI¶
在 Step 4 中,若 isCompleted 值為 false,則在角色資訊畫面或設定畫面提供可由使用者自行選擇的選單。使用者選擇該選單時,呼叫 ProviderFuntap.showUpdateUserInfo(userId) 開啟資訊更新畫面。此時,若 hive_config.xml 檔案中的 skipUseUserCheck 為 true,則不顯示畫面並回傳成功。








