วิธีการเริ่มต้น 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มันจะลบข้อมูลที่เก็บไว้ในเครื่องและพยายามดึงข้อมูลล่าสุดจากเซิร์ฟเวอร์ การกระทำนี้มักใช้สำหรับงานเช่นการรีเฟรชเมื่อเรียกใช้งานแอปอีกครั้ง









