Funtapパブリッシャー連携ガイド
概要¶
FuntapパブリッシャーのSoftware Development Kit(SDK)連携ガイドでは、Funtapとのパブリッシング契約を完了した後に、このSDKをAndroidゲームへ適用し、ベトナム向けパブリッシング審査用のAppraisal Buildと実サービス用のService Buildを構成する方法を説明します。Hive SDKは、ビルドタイプに応じて異なるFuntapモジュールと設定値を使用し、ログイン画面とユーザー情報更新機能に必要なUser Interface(UI)およびApplication Programming Interface(API)を連携します。この構成を適用すると、ベトナムのサービス方針と政府規制に対応したAndroidビルドを準備できます。
Appraisal Buildの適用方法¶
Appraisal Buildは、ベトナムのパブリッシングライセンス審査に提出するビルドです。このビルドでは、Funtapログイン機能が正常に動作する必要があります。
事前準備¶
Appraisal Build 作業を開始する前に、審査用 appKey を Funtap から提供してもらう必要があります。Native は hive_config.xml に、Unity は [上部ツールバー > Hive > HiveConfig > Optional] の Funtap appKey 項目にこの値を入力します。値が準備できていない場合、Step 3 を完了できません。
Step 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 項目をチェックします。
Step 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" />
Step 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 項目に発行されたキーを入力します。
Step 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は、ベトナムのパブリッシングライセンス取得後に実サービスを運用するビルドです。このビルドでは、サービス用Funtapモジュールとtoken設定を使用します。
事前準備¶
Service Build 作業を開始する前に、サービス用 token を Funtap から提供してもらう必要があります。Native は hive_config.xml に、Unity は [上部ツールバー > Hive > HiveConfig > Optional] の Funtap token 項目にこの値を入力します。値が準備できていない場合、Step 2 を完了できません。
Note
Hiveコンソール > プロビジョニング > SDK設定では、Hive SDK v4 Androidに限り、ログイン後にFuntap本人認証を表示するかどうかを制御できます。
Service Build機能は、ゲームですでに適用したログインフローを先に完了した後に使用します。ログインに成功すると、PlayerInfoレスポンスで受け取ったPlayerIDを以後Funtap APIのuserIdとして使用します。
Step 1. Funtapライブラリの設定¶
Nativeでは、モジュールレベルのbuild.gradleファイルにサービス用の依存関係を追加します。
Unity では [上部ツールバー > Hive] で ExternalDependency をクリックした後、Funtap 項目をチェックします。
Unreal Engine では [Edit > Project Settings > Hive SDK > Dependency - Android] で Funtap 項目をチェックします。
Step 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 項目に発行されたキーを入力します。
Step 3. 政府審査中かどうかの確認¶
Service Buildで手動情報更新メニューを表示するかどうかを決めるには、まずユーザーがログインに成功している必要があります。ログイン後にキャラクター情報画面または設定画面を開くとき、ProviderFuntap.isFuntapUnderGovernmentReview()を呼び出して点検の進行有無を確認します。結果がtrueであれば政府規制の点検期間であるため、Hive SDKがログイン直後にWebView形式の本人認証画面を次のように自動表示します。この場合、手動情報更新UIは別途表示しません。
結果がfalseであれば次のStepに進みます。
Step 4. ユーザー情報入力完了有無の確認¶
Step 3の結果がfalseであれば、ユーザーが手動で情報更新を進められるかどうかを判断する必要があります。userIdには、ログイン成功後にPlayerInfoレスポンスで受け取ったPlayerIDを文字列として渡します。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 を表示
}
}));
Step 5. 情報更新UIの表示¶
Step 4でisCompleted値がfalseであれば、キャラクター情報画面または設定画面に、ユーザーが直接選択できるメニューを提供します。ユーザーがそのメニューを選択すると、ProviderFuntap.showUpdateUserInfo(userId)を呼び出して情報更新画面を開きます。








