ข้ามไปที่เนื้อหา

คู่มือการเชื่อมต่อพับลิชเชอร์ Funtap

ภาพรวม

คู่มือการเชื่อมต่อ Software Development Kit(SDK) ของผู้เผยแพร่ Funtap อธิบายวิธีนำ SDK นี้ไปใช้กับเกม Android หลังจากทำสัญญาเผยแพร่กับ Funtap เสร็จสิ้น เพื่อจัดเตรียม Appraisal Build สำหรับการตรวจพิจารณาการเผยแพร่ในเวียดนามและ Service Build สำหรับให้บริการจริง. Hive SDK จะเชื่อมต่อ User Interface(UI) และ Application Programming Interface(API) ที่จำเป็นต่อหน้าจอเข้าสู่ระบบและฟังก์ชันอัปเดตข้อมูลผู้ใช้ โดยใช้โมดูล Funtap และค่าการตั้งค่าที่แตกต่างกันตามประเภทของบิลด์. เมื่อนำการกำหนดค่านี้ไปใช้ คุณจะสามารถเตรียมบิลด์ Android ที่สอดคล้องกับนโยบายการให้บริการในเวียดนามและข้อกำหนดของภาครัฐได้.

วิธีใช้ Appraisal Build

Appraisal Build คือบิลด์ที่ใช้ส่งเพื่อตรวจพิจารณาใบอนุญาตการเผยแพร่ในเวียดนาม. ในบิลด์นี้ ฟังก์ชันเข้าสู่ระบบ Funtap ต้องทำงานได้ตามปกติ.

การเตรียมการล่วงหน้า

ก่อนเริ่มงาน Appraisal Build คุณต้องได้รับ appKey สำหรับการตรวจพิจารณาจาก Funtap ก่อน. ใน Native ให้ใส่ค่านี้ใน hive_config.xml และใน Unity ให้ใส่ค่านี้ในรายการ Funtap appKey ที่ แถบเครื่องมือด้านบน > Hive > HiveConfig > Optional. หากยังไม่มีค่านี้ จะไม่สามารถทำ Step 3 ให้เสร็จได้.

Step 1. การตั้งค่าไลบรารี Funtap-Appraisal

ใน Native ให้เพิ่ม dependency สำหรับ Appraisal ลงในไฟล์ build.gradle ระดับโมดูล.

// โมดูล Funtap Appraisal
implementation "com.com2us.android.hive:hive-authv4-provider-funtap-appraisal"

ใน Unity ให้คลิก ExternalDependency ที่ แถบเครื่องมือด้านบน > Hive แล้วเลือกทำเครื่องหมายที่รายการ Funtap-Appraisal.

Step 2. การตั้งค่าสิทธิ์ของไลบรารี Funtap-Appraisal

เพื่อเชื่อมต่อไลบรารี Funtap-Appraisal ให้เพิ่มการตั้งค่าสิทธิ์ต่อไปนี้ในไฟล์ AndroidManifest.xml.

ใน Native ให้เพิ่มสิทธิ์ในไฟล์ AndroidManifest.xml ระดับโมดูล.

  • <project>/app/src/main/AndroidManifest.xml

ใน Unity ให้เพิ่มสิทธิ์ในไฟล์ AndroidManifest.xml ที่เส้นทาง Plugins/Android.

  • <project>/Assets/Plugins/Android/AndroidManifest.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 ให้เพิ่ม appKey ที่ได้รับจากผู้เผยแพร่ Funtap ลงในไฟล์ hive_config.xml.

<funtap-appraisal appKey="YOUR_APP_KEY" />

ใน Unity ให้คลิก Optional ที่ แถบเครื่องมือด้านบน > Hive > HiveConfig แล้วป้อนคีย์ที่ออกให้ในรายการ appKey ของ Funtap.

Step 4. การตรวจสอบการทำงานของการเข้าสู่ระบบ Funtap

ใน Appraisal Build ให้เรียกการเข้าสู่ระบบ Funtap เพื่อตรวจสอบว่าหน้าจอเข้าสู่ระบบแสดงอย่างถูกต้องและสามารถเข้าสู่ระบบได้สำเร็จ. Hive SDK ฝัง Funtap SDK ไว้ภายใน และใช้ ProviderType.FUNTAP เมื่อเรียก AuthV4.signIn(). เมื่อเข้าสู่ระบบสำเร็จ กระบวนการถัดไปที่จำเป็นสำหรับการเชื่อมต่อกับผู้เผยแพร่จะดำเนินการโดยอัตโนมัติภายใน Funtap SDK.

Caution

ใช้การเข้าสู่ระบบ ProviderType.FUNTAP เฉพาะใน Appraisal Build เท่านั้น. ใน Service Build จะไม่ใช้ประเภทการเข้าสู่ระบบนี้.

using hive;

