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。
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 是 Android 或 iOS 应用在取得越南发行许可证后用于正式运营服务的构建。在该构建中,使用服务用 Funtap 模块和 token 配置。
事前准备¶
在开始 Service Build 工作之前,必须先从 Funtap 获取服务用 token。Native 请将该值填入 hive_config.xml,Unity 请将其填入 [顶部工具栏 > Hive > HiveConfig > Optional] 的 Funtap token 项。若该值未准备好,则无法完成 Step 2。
Note
Hive 控制台 > Provisioning > SDK 设置中可控制登录后是否显示 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 或 Dependency - iOS] 勾选 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。此时,如果 hive_config.xml 文件中的 skipUseUserCheck 为 true,即使登录成功也不会显示身份认证页面。
如果结果为 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) 打开信息更新页面。此时,如果 hive_config.xml 文件中的 skipUseUserCheck 为 true,则不显示页面并返回成功。








