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

บริการระยะไกล

SDK ของ Hive ให้บริการระยะไกลที่ช่วยให้คุณสามารถทำงานที่ควรทำบนเซิร์ฟเวอร์แอปได้จากระยะไกลผ่านทางคอนโซล Hive บริการระยะไกลที่มีให้ในกระบวนการจัดเตรียมมีดังนี้

  • การกำหนดค่าทางไกล
  • การบันทึกทางไกล

การกำหนดค่าระยะไกล

เมื่อใช้งานแอป URL ของเซิร์ฟเวอร์แอปอาจแตกต่างกันไปขึ้นอยู่กับเวอร์ชันของแอป การกำหนดค่าจากระยะไกลเป็นฟีเจอร์ที่ช่วยให้คุณเปลี่ยนการตั้งค่า URL ของเซิร์ฟเวอร์จากระยะไกลโดยไม่ต้องเข้าถึงเซิร์ฟเวอร์แอป นักพัฒนาสามารถลงทะเบียนข้อมูล URL ของเซิร์ฟเวอร์ในคอนโซล Hive และแมพและจัดการเซิร์ฟเวอร์ตามเวอร์ชันของแอป

Note

การกำหนดค่าจากระยะไกลเป็นฟีเจอร์ที่ช่วยให้คุณสามารถปรับเปลี่ยนการตั้งค่าเซิร์ฟเวอร์จากระยะไกลที่จำเป็นต้องเปลี่ยนแปลงบนเซิร์ฟเวอร์แอปพลิเคชันผ่านทางคอนโซล Hive และในปัจจุบันรองรับเฉพาะความสามารถในการปรับเปลี่ยน URL ของเซิร์ฟเวอร์แอปพลิเคชันจากระยะไกล ฟีเจอร์การกำหนดค่าจากระยะไกลอื่น ๆ จะถูกเพิ่มในอนาคต.

URL ของแอปเซิร์ฟเวอร์สามารถปรับเปลี่ยนได้แตกต่างกันสำหรับแต่ละ AppID, เวอร์ชันแอป, และเซิร์ฟเวอร์ เพื่อใช้การกำหนดค่าจากระยะไกล คุณต้อง ลงทะเบียน URL ของเซิร์ฟเวอร์ใน Hive console ก่อน

เมื่อคุณเรียกใช้ Configuration.getMetaData จากไคลเอนต์แอป คุณสามารถรับ URL ของเซิร์ฟเวอร์ที่ลงทะเบียนหรือแก้ไขในคอนโซล Hive เป็นค่าประเภท String นี่คือตัวอย่างโค้ดที่เรียกใช้ URL ของเซิร์ฟเวอร์

เอกสารอ้างอิง API: HiveConfiguration getMetaData

using hive;    
    // data key    
    String key = "game_server_url";    
    // Whether data is updated    
    Boolean forceReload = false;    
    // metadata call    
    Configuration.getMetaData(key, forceReload, (ResultAPI result, String value) => {    
    if (result.isSuccess()) {    
    // call successful    
    }    
});

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

import com.hive.Configuration;    
    import com.hive.ResultAPI;    
    // data key    
    String key = "game_server_url";    
    // Whether data is updated    
    boolean forceReload = false;    
    // metadata call    
    Configuration.INSTANCE.getMetaData(key, forceReload, (result, data) -> {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

API Reference: ConfigurationInterface.getMetaData

import HIVEService    
    // data key    
    let key = "game_server_url"    
    // Whether data is updated    
    let forceReload = false;    

    // เรียกข้อมูลเมตา    
    ConfigurationInterface.getMetaData(key, forceReload: forceReload) { result, value in    
         if result.isSuccess() {    
             // เรียกสำเร็จ    
         }    
}

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    
    }    
}];
#include "HiveConfiguration.h"

// คีย์ข้อมูล
FString Key = TEXT("game_server_url");

// สถานะการรีเฟรชข้อมูล
bool bForceReload = false;

// การเรียกข้อมูลเมตา
FHiveConfiguration::GetMetaData(Key, bForceReload, FHiveConfigurationOnMetaDataDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FString& Value) {
        if (Result.IsSuccess()) {
                // การเรียกสำเร็จ
        }
}));

การใช้ค่าที่เก็บไว้

SDK ของ Hive จะอ่าน URL ของเซิร์ฟเวอร์ที่ป้อนไว้ก่อนหน้านี้ในคอนโซล Hive ระหว่างกระบวนการ การเริ่มต้น และเก็บไว้ในแคชสำหรับไคลเอนต์แอป ดังนั้น เพื่อช่วยลดค่าใช้จ่ายด้านเครือข่ายโดยการใช้ค่าที่แคชไว้เมื่อคุณต้องการเรียกคืนค่าที่ป้อนไว้ก่อนหน้านี้โดยไม่เปลี่ยน URL ของเซิร์ฟเวอร์ในคอนโซล Hive ให้ตั้งค่า forceReload เป็น false เมื่อเรียกใช้ Configuration.getMetaData