AuthV4.signIn(AuthV4.ProviderType.FUNTAP, (ResultAPI result, AuthV4.PlayerInfo playerInfo) => {
    if (result.isSuccess()) {
        // เข้าสู่ระบบ ProviderType FUNTAP สำเร็จ
    }
});
#include <HIVE_SDK_Plugin/HIVE_CPP.h>

AuthV4::signIn(ProviderType::FUNTAP, [=](ResultAPI const & result, PlayerInfo const & playerInfo) {
    if (result.isSuccess()) {
        // เข้าสู่ระบบ ProviderType FUNTAP สำเร็จ
    }
});
import com.hive.AuthV4
import com.hive.ResultAPI

AuthV4.signIn(AuthV4.ProviderType.FUNTAP, object : AuthV4.AuthV4SignInListener {
    override fun onAuthV4SignIn(result: ResultAPI, playerInfo: AuthV4.PlayerInfo?) {
        if (result.isSuccess) {
            // เข้าสู่ระบบ ProviderType FUNTAP สำเร็จ
        }
    }
})
import com.hive.AuthV4;
import com.hive.ResultAPI;

AuthV4.signIn(AuthV4.ProviderType.FUNTAP, (result, playerInfo) -> {
    if (result.isSuccess()) {
        // เข้าสู่ระบบ ProviderType FUNTAP สำเร็จ
    }
});

วิธีใช้ Service Build

Service Build คือบิลด์ที่ใช้ให้บริการจริงหลังจากได้รับใบอนุญาตการเผยแพร่ในเวียดนามแล้ว. ในบิลด์นี้จะใช้โมดูล Funtap สำหรับบริการจริงและการตั้งค่า token.

การเตรียมการล่วงหน้า

ก่อนเริ่มงาน Service Build คุณต้องได้รับ token สำหรับบริการจริงจาก Funtap ก่อน. ใน Native ให้ใส่ค่านี้ใน hive_config.xml และใน Unity ให้ใส่ค่านี้ในรายการ Funtap token ที่ แถบเครื่องมือด้านบน > Hive > HiveConfig > Optional. หากยังไม่มีค่านี้ จะไม่สามารถทำ Step 2 ให้เสร็จได้.

Note

Hive Console > Provisioning > การตั้งค่า SDK คุณสามารถควบคุมได้ว่าจะแสดงการยืนยันตัวตนของ Funtap หลังการเข้าสู่ระบบหรือไม่ สำหรับ Hive SDK v4 Android เท่านั้น.

ฟังก์ชัน Service Build จะใช้งานหลังจากเกมดำเนินขั้นตอนการเข้าสู่ระบบที่มีอยู่เดิมให้เสร็จก่อน. เมื่อเข้าสู่ระบบสำเร็จ ให้ใช้ PlayerID ที่ได้รับจากการตอบกลับ PlayerInfo เป็น userId ของ Funtap API ในขั้นตอนถัดไป.

Step 1. การตั้งค่าไลบรารี Funtap

ใน Native ให้เพิ่ม dependency สำหรับบริการจริงลงในไฟล์ build.gradle ระดับโมดูล.

// โมดูล Funtap Service
implementation "com.com2us.android.hive:hive-authv4-provider-funtap"

ใน Unity ให้คลิก ExternalDependency ที่ แถบเครื่องมือด้านบน > Hive แล้วเลือกทำเครื่องหมายที่รายการ Funtap.

Step 2. การใช้ค่าการตั้งค่าของผู้เผยแพร่ Funtap (token)

ใน Native ให้เพิ่ม token ที่ได้รับจากผู้เผยแพร่ Funtap ลงในไฟล์ hive_config.xml.

<funtap token="YOUR_TOKEN" />

ใน Unity ให้คลิก Optional ที่ แถบเครื่องมือด้านบน > Hive > HiveConfig แล้วป้อนคีย์ที่ออกให้ในรายการ token ของ Funtap.

Step 3. การตรวจสอบว่ามีการตรวจสอบจากภาครัฐหรือไม่

เมื่อต้องตัดสินใจว่าจะแสดงเมนูอัปเดตข้อมูลด้วยตนเองใน Service Build หรือไม่ ก่อนอื่นผู้ใช้ต้องเข้าสู่ระบบสำเร็จก่อน. หลังจากเข้าสู่ระบบ เมื่อเปิดหน้าข้อมูลตัวละครหรือหน้าการตั้งค่า ให้เรียก ProviderFuntap.isFuntapUnderGovernmentReview() เพื่อตรวจสอบว่ากำลังมีการตรวจสอบอยู่หรือไม่. หากผลลัพธ์เป็น true แสดงว่าอยู่ในช่วงตรวจสอบตามข้อกำหนดของภาครัฐ ดังนั้น Hive SDK จะแสดงหน้าจอยืนยันตัวตนแบบ WebView โดยอัตโนมัติทันทีหลังเข้าสู่ระบบดังภาพด้านล่าง. ในกรณีนี้ไม่ต้องแสดง UI อัปเดตข้อมูลด้วยตนเองแยกต่างหาก.

