วิธีการเริ่มต้น SDK Hive¶
ในการใช้ฟังก์ชัน SDK ของ Hive ในเกม คุณต้องเริ่มต้น Hive SDK หลังจากการเริ่มต้น ข้อตกลงการให้บริการรวมถึงการอัปเดตและป๊อปอัปการแจ้งเตือนที่ลงทะเบียนในคอนโซล Hive จะถูกเปิดเผยโดยอัตโนมัติ
Warning
อย่าลืมตั้งค่าไฟล์ hive_config.xml ก่อนที่จะเริ่มต้น Hive SDK.
วิธีการทำงานของการเริ่มต้น¶
เมื่อ Hive SDK ถูกเริ่มต้น มันจะทำฟังก์ชันต่อไปนี้:
- Hive SDK เริ่มต้นรายการต่อไปนี้ด้วยฟังก์ชันการเริ่มต้นเพียงฟังก์ชันเดียว
- การรับรองความถูกต้อง: เริ่มต้น Hive Client และรับรองผู้ใช้ IdP
- โปรโมชั่น: ทำการโฆษณาและออกคูปอง
- การแจ้งเตือน: จัดการและตั้งค่าข้อความดันไปยังผู้ใช้
- การจัดการการตลาด: สนับสนุนการจัดการทั้งหมดของโมดูลบุคคลที่สามที่ติดตามข้อมูลผู้ใช้ เช่น จำนวนผู้เล่นผ่านการโฆษณาและการวิเคราะห์เหตุการณ์
- Hive SDK ไม่ได้แจ้งสิทธิ์การเข้าถึงแอปโดยตรง สำหรับข้อมูลเพิ่มเติม โปรดตรวจสอบ [คำถามที่พบบ่อย].
- เปิดเผยการอัปเดตและป๊อปอัปการแจ้งเตือนที่ตั้งไว้สำหรับเกมที่เกี่ยวข้อง สำหรับ Google Play store, การอัปเดตในแอป ได้รับการสนับสนุน สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลงทะเบียนป๊อปอัปการอัปเดต โปรดดูที่ คู่มือ Hive Console.
- ตรวจสอบ IP ของผู้ใช้และเปิดเผยข้อกำหนดในการให้บริการตามประเทศ
การอัปเดตในแอป¶
การอัปเดตในแอป เป็นฟีเจอร์ที่ตามการกำหนดค่าป๊อปอัปการอัปเดตจะอัปเดตแอปในพื้นหลังโดยไม่ต้องปิดแอป การอัปเดตในแอปสามารถใช้ได้ภายใต้เงื่อนไขต่อไปนี้
- รองรับเฉพาะ Google Play Store เท่านั้น
- รองรับเฉพาะอุปกรณ์มือถือ Android, แท็บเล็ต Android และอุปกรณ์ ChromeOS
- รองรับทั้งสองรูปแบบไฟล์แอป: AAB (Android App Bundle) และ APK อย่างไรก็ตาม ไฟล์ขยาย APK (.obb ไฟล์) ไม่ได้รับการสนับสนุน
- สำหรับ AAB รองรับขนาดสูงสุด 200MB และสำหรับ APK รองรับขนาดสูงสุด 150MB
Hive แผนภาพการเริ่มต้น¶
ลงทะเบียน Hive คีย์การรับรองความถูกต้อง¶
ด้วย API ของคลาส Configuration ให้ลงทะเบียนคีย์การรับรอง Hive ที่ออกโดยหน้าคอนโซล Hive ก่อนการเริ่มต้น Hive API ที่เกี่ยวข้องมีให้ตั้งแต่เวอร์ชัน 4.15.0 ขึ้นไป
API Reference: Unity®
API Reference: C++
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
string hiveCertKey = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc";
Configuration::setHiveCertificationKey(hiveCertKey);
API Reference: Kotlin
API Reference: Java
เอกสารอ้างอิง API: Swift
API Reference: Objective-C
การตั้งค่าเริ่มต้น¶
ในการเริ่มต้น Hive SDK ให้ดำเนินการ setup()
เมธอดในคลาส AuthV4 ข้อมูลต่อไปนี้จะถูกส่งมอบเป็นผลลัพธ์ ดังนั้นคุณสามารถบันทึกข้อมูลในเกมและใช้มันหากจำเป็น
- ข้อมูลผลลัพธ์ของ Hive การเริ่มต้น
ชื่อฟิลด์ | คำอธิบาย | ตัวอย่าง |
---|---|---|
isAutoSignIn | ว่าการเข้าสู่ระบบอัตโนมัติใช้งานได้หรือไม่ | true |
did | did คือรหัสประจำตัวของอินสแตนซ์แอปที่สร้างขึ้นในระหว่างการติดตั้งแอป ใช้เพื่อระบุอินสแตนซ์แอปของแอปเดียวกัน | 123456789 |
providerTypeList | รายการ IdP ที่มีให้สำหรับแอปปัจจุบัน เป็นฟิลด์ที่จำเป็น ในการใช้เมื่อปรับแต่งการเข้าสู่ระบบแบบชัดเจนหรือประกอบข้อมูลสถานะการซิงค์ IdP | ProviderType.FACEBOOK ProviderType.HIVE |
ต่อไปนี้คือตัวอย่างโค้ดในการ implement วิธีการ setup()
API Reference: AuthV4::setup
#include "HiveAuthV4.h"
FHiveAuthV4::Setup(FHiveAuthV4OnSetupDelegate::CreateLambda([this](const FHiveResultAPI& Result,
bool IsAutoSignIn,
const FString& Did,
const TArray<EHiveProviderType>& ProviderTypeArray)
{
if (Result.IsSuccess()) {
// การเริ่มต้นสำเร็จแล้ว จัดการการเข้าสู่ระบบตามว่าการเข้าสู่ระบบอัตโนมัติเปิดใช้งานหรือไม่
} else if (Result.NeedExit()) {
// TODO: Implement the termination of the app
// ผู้ใช้ของเอนจิน Cocos2d-x
// ex) exit(0);
// การเริ่มต้นล้มเหลว }
}
}));
เอกสารอ้างอิง API: com.hive.AuthV4.setup
API Reference: com.hive.AuthV4.setup
API Reference: HIVEAuthV4:setup
API Reference: HIVEAuthV4:setup
Note
เมื่อบริการเกมถูกยกเลิก จะมีข้อผิดพลาดถูกส่งคืนหากมีการเรียกใช้วิธีการ setup
ป๊อปอัพการบำรุงรักษาเซิร์ฟเวอร์¶
สำหรับบริการเกม จำเป็นต้องบล็อกเวอร์ชันหลังจากการอัปเดตของเกมไคลเอนต์ หรือบล็อกการเชื่อมต่อเกมระหว่างการบำรุงรักษาเซิร์ฟเวอร์เกม Hive มีฟังก์ชันในการแสดงป๊อปอัปในลำดับของ การอัปเดตเกมที่บังคับ, การแจ้งเตือน/การบำรุงรักษาเซิร์ฟเวอร์ ตามข้อมูลที่กำหนดใน Hive Console ในเกม คุณสามารถใช้ UI ที่จัดเตรียมโดย Hive SDK หรือสร้าง UI ที่กำหนดเองโดยการรับข้อมูลจาก Hive
อัปเดตเกมโดย Force | บล็อกเพื่อใช้เวอร์ชันเฉพาะของเกมและให้ลิงก์สำหรับการอัปเดต |
---|---|
การบำรุงรักษาเซิร์ฟเวอร์ | สามารถตั้งสถานะการบำรุงรักษาตามเซิร์ฟเวอร์เกม และแนะนำให้จัดหาลิงก์ชุมชนอย่างเป็นทางการตามเกมในระหว่างการบำรุงรักษาเซิร์ฟเวอร์ |
ประกาศ | ใช้เพื่อเปิดเผยประกาศสำคัญหรือข้อมูลการอัปเดตที่ไม่บังคับต่อผู้ใช้ทั้งหมด |
Note
-
ป๊อปอัพการอัปเดต/บำรุงรักษาเป็นส่วนหนึ่งของขั้นตอนการเริ่มต้น ป๊อปอัพการบำรุงรักษาของเซิร์ฟเวอร์ควรจะแสดงในขั้นตอนการเลือกเซิร์ฟเวอร์ ไม่ว่าจะเป็นการเลือกอัตโนมัติหรือด้วยตนเอง ดังนั้นโปรดตรวจสอบให้แน่ใจว่ามีการดำเนินการป๊อปอัพการบำรุงรักษาให้แสดงอย่างเหมาะสม
-
หากผู้ใช้สามารถรอโดยไม่เริ่มเกมก่อนที่จะเชื่อมต่อกับเซิร์ฟเวอร์เกม คุณไม่สามารถบล็อกการเชื่อมต่อของผู้ใช้ในขณะนี้ได้แม้ว่าคุณจะตั้งค่าป๊อปอัปการบำรุงรักษาเซิร์ฟเวอร์แล้ว สำหรับเรื่องนี้ ป๊อปอัปการบำรุงรักษาเซิร์ฟเวอร์ควรแสดงในช่วงเวลาที่เกมสามารถบังคับยุติการเชื่อมต่อของผู้ใช้ได้
หากมีเซิร์ฟเวอร์เกมมากกว่าหนึ่งเซิร์ฟเวอร์ ข้อมูลเซิร์ฟเวอร์เกมที่ผู้ใช้เลือกหรือตั้งค่าต้องถูกตั้งค่าใน Hive หากผู้ใช้ต้องการเลือกเซิร์ฟเวอร์เกม ให้ดำเนินการสร้าง UI สำหรับการเลือกเซิร์ฟเวอร์เพื่อเปลี่ยนการตั้งค่า Hive โดยการเรียกใช้วิธี setServerId() ของคลาส Configuration ก่อนที่จะแสดงป๊อปอัพประเภทต่างๆ หากคุณต้องการปรับปรุงข้อมูลโปรโมชั่น-ข่าวสารโดยการเปลี่ยนการตั้งค่า Hive ให้เรียกใช้วิธี updateServerId()
ของคลาส Configuration แทนที่จะใช้วิธี setServerId()
หลังจากที่เซิร์ฟเวอร์เกมถูกตั้งค่าเสร็จแล้ว คุณสามารถแสดงป๊อปอัพได้ทุกเมื่อ หากคุณตั้งค่าป๊อปอัพบน Hive Console มันจะบล็อกการเข้าถึงเกมในช่วงเวลาบำรุงรักษา การแสดงป๊อปอัพสามารถใช้ UI ที่จัดเตรียมโดย Hive SDK หรือปรับแต่งตามข้อมูลจาก Hive ได้ ป๊อปอัพการบำรุงรักษาเซิร์ฟเวอร์/ป๊อปอัพการอัปเดต/ป๊อปอัพประกาศสามารถตั้งค่าได้สำหรับแต่ละเซิร์ฟเวอร์เกม
ตั้งค่าข้อมูลป๊อปอัพ¶
ตั้งค่ารายละเอียดของป๊อปอัพการบำรุงรักษาเซิร์ฟเวอร์/ป๊อปอัพการอัปเดต/ป๊อปอัพประกาศบน Hive Console สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า ดูที่ Operation > Provisioning guide.
แสดงป๊อปอัพ¶
Hive SDK แสดงป๊อปอัพการบำรุงรักษา/ป๊อปอัพการอัปเดต/ป๊อปอัพการแจ้งเตือน หรือคืนข้อมูลของข้อความป๊อปอัพสำหรับการปรับแต่งป๊อปอัพ หาก Hive แสดงมัน ป๊อปอัพจะปรากฏในสไตล์ UI ของ Hive แต่ถ้าคุณต้องการทำด้วยตัวเอง คุณสามารถแสดงป๊อปอัพในสไตล์ใดก็ได้ที่คุณต้องการ เรียกใช้เมธอด checkMaintenance() ในคลาส AuthV4 โดยตั้งค่าพารามิเตอร์ตามที่แสดงด้านล่าง ขึ้นอยู่กับว่าคุณกำลังใช้ป๊อปอัพของ Hive หรือไม่
- การใช้ Hive-providing popups: ตั้งค่าพารามิเตอร์
isShow
เป็นtrue
. -
คำขอข้อมูลป๊อปอัพเพื่อปรับแต่งป๊อปอัพ: ตั้งค่าพารามิเตอร์
isShow
เป็นfalse
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลป๊อปอัพ โปรดดูที่ ข้อมูลป๊อปอัพที่ส่งกลับโดย Hive ด้านล่าง.
ต่อไปนี้คือตัวอย่างโค้ดที่แสดงป๊อปอัปการบำรุงรักษาเซิร์ฟเวอร์พร้อมกับ UI ที่จัดเตรียมโดย Hive หากผู้ใช้ปิดป๊อปอัปนี้เมื่อการบำรุงรักษาเซิร์ฟเวอร์ยังไม่เสร็จสิ้น เหตุการณ์ออกจะถูกเรียกและส่งต่อไปยัง ResultAPI result
API Reference: Unity®
using hive;
// Whether to use Hive SDK UI
Boolean isShow = true;
AuthV4.checkMaintenance(isShow, (ResultAPI result, List maintenanceInfoList) => {
if (result.isSuccess()) {
// หากไม่มีข้อมูลการตรวจสอบ
// หาก isShow เป็น false
}
else if (result.needExit()) {
// TODO: Implement app termination functionality
// ตัวอย่าง) Application.Quit();
}
});
#include "HiveAuthV4.h"
// ว่าจะใช้ Hive SDK UI หรือไม่
bool bIsShow = true;
FHiveAuthV4::CheckMaintenance(bIsShow, FHiveAuthV4OnMaintenanceInfoDelegate::CreateLambda([this](const FHiveResultAPI& Result, const TArray<FHiveAuthV4MaintenanceInfo>& AuthV4MaintenanceInfoArray) {
if (Result.IsSuccess()) {
// หากไม่มีข้อมูลการตรวจสอบ
// หาก isShow เป็น false
} else if (Result.NeedExit()) {
// TODO: Implement app termination functionality
// ตัวอย่าง) Application.Quit();
}
}));
API Reference: C++
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
// Whether to use Hive SDK UI
bool isShow = true;
AuthV4::checkMaintenance(isShow, [=](ResultAPI const & result, vector const & maintenanceInfolist){
if (result.isSuccess()) {
// หากไม่มีข้อมูลการตรวจสอบที่ลงทะเบียน
// หาก isShow เป็น false
}
else if (reuslt.needExit()) {
// TODO: Implement app termination functionality
// ผู้ใช้ Cocos2d-x engine
// ตัวอย่าง) exit(0);
// ผู้ใช้ Unreal Engine
// ตัวอย่าง) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
}
});
API Reference: Kotlin
import com.hive.AuthV4
import com.hive.AuthV4
import com.hive.ResultAPI
// Whether to use Hive SDK UI
val isShow = true
AuthV4.checkMaintenance(isShow, object : AuthV4.AuthV4MaintenanceListener {
override fun onAuthV4Maintenance(result: ResultAPI, maintenanceInfo: ArrayList<AuthV4.AuthV4MaintenanceInfo>?) {
if (result.isSuccess) {
// If there is no registered inspection data
// If isShow is false
}
else if (result.needExit()) {
// TODO: Implement app termination functionality
// Example) exitProcess(0)
}
}
})
API Reference: Java
import com.hive.AuthV4;
import com.hive.ResultAPI;
// Whether to use Hive SDK UI
boolean isShow = true;
AuthV4.INSTANCE.checkMaintenance(isShow, (result, maintenanceInfo) -> {
if (result.isSuccess()) {
// If there is no registered inspection data
// If isShow is false
}
else if (result.needExit()) {
// TODO: Implement app termination functionality
// Example) System.exit(0);
}
});
API Reference: Swift
import HIVEService
// Whether to use Hive SDK UI
let isShow = true
AuthV4Interface.checkMaintenance(isShow) { result, maintenances in
if result.isSuccess() {
// หากไม่มีข้อมูลการตรวจสอบจริง
// หาก isShow เป็น false
}
else if result.needExit() {
// TODO: Implement app termination functionality
// ตัวอย่าง) exit(0)
}
}
API Reference: Objective-C
#import <HIVEService/HIVEService-Swift.h>
// Whether to use Hive SDK UI
BOOL isShow = YES;
[HIVEAuthV4 checkMaintenance:isShow handler: ^(HIVEResultAPI *result, NSArray<HIVEAuthV4MaintenanceInfo *> *maintenanceInfolist) {
if (result.isSuccess) {
// หากไม่มีข้อมูลการตรวจสอบที่ลงทะเบียน
// หาก isShow เป็น false
}
else if (result.needExit) {
// TODO: Implement app termination functionality
// ตัวอย่าง) exit(0);
}
}];
Note
ในขณะที่ตรวจสอบป๊อปอัปการบำรุงรักษาเซิร์ฟเวอร์และในขณะที่คลิกปุ่มดูรายละเอียด iOS และ Android จะส่งการเรียกกลับที่ร้องขอให้ปิดแอปโดยฝั่งเกม กรุณาปิดแอปเมื่อคุณได้รับการเรียกกลับที่ร้องขอให้ปิดแอป เมื่อผู้ใช้คลิกปุ่มปิด (X) จะมีเพียงป๊อปอัปที่ถูกปิดและการเรียกกลับที่ร้องขอให้ปิดแอปจะไม่ถูกส่ง
ข้อมูลป๊อปอัพที่ส่งกลับโดย Hive¶
หาก Hive ได้รับคำขอสำหรับข้อมูลป๊อปอัพที่ตั้งไว้ใน Hive Console ผ่านวิธี checkMaintenance() จะส่งค่าที่สรุปไว้ในตารางต่อไปนี้ในวัตถุ AuthV4MaintenanceInfo และหากค่าดังกล่าวถูกส่งคืนเป็น null จะไม่มีเนื้อหาที่จะป๊อปอัพ
- รายละเอียดของวัตถุ
AuthV4MaintenanceInfo
ชื่อฟิลด์ | คำอธิบาย | ประเภท |
---|---|---|
title | ชื่อป๊อปอัพ | สตริง |
message | เนื้อหาของป๊อปอัพ | สตริง |
button | ข้อความสำหรับป้ายของปุ่มป๊อปอัพ | สตริง |
action | ประเภทของการดำเนินการเมื่อผู้ใช้แตะปุ่มป๊อปอัพ + OPEN_URL: ดำเนินการ URL ที่ส่งโดยเบราว์เซอร์ภายนอก + EXIT: ปิดแอป + DONE: ปิดป๊อปอัพการบำรุงรักษา | ประเภทการจัด enumerations ของ AuthV4MaintenanceActionType |
url | URL ที่แสดงโดยเบราว์เซอร์ภายนอก ซึ่งจะถูกต้องเมื่อค่าของฟิลด์ action เป็น OPEN_URL | สตริง |
remainingTime | เวลาที่เหลือจนกว่าจะเสร็จสิ้นการบำรุงรักษา (หน่วย: วินาที) เวลารีเฟรชแบบเรียลไทม์และเมื่อถึงศูนย์ แอปจะถูกปิด | จำนวนเต็ม |
startDate | วันที่เริ่มต้นของการบำรุงรักษา | สตริง |
endDate | วันที่สิ้นสุดของการบำรุงรักษา | สตริง |
customerButton | ข้อความปุ่มของศูนย์บริการลูกค้า (ป๊อปอัพการบำรุงรักษาส่ง "") | สตริง |
customerLink | ลิงก์ปุ่มของศูนย์บริการลูกค้า (ป๊อปอัพการบำรุงรักษาส่ง "") | สตริง |
exButtons | ข้อมูลปุ่มป๊อปอัพ (ส่งสูงสุด 3 รายการ) | JSONArray |
exButtons.action | การดำเนินการเมื่อคลิกปุ่มป๊อปอัพ + OPEN_URL: ดำเนินการ URL ที่ส่งโดยเบราว์เซอร์ภายนอก + EXIT: ปิดแอป + DONE: ปิดป๊อปอัพการบำรุงรักษา | ประเภทการจัด enumerations ของ AuthV4MaintenanceActionType |
exButtons.button | ข้อความป้ายของปุ่มป๊อปอัพ | สตริง |
exButtons.url | URL ที่ส่งไปยังเบราว์เซอร์ภายนอก action ใช้ได้เฉพาะเมื่อค่าฟิลด์เป็น OPEN_URL | สตริง |
Hive webview¶
ข้อกำหนดในการให้บริการ¶
ในขณะเริ่มต้น, Hive SDK จะเปิดเผยข้อกำหนดในการให้บริการ ("ข้อกำหนด") ที่เหมาะสมสำหรับประเทศที่กำหนดโดย IP การเข้าถึงของผู้ใช้และบริษัทพัฒนาเกมโดยอัตโนมัติ อย่างไรก็ตาม, เกมควรจัดเตรียมลิงก์สำหรับข้อกำหนดและนโยบายความเป็นส่วนตัวให้กับผู้ใช้ทุกคนโดยไม่คำนึงถึงความยินยอมต่อข้อกำหนดและนโยบายความเป็นส่วนตัว หากคุณใช้ลิงก์ที่จัดเตรียมโดย Hive ข้อกำหนดและนโยบายที่เหมาะสมจะถูกเลือกโดยอัตโนมัติเพื่อเปิดเผยต่อผู้ใช้ขึ้นอยู่กับการตั้งค่าบน Hive Console กฎระเบียบในการระบุลิงก์ของข้อกำหนดและนโยบายจะแตกต่างกันไปตามบริษัทพัฒนาเกม.
เมื่อต้องการแสดงข้อกำหนดในการให้บริการเมื่อคลิกปุ่มหรือลิงก์ ให้เรียกใช้วิธี showTerms()
ของคลาส AuthV4 ตัวอย่างโค้ดมีดังนี้
ลบประวัติการตกลงของข้อกำหนดและเงื่อนไข¶
เมื่อผู้ใช้เกมตกลงตามข้อกำหนดและเงื่อนไขเมื่อเริ่มเล่นเกมเป็นครั้งแรก บันทึกการตกลงตามข้อกำหนดและเงื่อนไขจะยังคงอยู่บนอุปกรณ์ วิธีการ resetAgreement
ด้านล่างจะลบประวัตินี้ออก
Note
ตั้งแต่ Hive SDK 4.22.0 เมื่อผู้ใช้เกมลบบัญชีและจากนั้นเรียกใช้เกมอีกครั้ง จะมีปัญหาที่หน้าต่างป๊อปอัปข้อตกลงและเงื่อนไขไม่ปรากฏขึ้น เนื่องจากข้อมูลเกี่ยวกับการตกลงข้อตกลงและเงื่อนไขยังคงอยู่กับบัญชีที่ถูกลบ หากคุณต้องการแสดงหน้าต่างป๊อปอัปข้อตกลงและเงื่อนไขอีกครั้งเมื่อรีเซ็ต Hive SDK หลังจากลบบัญชีของคุณ คุณต้องเรียกใช้ resetAgreement
เพื่อลบข้อมูลข้อตกลงและเงื่อนไขที่บันทึกไว้ก่อนหน้านี้ หลังจากนั้นให้เรียกใช้ AuthV4.setup()
เพื่อเริ่มต้น Hive SDK
Hive โปรไฟล์¶
ในการแสดงหน้าจอ โปรไฟล์ ให้เรียกใช้ showProfile()
ของคลาส AuthV4 เมื่อหน้าจอโปรไฟล์แสดงขึ้น ผู้ใช้สามารถตรวจสอบและเปลี่ยนแปลงรูปภาพโปรไฟล์และชื่อเล่นของตนได้
ด้านล่างนี้คือตัวอย่างโค้ดสำหรับการแสดงผล โปรไฟล์.
API Reference: AuthV4.showProfile
API Reference: AuthV4::showProfile
API Reference: AuthV4.showProfile
API Reference: AuthV4.INSTANCE.showProfile
API Reference: AuthV4Interface.showProfile
API Reference: [HIVEAuthV4 showProfile]
หากคุณให้ Membership IdP, Hive Membership จะมีการเปลี่ยนรหัสผ่านและการถอนสมาชิกใน Hive การตั้งค่าบัญชีในหน้าจอโปรไฟล์ Hive ดังนั้นคุณ ต้อง ดำเนินการ showProfile()
ให้เสร็จสิ้น
แม้ว่าคุณจะให้ IdP อื่น ๆ เท่านั้นและไม่ใช่ Hive Membership IdP การแสดงหน้าจอโปรไฟล์จะช่วยให้คุณเสนอฟีเจอร์ด้านความปลอดภัย เช่น การบล็อกการเข้าสู่ระบบจากต่างประเทศ การออกจากระบบอุปกรณ์ทั้งหมด และการตรวจสอบประวัติการเข้าสู่ระบบ ดังนั้นจึงแนะนำให้ใช้ showProfile()
เพื่อแสดงหน้าจอโปรไฟล์ หากรวมเข้ากับ IdP เช่น Facebook ที่ส่งคืนรูปโปรไฟล์และชื่อเล่น รูปภาพและชื่อเล่นที่ให้มาจาก IdP นั้นจะถูกตั้งค่าโดยอัตโนมัติสำหรับหน้าจอโปรไฟล์
การสอบถาม¶
เป็นระบบบริการลูกค้าสำหรับผู้ใช้แพลตฟอร์ม Hive ซึ่งให้บริการคำถามที่พบบ่อยและการสอบถามสำหรับแต่ละเกม ฟังก์ชันนี้มีให้บริการในเกม เว็บไซต์ Hive รวมถึงเว็บมือถือ Hive เปิดเผยรหัส CS (PlayerID) ด้วยปุ่มเพื่อเข้าถึงบริการลูกค้า Hive ซึ่งช่วยให้ผู้ใช้สามารถตั้งคำถามเกี่ยวกับเกมได้
Note
- Hive บริการลูกค้าพร้อมให้บริการสำหรับผู้ใช้ทั่วไปเช่นกัน
- กฎระเบียบในการระบุลิงก์บริการลูกค้ามีความหลากหลายตามบริษัทเผยแพร่เกม
- การแสดงอีเมลหรือหมายเลขโทรศัพท์เป็นสิ่งต้องห้ามเนื่องจากปัญหานโยบาย ยกเว้นการสอบถามแบบ 1:1
เพื่อแสดงหน้าสอบถาม ให้เรียกใช้เมธอด showInquiry()
ในคลาส AuthV4. ต่อไปนี้คือตัวอย่างโค้ดเพื่อแสดงหน้าสอบถาม
เอกสารอ้างอิง API: AuthV4.showInquiry
API Reference: AuthV4 ::showInquiry
API Reference: AuthV4.showInquiry
API Reference: AuthV4.INSTANCE.showInquiry
เอกสาร API: AuthV4Interface .showInquiry
API Reference: [ HIVEAuthV4 showInquiry]
ทางลัดการสอบถามของฉัน¶
ผู้ใช้ที่ซิงค์กับสมาชิก Hive สามารถตรวจสอบประวัติการสอบถามของตนได้ผ่านทางทางลัด My Inquiry เรียกใช้เมธอด showMyInquiry()
ในคลาส AuthV4 เพื่อให้ผู้ใช้สอบถามเกี่ยวกับเกมของคุณและแก้ไขได้อย่างง่ายดาย หากผู้ใช้ได้สอบถามผ่านทาง Hive มือถือหรือเว็บไซต์ อย่างไรก็ตาม การสอบถามจะไม่ถูกเปิดเผยแม้จะระบุ Hive ID และ CS Code (PlayerID) เนื่องจากไม่ทราบว่าผู้ใช้ได้เข้าสู่ระบบสมาชิก Hive หรือไม่
Note
- คุณสามารถใช้ API ทางลัด My Inquiry เมื่อผู้ใช้ล็อกอินเฉพาะสมาชิก Hive เท่านั้น หากคุณพยายามเรียก API ในการซิงค์กับ IdP อื่น จะมีข้อความแสดงข้อผิดพลาดกลับมา
- ใน Auth v4 จำเป็นต้องเชื่อมโยงบัญชีด้วยสมาชิก Hive เพื่อออก UID ดังนั้น My Inquiry shortcut จึงไม่สามารถใช้งานใน Auth v4 หากผู้ใช้ล็อกอินเป็นแขกหรือ IdP อื่นใดที่ไม่ใช่สมาชิก Hive
ต่อไปนี้คือตัวอย่างโค้ดเพื่อเปิดใช้งานทางลัด My Inquiry
API Reference: hive.AuthV4 .showMyInquiry
API Reference: AuthV4:: showMyInquiry
API Reference: AuthV4.showMyInquiry
API Reference: com.hive .AuthV4.showMyInquiry
API Reference: AuthV4Interface .showMyInquiry
API Reference: HIVEAuthV4:: showMyInquiry
Hive แชทบอท CS¶
การสอบถามผ่านแชทบอท¶
ในการเปิดเผยหน้าช่องแชท ให้เรียกใช้วิธีการ showChatbotInquiry()
ในคลาส AuthV4.
อาร์กิวเมนต์ | ประเภท | คำอธิบาย |
---|---|---|
additionalInfo | สตริง | ข้อมูลที่จะส่งเมื่อเปิดเผยหน้าแชทบอท กำหนดเป็น "{ \"init_path\":\"hive_sdk_api\" }" และหากต้องการค่าที่เพิ่มเติม กรุณาติดต่อ ทีมพัฒนาชั้นนำ, แพลตฟอร์ม Com2uS |
ต่อไปนี้คือตัวอย่างโค้ดเพื่อแสดงการสอบถามผ่านหน้าแชทบอท
API Reference: hive .AuthV4.showChatbotInquiry
#include "HiveAuthV4.h"
// ข้อมูลสตริงในรูปแบบ JSON ที่สัญญาว่าจะถูกส่งเมื่อเรียกใช้ API ทางลัดหน้าช่องแชท
TSharedPtr<FJsonObject> AdditionalInfoJson = MakeShareable(new FJsonObject);
AdditionalInfoJson->SetStringField(TEXT("init_path"), TEXT("hive_sdk_api"));
FString StrAdditionalInfo;
TSharedRef<TJsonWriter<>> JsonWriter = TJsonWriterFactory<>::Create(&StrAdditionalInfo);
FJsonSerializer::Serialize(AdditionalInfoJson.ToSharedRef(), JsonWriter);
FHiveAuthV4::ShowChatbotInquiry(StrAdditionalInfo, FHiveAuthV4OnShowInquiryDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess()) {
// call successful
}
}));
API Reference: AuthV4 ::showChatbotInquiry
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
// ข้อมูลสตริงในรูปแบบ JSON ที่สัญญาว่าจะถูกส่งเมื่อเรียกใช้ API ทางลัดหน้าแชทบอท
string additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }";
AuthV4::showChatbotInquiry(additionalInfo, [=](ResultAPI const &result) {
if (result.isSuccess()) {
// การเรียกใช้สำเร็จ
}
});
API Reference: AuthV4.showChatbotInquiry
import com.hive.AuthV4
import com.hive.ResultAPI
// ข้อมูลสตริงในรูปแบบ JSON ที่สัญญาว่าจะถูกส่งเมื่อเรียกใช้ API ทางลัดหน้าแชทบอท
val additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }"
AuthV4.showChatbotInquiry(additionalInfo, object : AuthV4.AuthV4ShowChatbotInquiryListener {
override fun onAuthV4ShowChatbotInquiry(result: ResultAPI) {
if (result.isSuccess) {
// การเรียกใช้สำเร็จ
}
}
})
API Reference: com.hive .AuthV4.showChatbotInquiry
import com.hive.AuthV4;
import com.hive.ResultAPI;
// สตริงข้อมูลในรูปแบบ JSON ที่สัญญาว่าจะถูกส่งเมื่อเรียกใช้ API ทางลัดหน้าแชทบอท
String additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }";
AuthV4.INSTANCE.showChatbotInquiry(additionalInfo, result -> {
if (result.isSuccess()) {
// การเรียกใช้สำเร็จ
}
});
API Reference: AuthV4Interface.showChatbotInquiry
API Reference: HIVEAuthV4:: showChatbotInquiry
#import <HIVEService/HIVEService-Swift.h>
// ข้อมูลสตริงในรูปแบบ JSON ที่สัญญาว่าจะถูกส่งเมื่อเรียกใช้ API ทางลัดหน้าแชทบอท
NSString *additionalInfo = @"{ \"init_path\":\"hive_sdk_api\" }";
[HIVEAuthV4 showChatbotInquiry:additionalInfo handler:^(HIVEResultAPI *result) {
if ([result isSuccess]) {
// การเรียกใช้สำเร็จ
}
}];
การตั้งค่าแชทบอท¶
AppDelegate ใน chatbot นิยามการกระทำทั่วไป (วิธีการ) ของวัตถุที่อยู่ด้านบนในแอป iOS เมื่อสร้างโปรเจกต์ของคุณด้วย Xcode มันจะสร้างคลาสโดยอัตโนมัติ
Hive SDK เปิดเผย UI แชทบอทในแนวตั้งเท่านั้นเพื่อความสะดวกของผู้ใช้ การใช้ฟีเจอร์นี้บน iOS ต้องการฟังก์ชันที่เกี่ยวข้องกับการหมุนหน้าจอ, application(_:supportedInterfaceOrientationsFor:)
ในคลาส AppDelegate ของเอนจินเกม วิธีการนี้จะส่งคืนค่า UIInterfaceOrientationMask สำหรับการใช้งานในเกม มันจะส่งคืนแนวนอนในเกมที่รองรับเฉพาะแนวนอน, แนวตั้งในเกมที่รองรับเฉพาะแนวตั้ง, และทั้งแนวนอนและแนวตั้งในเกมที่รองรับทุกประเภท
Warning
เอนจิน Unity มีวิธี AppDelegate สำหรับการหมุนหน้าจออยู่แล้ว ดังนั้นมันจะทำงานโดยอัตโนมัติหากคุณสร้างโปรเจกต์ของคุณใน Xcode นั่นคือ อย่าเพิ่ม โค้ดตัวอย่างต่อไปนี้ลงในเกมของคุณหากคุณพัฒนาเกมใน Unity.
Note
บริการแชทบอทสามารถใช้งานได้หลังจากที่คุณขอ Solution Architech part, Com2uS Platform สำหรับกระบวนการลงทะเบียน AppID.
// หากเกมเอนจินของคุณเขียนด้วย Objective-c ให้ทำการ implement ฟังก์ชัน AppDelegate ดังต่อไปนี้
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// TODO: สำหรับแนวนอนเท่านั้น
return UIInterfaceOrientationMaskLandscape;
// TODO: สำหรับแนวตั้งเท่านั้น
return UIInterfaceOrientationMaskPortrait;
// TODO: สำหรับทั้งแนวนอนและแนวตั้ง
return UIInterfaceOrientationMaskAll;
}
// หากเกมเอนจินของคุณเขียนด้วย Swift ให้ทำการ implement ฟังก์ชัน AppDelegate ต่อไปนี้
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask
{
// TODO: สำหรับแนวนอนเท่านั้น
return [.landscape]
// TODO: สำหรับแนวตั้งเท่านั้น
return [.portrait]
// TODO: สำหรับทั้งแนวนอนและแนวตั้ง
return .all
}
แชทบอทเฉพาะในแนวตั้งบน iPad จำเป็นต้องสร้างโปรเจ็กต์ Xcode ของคุณด้วยการตั้งค่าเพิ่มเติมด้านล่าง
การเปิดเผยต่อชุมชน¶
สำหรับการประมวลผลการเข้าสู่ระบบอัตโนมัติและการทำงานปกติของชุมชน ให้เปิดเผยเว็บไซต์ชุมชนผ่านการเรียก API ตามที่แสดงด้านล่าง เมื่อทำการตั้งค่าเว็บไซต์ Community ที่ปฏิบัติตามข้อกำหนด Hive หากคุณต้องการใช้ที่อยู่โดเมนที่กำหนดเองนอกเหนือจาก withhive.com และ com2us.com ให้ลงทะเบียนที่อยู่โดเมนใน Hive Console whitelist จากนั้นเรียกใช้ API นี้
สำหรับการเข้าสู่ระบบอัตโนมัติและฟังก์ชันอื่น ๆ ในชุมชน Hive ให้เปิดเผยหน้าชุมชนผ่านการเรียก API ดังนี้
Note
ในสภาพแวดล้อมของ Windows หากหน้าชุมชนที่ต้องการเปิดเผยถูกเปิดเป็นกรอบ หน้าจะไม่สามารถเรนเดอร์ได้หากมีการตั้งค่า X-Frame-Options header บนหน้าเนื่องจากปัญหาด้านความปลอดภัย ตรวจสอบตัวเลือกของ หน้าที่คุณต้องการเปิดในรูปแบบกรอบ。
API Reference: SocialV4 .showCommunity
#include "HiveSocialV4.h"
// ตั้งค่าประเภทการแสดงผล (FullScreen: เต็มหน้าจอ, Frame: หน้าจอกรอบ)
ESocialV4ViewType ViewType = ESocialV4ViewType::Frame;
FHiveSocialV4::ShowCommunity(ESocialV4ProviderType::HIVE, ViewType, FHiveSocialV4OnShowCommunityDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess()) {
// call successful
}
}));
API Reference: SocialV4 .showCommunity
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
// ตั้งค่าประเภทการแสดงผล (FullScreen: เต็มหน้าจอ, Frame: หน้าจอกรอบ)
SocialV4::ViewType viewType = SocialV4::ViewType::Frame;
SocialV4.showCommunity(SocialV4::ProviderType::HIVE, viewType, (ResultAPI const & result) {
if (result.isSuccess()) {
// เรียกสำเร็จ
}
});
API Reference: SocialV4.showCommunity
import com.hive.SocialV4
import com.hive.ResultAPI
// ตั้งค่าประเภทการแสดงผล (FullScreen: เต็มหน้าจอ, Frame: หน้าจอกรอบ)
val viewType = SocialV4.ViewType.Frame
SocialV4.showCommunity(SocialV4.ProviderType.HIVE, viewType, object : SocialV4.SocialV4ShowCommunityListener{
override fun onShowCommunity(result: ResultAPI) {
if (result.isSuccess) {
// เรียกใช้งานสำเร็จ
}
}
})
API Reference: SocialV4.INSTANCE .showCommunity
import com.hive.SocialV4;
import com.hive.ResultAPI;
// ตั้งค่าประเภทการแสดงผล (FullScreen: เต็มหน้าจอ, Frame: หน้าจอกรอบ)
SocialV4.ViewType viewType = SocialV4.ViewType.Frame;
SocialV4.INSTANCE.showCommunity(SocialV4.ProviderType.HIVE, viewType, result -> {
if (result.isSuccess()) {
// เรียกใช้งานสำเร็จ
}
});
API Reference: SocialV4Interface.showCommunity
API Reference: HIVESocialV4 showCommunity
#import <HIVEService/HIVEService-Swift.h>
// ตั้งค่าประเภทการแสดงผล (FullScreen: เต็มหน้าจอ, Frame: หน้าจอกรอบ)
HIVESocialViewType viewType = HIVESocialViewTypeFrame;
[HIVESocialV4 showCommunity: HVIESocialProviderTypeHIVE viewType: viewType handler: ^(HIVEResultAPI *result) {
if ([result isSuccess]) {
// เรียกใช้งานสำเร็จ
}
}];
การใช้งานการบันทึกระยะไกล¶
การบันทึกข้อมูลระยะไกลเป็นฟีเจอร์ที่ช่วยให้คุณตรวจสอบบันทึกเพื่อการดีบักแอปที่เผยแพร่จากระยะไกลโดยการส่งบันทึกการดีบักจากไคลเอนต์ไปยังเซิร์ฟเวอร์ Hive เพื่อใช้ฟังก์ชันนี้ คุณต้องลงทะเบียนที่ Hive Console ฟีเจอร์นี้จะเปิดใช้งานการบันทึกข้อมูลระยะไกลสำหรับผู้ใช้เป้าหมายเท่านั้น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลงทะเบียน โปรดดูที่คู่มือการดำเนินงานใน Operation > Provisioning > Remote logging.
-
การเปิดใช้งาน
หากคุณเปิดใช้งานการบันทึกจากระยะไกล, Hive SDK log และเกม log จะถูกเก็บรวบรวมตามระยะเวลาที่คุณตั้งไว้ใน Hive Console. Hive SDK log ขึ้นอยู่กับการตั้งค่าบน SDK และเกม log มีความยืดหยุ่นสำหรับนักพัฒนาเกมในการตั้งค่าค่าWarning
ตรวจสอบให้แน่ใจว่า
-
หากคุณสร้างบันทึกมากเกินไป การจราจรในเครือข่ายที่เกินกำลังหรือกระบวนการบันทึกอาจรบกวนการทำงานของเกมของคุณ Hive แนะนำให้คุณละเว้นบันทึกที่ซ้ำซ้อนจากประเภทลูปหรือรวบรวมเป็นบันทึกเดียวก่อนการส่งเพื่อใช้ในการบันทึกระยะไกล.
-
หากคุณจะใช้การบันทึกระยะไกลในเกมบันทึก โปรดติดต่อ PIC ของฝ่ายสถาปนิกโซลูชัน GAMEVIL COM2US PLATFORM ล่วงหน้า
-
-
การกำหนดเป้าหมาย
การบันทึกข้อมูลระยะไกลจะกำหนดเป้าหมายเฉพาะผู้ใช้ที่อุปกรณ์ของพวกเขามี ID (DID) ผ่านการเริ่มต้น SDK ของ Hive อย่างน้อยหนึ่งครั้ง อย่างไรก็ตาม ฟังก์ชันนี้ไม่สามารถใช้ได้กับบางเกมหากเกิดการล้มเหลวหรือข้อผิดพลาดก่อนที่จะเริ่มต้น SDK. -
ตัวอย่างโค้ด
ใส่โค้ดต่อไปนี้ในทุกส่วนที่เกมต้องการให้เก็บบันทึก
API Reference: Logger .log
API Reference: Logger:: log
API Reference: Logger.i
API Reference: LogInterface.log
API Reference: Objective-C
การกำหนดค่าทางไกล¶
Hive SDK ช่วยให้เกมสามารถจัดการ URL ของเซิร์ฟเวอร์เกมที่แมพ 1 ต่อ 1 กับแต่ละเวอร์ชันของแอป Remote configuration จะถูกให้ในรูปแบบของสตริงโดยการเรียกใช้ API getMetaData()
ของคลาส Configuration ตัวอย่างต่อไปนี้คือโค้ดที่เรียกใช้การตั้งค่าจากระยะไกล
เอกสารอ้างอิง API: HiveConfiguration getMetaData
#include "HiveConfiguration.h"
// data key
FString Key = TEXT("game_server_url");
// ข้อมูลได้รับการอัปเดตหรือไม่
bool bForceReload = false;
// metadata call
FHiveConfiguration::GetMetaData(Key, bForceReload, FHiveConfigurationOnMetaDataDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FString& Value) {
if (Result.IsSuccess()) {
// call successfull
}
}));
API Reference: Configuration:: getMetaData
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
// data key
string key = "game_server_url";
// Whether data is updated
bool forceReload = false;
// การเรียกข้อมูลเมตา
Configuration::getMetaData(key, forceReload, [=](ResultAPI const & result, string value) {
if (result.isSuccess()) {
// การเรียกสำเร็จ
}
});
API Reference: Configuration.getMetaData
import com.hive.Configuration
import com.hive.ResultAPI
// data key
val key = "game_server_url"
// Whether data is updated
val forceReload = false
// metadata call
Configuration.getMetaData(key, forceReload, object : Configuration.GetMetaDataListener {
override fun onGetMetaData(result: ResultAPI, data: String) {
if (result.isSuccess) {
// call successful
}
}
})
API Reference: Configuration.INSTANCE .getMetaData
API Reference: ConfigurationInterface.getMetaData
API Reference: HIVEConfiguration getMegaData
#import <HIVEService/HIVEService-Swift.h>
// data key
NSString *key = @"game_server_url";
// Whether data is updated
BOOL forceload = NO;
// metadata call
[HIVEConfiguration getMegaData: key forceReload: forceReload handler: ^(HIVEResultAPI *result, NSString *value) {
if ([result isSuccess]) {
// call successful
}
}];
Note
เพื่อใช้ข้อมูลที่เก็บไว้ในแคช ให้ตั้งค่า forceReload
เป็น false
- หากคุณเรียกใช้วิธีการ
getMetaDate()
เมื่อforceReload
เป็นtrue
มันจะลบข้อมูลที่เก็บไว้ในเครื่องและพยายามดึงข้อมูลล่าสุดจากเซิร์ฟเวอร์ การกระทำนี้มักใช้สำหรับงานเช่นการรีเฟรชเมื่อเรียกใช้งานแอปอีกครั้ง