คู่มือการเชื่อมต่อพับลิชเชอร์ Funtap
คู่มือนี้อธิบายวิธีตั้งค่า Service Build ด้วย Hive SDK และเตรียมความพร้อมสำหรับการให้บริการจริง สำหรับแอปที่ทำสัญญาการเผยแพร่กับสโตร์ Funtap เวียดนามเสร็จสมบูรณ์แล้ว
Hive SDK จะใช้โมดูล Funtap และค่าการตั้งค่าตามประเภทบิลด์ เพื่อเชื่อมต่อ UI และ API ที่จำเป็นสำหรับหน้าจอเข้าสู่ระบบและการอัปเดตข้อมูลผู้ใช้ เมื่อใช้การตั้งค่านี้ จะสร้างบิลด์ที่สอดคล้องกับนโยบายบริการและแนวทางข้อกำหนดของภาครัฐเวียดนามได้
Note
เนื่องจากการตั้งค่าบิลด์สำหรับสโตร์เวียดนามไม่แยกบิลด์สำหรับการตรวจสอบออกจาก Service Build ฟีเจอร์การตั้งค่า Appraisal Build ที่เพิ่มใน Hive SDK v4 26.2.0 Android สำหรับการตรวจสอบการเผยแพร่ในเวียดนามจึงถูกลบออกใน 26.5.0
วิธีใช้ Service Build¶
Service Build คือบิลด์ที่ใช้ให้บริการจริงหลังจากแอป Android หรือ iOS ได้รับใบอนุญาตเผยแพร่ในเวียดนามแล้ว บิลด์นี้ใช้โมดูล Funtap สำหรับบริการจริงและการตั้งค่า token
การเตรียมการล่วงหน้า¶
ก่อนเริ่มงาน Service Build คุณต้องได้รับ token สำหรับบริการจาก Funtap ก่อน สำหรับ Native ให้ป้อนค่านี้ใน hive_config.xml และสำหรับ Unity ให้ป้อนในช่อง Funtap token ภายใต้ [แถบเครื่องมือด้านบน > Hive > HiveConfig > Optional] หากยังไม่ได้เตรียมค่านี้ จะไม่สามารถทำ Step 2 ให้เสร็จสิ้นได้
Note
คุณสามารถควบคุมได้ว่าจะแสดงการยืนยันตัวตนของ Funtap หลังจากเข้าสู่ระบบหรือไม่ใน Hive Console > Provisioning > SDK Settings
ฟีเจอร์ Service Build จะใช้หลังจากดำเนินการขั้นตอนการเข้าสู่ระบบที่ใช้ในเกมอยู่แล้วให้เสร็จสิ้นก่อน เมื่อเข้าสู่ระบบสำเร็จ ให้ใช้ PlayerID ที่ได้รับจากการตอบกลับ PlayerInfo เป็น userId สำหรับ Funtap API ในขั้นตอนถัดไป
Step 1. การตั้งค่าไลบรารี Funtap¶
ใน Native ให้เพิ่ม dependency สำหรับบริการจริงลงในไฟล์ build.gradle ระดับโมดูล
ใน Unity ให้คลิก ExternalDependency ที่ [แถบเครื่องมือด้านบน > Hive] แล้วเลือกทำเครื่องหมายที่รายการ Funtap
ใน Unreal Engine ให้เลือกช่อง Funtap ที่ [Edit > Project Settings > Hive SDK > Dependency - Android หรือ Dependency - iOS]
Step 2. การใช้ค่าการตั้งค่าของผู้เผยแพร่ Funtap (token)¶
ใน Native ให้เพิ่ม token ที่ได้รับจากผู้เผยแพร่ Funtap ลงในไฟล์ hive_config.xml
ใน Unity ให้คลิก Optional ใน [แถบเครื่องมือด้านบน > Hive > HiveConfig] แล้วป้อนคีย์ที่ออกให้ในช่อง token ของ Funtap
ใน Unreal Engine ให้ขยายรายการ Funtap ใน [Edit > Project Settings > Hive Config > Android] แล้วป้อนคีย์ที่ออกให้ในช่อง token
Step 3. การตรวจสอบว่ามีการตรวจสอบจากภาครัฐหรือไม่¶
ในการตัดสินใจว่าจะแสดงเมนูอัปเดตข้อมูลด้วยตนเองใน Service Build หรือไม่ ผู้ใช้ต้องเข้าสู่ระบบสำเร็จก่อน
หลังจากเข้าสู่ระบบเสร็จแล้ว ให้เรียก ProviderFuntap.isFuntapUnderGovernmentReview() เมื่อเข้าสู่หน้าข้อมูลตัวละครหรือหน้าการตั้งค่า เพื่อตรวจสอบว่ากำลังมีการตรวจสอบจากภาครัฐหรือไม่ ให้ตัดสินใจว่าจะไปยัง Step ถัดไปหรือไม่ตามค่าที่เมธอดส่งคืน
Step 4. การตรวจสอบว่ากรอกข้อมูลผู้ใช้ครบถ้วนหรือไม่¶
เมื่อจำเป็นต้องกรอกข้อมูลผู้ใช้ ให้เรียก ProviderFuntap.checkUserInfoComplete(userId) เพื่อตรวจสอบว่าการอัปเดตข้อมูลที่จำเป็นเสร็จสมบูรณ์หรือไม่
- สำหรับพารามิเตอร์
userIdให้ส่ง Player ID ที่ได้รับจากการตอบกลับPlayerInfoหลังจากเข้าสู่ระบบสำเร็จในรูปแบบสตริง ดูรายละเอียดเกี่ยวกับค่าการตอบกลับPlayerInfoได้ที่ ก่อนเริ่มต้น - ประมวลผลผลลัพธ์ของ callback:
isCompleted == true: กรอกข้อมูลเสร็จสมบูรณ์แล้ว ให้ไปยัง Step ถัดไปโดยไม่ต้องแสดง 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()) {
// แสดง UI อัปเดตข้อมูลหาก bIsCompleted เป็น false
}
}));
Step 5. การแสดง UI อัปเดตข้อมูล¶
หาก isCompleted เป็น false ใน Step 4 ให้เรียก ProviderFuntap.showUpdateUserInfo(userId, serverId, serverName, characterId, characterName) เพื่อแสดง WebView อัปเดตข้อมูล
Note
หาก skipUpdateUserInfo ในไฟล์ hive_config.xml เป็น true หน้าจอจะไม่แสดงและจะส่งคืนผลสำเร็จ
Note
จัดเตรียมเมนูที่ผู้ใช้เลือกได้ในหน้าข้อมูลตัวละครหรือหน้าการตั้งค่า และทำให้ระบบเรียก API เมื่อผู้ใช้เลือกเมนูดังกล่าว
using hive;
string userId = "USER_ID";
string serverId = "SERVER_ID";
string serverName = "SERVER_NAME";
string characterId = "CHARACTER_ID";
string characterName = "CHARACTER_NAME";
ProviderFuntap.showUpdateUserInfo(userId, serverId, serverName, characterId, characterName, (ResultAPI result) => {
if (result.isSuccess()) {
// เรียก API สำเร็จ
}
});
#include "HiveProviderFuntap.h"
FString UserId = "USER_ID";
FString ServerId = "SERVER_ID";
FString ServerName = "SERVER_NAME";
FString CharacterId = "CHARACTER_ID";
FString CharacterName = "CHARACTER_NAME";
FHiveProviderFuntap::ShowUpdateUserInfo(UserId, ServerId, ServerName, CharacterId, CharacterName, FHiveProviderFuntapOnShowUpdateUserInfoDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess()) {
// เรียก API สำเร็จ
}
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
std::string userId = "USER_ID";
std::string serverId = "SERVER_ID";
std::string serverName = "SERVER_NAME";
std::string characterId = "CHARACTER_ID";
std::string characterName = "CHARACTER_NAME";
ProviderFuntap::showUpdateUserInfo(userId, serverId, serverName, characterId, characterName, [=](ResultAPI const & result) {
if (result.isSuccess()) {
// เรียก API สำเร็จ
}
});
import com.hive.ProviderFuntap
import com.hive.ResultAPI
val userId = "USER_ID"
val serverId = "SERVER_ID"
val serverName = "SERVER_NAME"
val characterId = "CHARACTER_ID"
val characterName = "CHARACTER_NAME"
ProviderFuntap.showUpdateUserInfo(userId, serverId, serverName, characterId, characterName) { result: ResultAPI ->
if (result.isSuccess) {
// เรียก API สำเร็จ
}
}
import com.hive.ProviderFuntap;
import com.hive.ResultAPI;
String userId = "USER_ID";
String serverId = "SERVER_ID";
String serverName = "SERVER_NAME";
String characterId = "CHARACTER_ID";
String characterName = "CHARACTER_NAME";
ProviderFuntap.showUpdateUserInfo(userId, serverId, serverName, characterId, characterName, (result) -> {
if (result.isSuccess()) {
// เรียก API สำเร็จ
}
});
import ProviderFuntap
let userId = "USER_ID";
let serverId = "SERVER_ID";
let serverName = "SERVER_NAME";
let characterId = "CHARACTER_ID";
let characterName = "CHARACTER_NAME";
ProviderFuntapInterface.showUpdateUserInfo(userId, serverId, serverName, characterId, characterName) { result in
if (result.isSuccess()) {
// เรียก API สำเร็จ
}
};