ตัวอย่างหน้าต่างป๊อปอัปยืนยันตัวตน

หากผลลัพธ์เป็น false ให้ไปยัง step ถัดไป.

using hive;

bool result = ProviderFuntap.isFuntapUnderGovernmentReview();
#include <HIVE_SDK_Plugin/HIVE_CPP.h>

bool result = ProviderFuntap::isFuntapUnderGovernmentReview();
import com.hive.ProviderFuntap

val result = ProviderFuntap.isFuntapUnderGovernmentReview()
import com.hive.ProviderFuntap;

boolean result = ProviderFuntap.isFuntapUnderGovernmentReview();

Step 4. การตรวจสอบว่ากรอกข้อมูลผู้ใช้ครบถ้วนหรือไม่

หากผลลัพธ์ของ Step 3 เป็น false ต้องพิจารณาว่าผู้ใช้สามารถดำเนินการอัปเดตข้อมูลด้วยตนเองได้หรือไม่. สำหรับ userId ให้ส่ง PlayerID ที่ได้รับจากการตอบกลับ PlayerInfo หลังจากเข้าสู่ระบบสำเร็จในรูปแบบสตริง. รายละเอียดเพิ่มเติมเกี่ยวกับค่าตอบกลับ PlayerInfo โปรดดู ก่อนเริ่มต้น.

หากค่า isCompleted ที่ส่งกลับจากผลการเรียก ProviderFuntap.checkUserInfoComplete(userId) เป็น true แสดงว่ากรอกข้อมูลเสร็จแล้ว จึงไม่ต้องแสดง UI. หากค่า isCompleted เป็น false ให้แสดง UI อัปเดตข้อมูลในขั้นตอนถัดไป.

using hive;

string userId = "USER_ID";

ProviderFuntap.checkUserInfoComplete(userId, (ResultAPI result, bool isCompleted) => {
    if (result.isSuccess()) {
        // หาก isCompleted เป็น false ให้แสดง UI อัปเดตข้อมูล
    }
});
#include <HIVE_SDK_Plugin/HIVE_CPP.h>

std::string userId = "USER_ID";

ProviderFuntap::checkUserInfoComplete(userId, [=](ResultAPI const & result, bool isCompleted) {
    if (result.isSuccess()) {
        // หาก isCompleted เป็น false ให้แสดง UI อัปเดตข้อมูล
    }
});
import com.hive.ProviderFuntap
import com.hive.ResultAPI

val userId = "USER_ID"

ProviderFuntap.checkUserInfoComplete(userId) { result: ResultAPI, isCompleted: Boolean ->
    if (result.isSuccess) {
        // หาก isCompleted เป็น false ให้แสดง UI อัปเดตข้อมูล
    }
}
import com.hive.ProviderFuntap;
import com.hive.ResultAPI;

String userId = "USER_ID";

ProviderFuntap.checkUserInfoComplete(userId, (result, isCompleted) -> {
    if (result.isSuccess()) {
        // หาก isCompleted เป็น false ให้แสดง UI อัปเดตข้อมูล
    }
});

Step 5. การแสดง UI อัปเดตข้อมูล

หากค่า isCompleted ใน Step 4 เป็น false ให้เพิ่มเมนูที่ผู้ใช้สามารถเลือกได้เองในหน้าข้อมูลตัวละครหรือหน้าการตั้งค่า. เมื่อผู้ใช้เลือกเมนูดังกล่าว ให้เรียก ProviderFuntap.showUpdateUserInfo(userId) เพื่อเปิดหน้าจออัปเดตข้อมูล.

using hive;

string userId = "USER_ID";

ProviderFuntap.showUpdateUserInfo(userId, (ResultAPI result) => {
    if (result.isSuccess()) {
        // เรียก API สำเร็จ
    }
});
#include <HIVE_SDK_Plugin/HIVE_CPP.h>

std::string userId = "USER_ID";

ProviderFuntap::showUpdateUserInfo(userId, [=](ResultAPI const & result) {
    if (result.isSuccess()) {
        // เรียก API สำเร็จ
    }
});
import com.hive.ProviderFuntap
import com.hive.ResultAPI

val userId = "USER_ID"

ProviderFuntap.showUpdateUserInfo(userId) { result: ResultAPI ->
    if (result.isSuccess) {
        // เรียก API สำเร็จ
    }
}
import com.hive.ProviderFuntap;
import com.hive.ResultAPI;

String userId = "USER_ID";

ProviderFuntap.showUpdateUserInfo(userId, (result) -> {
    if (result.isSuccess()) {
        // เรียก API สำเร็จ
    }
});