หากคุณได้แก้ไข URL ของเซิร์ฟเวอร์ในคอนโซล Hive และต้องการให้แอปสะท้อน URL ที่แก้ไขนี้ ให้ตั้งค่า forceReload เป็น true เมื่อเรียกใช้ Configuration.getMetaData ซึ่งจะลบ URL ของเซิร์ฟเวอร์ที่เก็บไว้ในแอปไคลเอนต์และดึง URL ของเซิร์ฟเวอร์ล่าสุดจากเซิร์ฟเวอร์ Hive รูปแบบการเรียกใช้นี้โดยทั่วไปจะใช้เมื่อแอปเริ่มต้นใหม่

การบันทึกข้อมูลระยะไกล

การบันทึกข้อมูลระยะไกลเป็นฟีเจอร์ที่อนุญาตให้บันทึกข้อมูลที่ต้องการเก็บจากเซิร์ฟเวอร์แอปพลิเคชันสามารถเก็บได้จากระยะไกลผ่าน SDK ของ Hive โดยการใช้การบันทึกข้อมูลระยะไกล คุณสามารถรับบันทึกข้อมูลการดีบักจากระยะไกลได้ ตัวอย่างเช่น หากคุณลงทะเบียนผู้ใช้แอปพลิเคชันเฉพาะในคอนโซลของ Hive คุณสามารถตรวจสอบบันทึกข้อมูลการดีบักในสภาพแวดล้อมระยะไกลเมื่อเกิดปัญหาที่เกี่ยวข้องกับผู้ใช้นี้ แทนที่จะตรวจสอบที่เซิร์ฟเวอร์แอปพลิเคชัน

เมื่อคุณระบุผู้ใช้เฉพาะเพื่อรวบรวมบันทึก แอปบันทึกและบันทึก Hive ที่สะสมเมื่อผู้ใช้นี้ใช้แอปจะถูกรวบรวมและโหลดเข้าสู่ Google Cloud นักพัฒนาสามารถรับบันทึกที่รวบรวมจากระยะไกลเพื่อติดตามและใช้ในการดีบัก เพื่อใช้การบันทึกจากระยะไกล คุณต้อง ตั้งค่าผู้ใช้เพื่อรวบรวมบันทึกใน Hive console ก่อน

วิธีการทำงาน

การดำเนินการบันทึกจากระยะไกลทำงานดังนี้


การตั้งค่าผู้ใช้เป้าหมาย

ผู้ใช้ที่สามารถรวบรวมบันทึกได้คือผู้ที่ออก DID หลังจากที่เรียกใช้แอปอย่างน้อยหนึ่งครั้ง (หมายถึง Hive SDK ได้ถูกเริ่มต้นอย่างน้อยหนึ่งครั้ง) อย่างไรก็ตาม หากเกิดการชนหรือข้อผิดพลาดก่อนที่จะเริ่มต้น Hive SDK ในระหว่างกระบวนการดำเนินการแอป จะไม่สามารถรวบรวมบันทึกจากผู้ใช้รายนี้ได้

การรวบรวมบันทึก

การเปิดใช้งานการบันทึกระยะไกลจะเก็บบันทึก Hive และบันทึกแอปในระยะเวลาของการเก็บบันทึกที่ป้อนในคอนโซล Hive

Warning

หากคุณเก็บบันทึกมากเกินไป ทรัพยากรอาจถูกมุ่งเน้นไปที่การจราจรในเครือข่ายและการประมวลผลบันทึก ซึ่งอาจส่งผลต่อประสิทธิภาพของแอป ขอแนะนำให้ลดบันทึกที่เกิดขึ้นซ้ำภายในลูปหรือลงรวมเป็นบันทึกเดียวสำหรับการเก็บรวบรวม


Hive log

Hive logs เป็นบันทึกที่ถูกรวบรวมโดยค่าเริ่มต้นภายในโค้ด SDK ของ Hive ซึ่งไม่สามารถควบคุมได้โดยแอป

บันทึกแอป

บันทึกแอปคือบันทึกที่ได้จากการแทรกการเรียก Logger.log ที่มีให้โดย SDK ของ Hive ลงในรหัสไคลเอนต์แอป คุณสามารถเลือกตำแหน่งที่ต้องการในรหัสไคลเอนต์แอปเพื่อรวบรวมค่าที่ต้องการ แทรกรหัสเช่นในตัวอย่างด้านล่างที่ตำแหน่งที่ต้องการ

API Reference: Logger.log

using hive;    
Logger.log("Enter logging contents");

API Reference: Logger::log

    #include <HIVE_SDK_Plugin/HIVE_CPP.h>    
        using namespace std;    
        using namespace hive;    
    Logger::log("Enter logging contents");

API Reference: Logger.i

import com.hive.Logger;    
Logger.INSTANCE.i("Enter logging contents");

API Reference: LogInterface.log

import HIVEBase    
LogInterface.log(sourceInfo: "Log source information (class, method name)", type: .Info, tag: "Log tag", msg: "Log message")

API Reference: Objective-C

#import <HIVEBase/HIVEBase-Swift.h>

[HIVELogger logWithSourceInfo:@"ข้อมูลแหล่งบันทึก (ชื่อคลาส, ชื่อวิธีการ)" type: LogTypeInfo tag: @"แท็กบันทึก" msg: @"ข้อความบันทึก"];
#include "HiveLogger.h"

FHiveLogger::Log(TEXT("Logging content input"));