如何初始化 Hive SDK¶
要在遊戲中使用 Hive SDK 函數,您必須初始化 Hive SDK。初始化後,服務條款以及在 Hive 控制台上註冊的更新和通知彈出窗口將自動顯示。
Warning
在初始化 Hive SDK 之前,别忘了设置 hive_config.xml 文件。
初始化如何運作¶
當 Hive SDK 被初始化時,它執行以下功能:
- Hive SDK 使用一個初始化函數初始化以下項目。
- Hive SDK 不會直接通知應用訪問權限。欲了解更多信息,請查看 [常見問題解答]。
- 顯示為相關遊戲設置的更新和通知彈出窗口。對於 Google Play 商店,支持 應用內更新。有關註冊更新彈出窗口的更多詳細信息,請參見 Hive 控制台指南。
- 檢查用戶 IP 並按國家顯示服務條款。
應用內更新¶
應用內更新 是在不終止應用的情況下,根據更新彈出配置在背景中更新應用的功能。應用內更新可以在以下條件下使用。
- 只支援 Google Play 商店。
- 僅支援 Android 手機、Android 平板電腦和 ChromeOS 設備。
- 支援兩種應用程式檔案格式:AAB(Android 應用程式包)和 APK。然而,不支援 APK 擴展檔案(.obb 檔案)。
- 對於 AAB,支援最大 200MB,對於 APK,支援最大 150MB 的大小。
Hive 初始化圖¶
Note
當顯示使用條款彈出視窗並且完成使用條款協議時,iOS 上的應用程式追蹤透明度彈出視窗將會顯示。
註冊 Hive 認證金鑰¶
使用配置类 API,在 Hive 初始化之前,注册在 Hive 控制台页面上发出的 Hive 认证密钥。相应的 API 从 4.15.0 版本或更高版本提供。
API 參考: Unity®
API 參考: C++
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
string hiveCertKey = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc";
Configuration::setHiveCertificationKey(hiveCertKey);
API 參考: Kotlin
API 參考: Java
API 參考: Swift
API 參考: Objective-C
实现初始化¶
要初始化 Hive SDK,请在 AuthV4 类中实现 setup()
方法。以下数据作为结果提供,因此您可以将数据保存在游戏中,并在需要时加以利用。
- Hive 初始化的結果數據
字段名称 | 描述 | 示例 |
---|---|---|
isAutoSignIn | 是否可用自动登录 | true |
did | did 是在应用安装中创建的应用实例的标识符。用于识别同一应用的应用实例。 | 123456789 |
providerTypeList | 当前应用可用的 IdP 列表 这是必需的 字段,用于自定义显式登录或组合 IdP 同步状态的信息。 | ProviderType.FACEBOOK ProviderType.HIVE |
以下是實現setup()
方法的示例代碼。
API 參考: 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: 实现应用程序的终止
// Cocos2d-x 引擎的用户
// 例如) exit(0);
// 初始化失败 }
}
}));
API 參考: com.hive.AuthV4.setup
API 參考: com.hive.AuthV4.setup
API 參考: HIVEAuthV4:setup
API 參考: HIVEAuthV4:setup
Note
當遊戲服務終止時,如果執行setup
方法,將返回錯誤。
伺服器維護彈出窗口¶
對於遊戲服務,有必要在遊戲客戶端更新後阻止該版本,或者在遊戲伺服器維護期間阻止遊戲連接。Hive 提供了根據在 Hive 控制台中配置的信息,以強制遊戲更新、通知/伺服器維護的順序顯示彈出窗口的功能。在遊戲中,您可以使用 Hive SDK 提供的 UI,或者通過接收來自 Hive 的信息來實現自定義 UI。
強制遊戲更新 | 阻止使用特定版本的遊戲並提供更新連結 |
---|---|
伺服器維護 | 可根據遊戲伺服器設置維護狀態,並建議在伺服器維護期間提供官方社群連結 |
通知 | 用於向所有用戶公開重要通知或更新資訊,而不是強制性地 |
Note
-
更新/維護彈出窗口是初始化步驟的一部分。伺服器維護彈出窗口應該在伺服器選擇的步驟中顯示,無論是自動還是手動選擇,因此請確保實現維護彈出窗口以適當顯示。
-
如果用户在连接到游戏服务器之前可以等待而不启动游戏,即使您已经设置了服务器维护弹出窗口,您也无法在此时阻止用户的连接。为此,应该在游戏可以强制终止用户连接的时间显示服务器维护弹出窗口。
如果遊戲伺服器超過一個,則用戶選擇或設置的遊戲伺服器信息必須設置在 Hive 中。如果用戶需要選擇遊戲伺服器,請實現伺服器選擇 UI,以通過在顯示各種類型的彈出窗口之前調用 Configuration 類的 setServerId() 方法來更改 Hive 設置。如果您想在更改 Hive 設置的同時更新促銷新聞數據,請調用 Configuration 類的 updateServerId()
方法,而不是 setServerId()
方法。
在遊戲伺服器設置完成後,您可以隨時顯示彈出窗口。如果您在 Hive 控制台上設置彈出窗口,則在維護期間將阻止遊戲訪問。顯示彈出窗口可以使用 Hive SDK 提供的 UI,或根據 Hive 的信息進行自定義。伺服器維護彈出窗口/更新彈出窗口/通知彈出窗口可以為每個遊戲伺服器設置。
設定彈出內容¶
設定 Hive 控制台上的伺服器維護彈出/更新彈出/通知彈出的詳細資訊。 有關設置的更多信息,請參見 操作 > 配置指南。
顯示彈出窗口¶
Hive SDK 顯示維護彈出窗口/更新彈出窗口/通知彈出窗口,或返回彈出消息的信息以自定義彈出窗口。如果 Hive 顯示它,則彈出窗口將以 Hive 的 UI 風格出現,但如果您想自己處理,則可以以您想要的任何風格顯示彈出窗口。根據您是否使用 Hive 彈出窗口,請在 AuthV4 類中調用 checkMaintenance() 方法,並設置如下所示的參數。
- 使用 Hive 提供的彈出視窗: 將
isShow
參數設置為true
。 -
請求彈出視窗數據以自定義彈出視窗: 將
isShow
參數設置為false
。有關彈出視窗數據的更多信息,請參見下面的 Hive 返回的彈出數據。
以下是一段示例代码,用于显示一个服务器维护弹出窗口,界面由Hive提供。如果用户在服务器维护尚未完成时关闭此弹出窗口,将触发退出事件并转发到ResultAPI result
。
API 參考: Unity®
#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: 實現應用程序終止功能
// 例) Application.Quit();
}
}));
API 參考: 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: 實現應用程序終止功能
// Cocos2d-x 引擎用戶
// 例) exit(0);
// Unreal Engine 用戶
// 例) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
}
});
API 參考: Kotlin
import com.hive.AuthV4
import com.hive.AuthV4
import com.hive.ResultAPI
// 是否使用 Hive SDK UI
val isShow = true
AuthV4.checkMaintenance(isShow, object : AuthV4.AuthV4MaintenanceListener {
override fun onAuthV4Maintenance(result: ResultAPI, maintenanceInfo: ArrayList<AuthV4.AuthV4MaintenanceInfo>?) {
if (result.isSuccess) {
// 如果沒有註冊的檢查數據
// 如果 isShow 為 false
}
else if (result.needExit()) {
// TODO: 實現應用程序終止功能
// 例如) exitProcess(0)
}
}
})
API 參考: Java
import com.hive.AuthV4;
import com.hive.ResultAPI;
// 是否使用 Hive SDK UI
boolean isShow = true;
AuthV4.INSTANCE.checkMaintenance(isShow, (result, maintenanceInfo) -> {
if (result.isSuccess()) {
// 如果沒有註冊的檢查數據
// 如果 isShow 為 false
}
else if (result.needExit()) {
// TODO: 實現應用程序終止功能
// 例如) System.exit(0);
}
});
API 參考: Swift
API 參考: Objective-C
#import <HIVEService/HIVEService-Swift.h>
// 是否使用 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: 實現應用程序終止功能
// 例) exit(0);
}
}];
Note
在檢查伺服器維護彈出視窗和點擊查看詳細資訊按鈕的時候,iOS 和 Android 會發送一個回調請求,要求遊戲方關閉應用程式。當您收到請求終止應用程式的回調時,請終止應用程式。當用戶點擊關閉 (X) 按鈕時,只有彈出視窗會關閉,而請求終止應用程式的回調不會被發送。
彈出數據由 Hive 返回¶
如果 Hive 通过 checkMaintenance() 方法接收到在 Hive 控制台中设置的弹出信息请求,它将返回 AuthV4MaintenanceInfo 对象中总结的以下表格中的值,如果该值返回为 null,则没有内容可以弹出。
AuthV4MaintenanceInfo
物件的詳細資訊
字段名稱 | 描述 | 類型 |
---|---|---|
title | 彈出窗口標題 | 字串 |
message | 彈出窗口內容 | 字串 |
button | 彈出窗口按鈕的標籤文本 | 字串 |
action | 當用戶點擊彈出窗口按鈕時的動作類型 + OPEN_URL: 執行外部瀏覽器傳遞的URL + EXIT: 結束應用程序 + DONE: 只是關閉維護彈出窗口 | AuthV4MaintenanceActionType的枚舉類型 |
url | 外部瀏覽器顯示的URL。當action 字段的值為OPEN_URL時有效 | 字串 |
remainingTime | 直到維護完成的剩餘時間(單位:秒)。時間實時刷新,當變為零時,應用程序終止。 | 整數 |
startDate | 維護的開始日期 | 字串 |
endDate | 維護的結束日期 | 字串 |
customerButton | 客戶中心的按鈕文本(維護彈出窗口發送"") | 字串 |
customerLink | 客戶中心的按鈕鏈接(維護彈出窗口發送"") | 字串 |
exButtons | 彈出窗口按鈕信息(最多提供3個項目) | JSONArray |
exButtons.action | 當彈出窗口按鈕被點擊時的動作 + OPEN_URL: 執行外部瀏覽器傳遞的URL + EXIT: 結束應用程序 + DONE: 只是關閉維護彈出窗口 | AuthV4MaintenanceActionType的枚舉類型 |
exButtons.button | 彈出窗口按鈕的標籤文本 | 字串 |
exButtons.url | 傳遞給外部瀏覽器的URL。 action 只有在字段值為OPEN_URL時可用 | 字串 |
Hive 網頁視圖¶
服務條款¶
在初始化時,Hive SDK 會根據用戶的訪問 IP 和遊戲開發公司自動確定的國家,顯示適當的服務條款(“條款”)。即便如此,遊戲應該為所有用戶提供服務條款和隱私政策的鏈接,而不論是否同意服務條款和隱私政策。如果您使用 Hive 提供的鏈接,則根據 Hive 控制台上的設置,自動選擇適當的條款和政策向用戶顯示。顯示服務條款和政策鏈接的規定因遊戲開發公司而異。
要在点击按钮或链接时显示服务条款,请调用 AuthV4 类的 showTerms()
方法。以下是示例代码。
移除條款和條件的協議歷史¶
一旦遊戲用戶在第一次運行遊戲時同意條款和條件,該同意記錄將保留在設備上。下面的 resetAgreement
方法將刪除此歷史記錄。
Note
自 Hive SDK 4.22.0 起,當遊戲用戶刪除帳戶後再次運行遊戲時,會出現一個問題,即條款和條件協議彈出窗口不會出現,因為有關同意條款和條件的信息仍然與已刪除的帳戶相關聯。如果您希望在刪除帳戶後重置 Hive SDK 時重新顯示條款和條件協議彈出窗口,則必須調用 resetAgreement
來刪除先前保存的條款和條件協議信息。然後,調用 AuthV4.setup()
來初始化 Hive SDK。
Hive 個人檔案¶
要顯示個人資料螢幕,請呼叫AuthV4類別的showProfile()
。當個人資料螢幕顯示時,用戶可以檢查和更改他們的個人資料圖片和暱稱。
以下是顯示個人資料的示例代碼。
API 參考: AuthV4.showProfile
API 參考: AuthV4::showProfile
API 參考: AuthV4.showProfile
API 參考: AuthV4.INSTANCE.showProfile
API 參考: AuthV4Interface.showProfile
API 參考: [HIVEAuthV4 showProfile]
如果您提供 Membership IdP,Hive 會員在 Hive 個人資料頁面上的 Hive 帳戶設置中提供密碼更改和會員退出功能,因此您 必須 實現 showProfile()
。
即使您只提供其他身份提供者,而不是 Hive 会员身份提供者,显示个人资料屏幕仍然可以让您提供安全功能,例如阻止外国登录、注销所有设备以及检查登录历史记录。因此,建议实现 showProfile()
来显示个人资料屏幕。如果与返回个人资料图片和昵称的身份提供者(如 Facebook)集成,则该身份提供者提供的图片和昵称将自动设置为个人资料屏幕。
查詢¶
作為Hive平台用戶的客戶服務系統,它提供每個遊戲的常見問題解答和查詢。此功能可在遊戲、Hive網站以及Hive移動網站上使用。通過按鈕暴露CS代碼(PlayerID)以訪問Hive客戶服務,幫助用戶提出有關遊戲的問題。
Note
- Hive 客戶服務對於訪客用戶也是可用的。
- 不同的遊戲發行公司對於如何顯示客戶服務連結的規定各不相同。
- 除了1:1詢問外,由於政策問題,禁止顯示電子郵件或電話號碼。
要顯示查詢頁面,請在**AuthV4**類別中調用showInquiry()
方法。 以下是顯示查詢頁面的示例代碼。
API 參考: AuthV4.showInquiry
API 參考: AuthV4 ::showInquiry
API 參考: AuthV4.showInquiry
API 參考: AuthV4.INSTANCE.showInquiry
API 參考: AuthV4Interface .showInquiry
API 參考: [ HIVEAuthV4 showInquiry]
我的查詢快捷方式¶
與 Hive 會員同步的用戶可以通過我的查詢快捷方式查看他們的查詢歷史。調用 AuthV4 類中的 showMyInquiry()
方法,使用戶能夠輕鬆查詢您的遊戲並解決問題。然而,如果用戶通過 Hive 手機或網站進行查詢,則即使指定了 Hive ID 和 CS 代碼(PlayerID),查詢也不會顯示,因為無法確定用戶是否已登錄 Hive 會員。
Note
- 您只能在用户登录 Hive 会员时实现我的查询快捷 API。如果您尝试与其他 IdP 同步调用 API,将返回错误消息。
- 在 Auth v4 中,必须将帐户与 Hive 会员关联才能发放 UID。因此,如果用户以访客身份登录或使用其他 IdP 而不是 Hive 会员,则无法在 Auth v4 中实现我的查询快捷方式。
以下是暴露我的询问快捷方式的示例代码。
API 參考: hive.AuthV4 .showMyInquiry
API 參考: AuthV4:: showMyInquiry
API 參考: AuthV4.showMyInquiry
API 參考: com.hive .AuthV4.showMyInquiry
API 參考: AuthV4Interface .showMyInquiry
API 參考: HIVEAuthV4:: showMyInquiry
Hive 聊天機器人 CS¶
透過聊天機器人查詢¶
要顯示聊天機器人頁面,請在 AuthV4 類別中調用 showChatbotInquiry()
方法。
參數 | 類型 | 描述 |
---|---|---|
additionalInfo | 字串 | 在顯示聊天機器人頁面時發送的數據 固定為 "{ \"init_path\":\"hive_sdk_api\" }" ,如需額外值,請聯繫 Leading Development Team, Com2uS Platform |
以下是通過聊天機器人頁面顯示查詢的示例代碼。
API 參考: hive .AuthV4.showChatbotInquiry
#include "HiveAuthV4.h"
// 說明在調用聊天機器人頁面快捷 API 時承諾以 JSON 格式交付的字符串數據
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 參考: AuthV4 ::showChatbotInquiry
API 參考: AuthV4.showChatbotInquiry
import com.hive.AuthV4
import com.hive.ResultAPI
// 調用聊天機器人頁面快捷 API 時承諾以 JSON 格式交付的字符串數據
val additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }"
AuthV4.showChatbotInquiry(additionalInfo, object : AuthV4.AuthV4ShowChatbotInquiryListener {
override fun onAuthV4ShowChatbotInquiry(result: ResultAPI) {
if (result.isSuccess) {
// 調用成功
}
}
})
API 參考: HIVEAuthV4:: showChatbotInquiry
聊天機器人設定¶
AppDelegate 在聊天機器人中定義了 iOS 應用程序頂部對象的常見操作(方法)。當使用 Xcode 構建項目時,它會自動生成該類。
Hive SDK 只在豎屏模式下為用戶方便地展示聊天機器人 UI。在 iOS 上運行此功能需要與屏幕方向相關的功能,即遊戲引擎的 AppDelegate 類中的 application(_:supportedInterfaceOrientationsFor:)
方法。此方法返回 UIInterfaceOrientationMask 值以用於遊戲。它在僅支持橫屏的遊戲中返回橫屏,在僅支持豎屏的遊戲中返回豎屏,在支持所有類型的遊戲中返回橫屏和豎屏。
Warning
Unity 引擎已經包含了 AppDelegate 方法來處理螢幕旋轉,因此如果您在 Xcode 中構建您的專案,它會自動運行。也就是說,如果您在 Unity 中開發遊戲,請不要添加 以下示例代碼到您的遊戲中。
Note
聊天機器人服務在您請求 解決方案架構師部分,Com2uS 平台 以進行 AppID 註冊過程後可用。
// 如果您的游戏引擎是用 Objective-c 编写的,请实现以下 AppDelegate 函数。
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// TODO: 仅限横屏
return UIInterfaceOrientationMaskLandscape;
// TODO: 仅限竖屏
return UIInterfaceOrientationMaskPortrait;
// TODO: 横屏和竖屏均可
return UIInterfaceOrientationMaskAll;
}
在 iPad 上僅限豎屏的聊天機器人需要使用以下附加設置來構建您的 Xcode 項目。
接觸社區¶
為了自動登錄處理和社區的正常運作,請通過以下所示的API調用來公開社區網站。在設置遵循Hive 規範的社區網站時,如果您想使用除*withhive.com*和*com2us.com*以外的自定義域名,請將該域名註冊到Hive 控制台白名單,然後調用此API。
在Hive社區中,自動登錄和其他功能,通過以下API調用來暴露社區頁面。
Note
在 Windows 環境中,如果要公開的社區頁面作為框架打開,則如果該頁面設置了 X-Frame-Options 標頭,則該頁面將無法呈現,因為安全問題。檢查您想以框架形式打開的頁面的選項。
API 參考: SocialV4 .showCommunity
#include "HiveSocialV4.h"
// 設定視圖類型(全螢幕:全螢幕,框架:框架螢幕)
ESocialV4ViewType ViewType = ESocialV4ViewType::Frame;
FHiveSocialV4::ShowCommunity(ESocialV4ProviderType::HIVE, ViewType, FHiveSocialV4OnShowCommunityDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess()) {
// call successful
}
}));
API 參考: SocialV4 .showCommunity
API 參考: SocialV4.showCommunity
import com.hive.SocialV4
import com.hive.ResultAPI
// 設定視圖類型(全螢幕:全螢幕,框架:框架螢幕)
val viewType = SocialV4.ViewType.Frame
SocialV4.showCommunity(SocialV4.ProviderType.HIVE, viewType, object : SocialV4.SocialV4ShowCommunityListener{
override fun onShowCommunity(result: ResultAPI) {
if (result.isSuccess) {
// 呼叫成功
}
}
})
API 參考: SocialV4.INSTANCE .showCommunity
API 參考: SocialV4Interface.showCommunity
API 參考: HIVESocialV4 showCommunity
實現遠程日誌記錄¶
遠端日誌記錄是一項功能,允許您通過將調試日誌從客戶端發送到 Hive 伺服器來遠程檢查已發布應用的日誌以進行調試。要實現此功能,請在 Hive 控制台上註冊。此功能僅激活目標用戶的遠端日誌。有關如何註冊的更多詳細信息,請參閱操作 > 配置 > 遠端日誌記錄中的操作指南。
-
啟用
如果您啟用遠程日誌,Hive SDK 日誌和遊戲日誌將根據您在 Hive 控制台上設置的時間段進行收集。Hive SDK 日誌基於 SDK 的設置,而遊戲日誌則靈活地供遊戲開發者設置值。Warning
确保
-
如果您生成過多的日誌,過載的網絡流量或日誌處理可能會干擾您遊戲的運行。Hive 建議您省略循環類型的重複日誌或在發送之前將其聚合為一條日誌以實現遠程日誌記錄。
-
如果您打算在遊戲日誌上使用遠程日誌,請提前聯繫GAMEVIL COM2US平台的解決方案架構師部分的負責人。
-
-
目標
遠端日誌僅針對那些其設備至少透過 Hive SDK 初始化一次的用戶。 然而,如果在初始化 SDK 之前發生崩潰或錯誤,則某些遊戲無法使用此功能。 -
範例代碼
在遊戲需要收集日誌的每個部分插入以下代碼。
API 參考: Logger .log
API 參考: Logger:: log
API 參考: Logger.i
API 參考: LogInterface.log
API 參考: Objective-C
遠端配置¶
Hive SDK 使遊戲能夠管理與應用程式每個版本一對一映射的遊戲伺服器 URL。遠端配置以字串形式提供,通過調用 Configuration 類的 getMetaData()
API。以下是調用遠端配置的示例代碼。
API 參考: HiveConfiguration getMetaData
#include "HiveConfiguration.h"
// 資料鍵
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 參考: 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 參考: Configuration.getMetaData
import com.hive.Configuration
import com.hive.ResultAPI
// 数据键
val key = "game_server_url"
// 数据是否更新
val forceReload = false
// 元数据调用
Configuration.getMetaData(key, forceReload, object : Configuration.GetMetaDataListener {
override fun onGetMetaData(result: ResultAPI, data: String) {
if (result.isSuccess) {
// 调用成功
}
}
})
API 參考: HIVEConfiguration getMegaData
Note
要使用快取資料,將 forceReload
設為 false
。
- 如果您在
forceReload
为true
时调用getMetaDate()
方法,它会删除本地存储的数据,并尝试从服务器获取最新数据。此操作通常用于重新运行应用程序时的刷新等任务。