コンテンツにスキップ

Hive SDKを初期化する方法

ゲームでHive SDK機能を使用するには、Hive SDKを初期化する必要があります。初期化後、Hive コンソールに登録されたサービス利用規約や更新および通知ポップアップが自動的に表示されます。

Warning

hive_config.xml ファイルを初期化する前に設定するのを忘れないでください Hive SDK。

初期化の仕組み

Hive SDKが初期化されると、次の機能を実行します:

  • Hive SDKは、1つの初期化関数で以下の項目を初期化します。
    • 認証: Hive クライアントを初期化し、ユーザーIdPを認証します
    • プロモーション: 広告を行い、クーポンを発行します
    • 通知: ユーザーへのプッシュメッセージを管理し、設定します
    • マーケティングアトリビューション: 広告やイベント分析を通じてプレイヤー数などのユーザーデータを追跡するサードパーティモジュールの総合管理をサポートします
  • Hive SDKは、アプリのアクセス権限を直接通知しません。詳細については、[FAQ]を確認してください。
  • 関連ゲームのために設定された更新および通知ポップアップを表示します。Google Playストアの場合、アプリ内更新がサポートされています。更新ポップアップの登録の詳細については、Hive コンソールガイドを参照してください。
  • ユーザーのIPを確認し、国別の利用規約を表示します。

アプリ内更新

アプリ内更新 は、更新ポップアップの設定に従って、アプリを終了することなくバックグラウンドでアプリを更新する機能です。アプリ内更新は、以下の条件の下で使用できます。

  • Google Playストアのみサポートされています。
  • Androidモバイル、Androidタブレット、およびChromeOSデバイスのみサポートされています。
  • アプリファイル形式はAAB(Android App Bundle)とAPKの両方をサポートしています。ただし、APK拡張ファイル(*.obb*ファイル)はサポートされていません。
  • AABの場合、最大200MBがサポートされ、APKの場合、最大150MBがサポートされています。

Hive 初期化ダイアグラム

Hive 認証キーの登録

ConfigurationクラスAPIを使用して、Hiveコンソールページで発行されたHive認証キーをHive初期化の前に登録します。対応するAPIはバージョン4.15.0以上から提供されています。

APIリファレンス: Unity®

using hive;    
    String hiveCertKey = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc";    
Configuration.setHiveCertificationKey(hiveCertKey);
include "HiveConfiguration.h"

    FString hiveCertKey = TEXT("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc");
    FHiveConfiguration::SetHiveCertificationKey(hiveCertKey);

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

import com.hive.Configuration    
    val hiveCertKey = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc"    
Configuration.hiveCertificationKey = hiveCertKey

APIリファレンス: Java

import com.hive.Configuration;    
    String hiveCertKey = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc";    
Configuration.INSTANCE.setHiveCertificationKey(hiveCertkey);

API リファレンス: Swift

import HIVEService    
    let hiveCertKey = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc"    
ConfigurationInterface.setHiveCertificationKey(hiveCertKey)

API リファレンス: Objective-C

#import <HIVEService/HIVEService-Swift.h>    
    NSString *hiveCertKey = @"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAzNzc4OTU2LCJqdGkiOiIxODczMTExMzIwIn0.OxWo4R6UdI0BLP1ckt8RlMFrPAb5H7TNedmLFV1Cawc";    
[HIVEConfiguration setHiveCertificationKey: hiveCertKey];

初期化の実装

Hive SDKを初期化するには、AuthV4クラスにsetup()メソッドを実装してください。以下のデータが結果として提供されるので、ゲーム内にデータを保存し、必要に応じて利用できます。

  • Hive 初期化の結果データ
フィールド名 説明
isAutoSignIn 自動ログインが利用可能かどうか true
did didはアプリインストール時に作成されるアプリインスタンスの識別子です。同じアプリのアプリインスタンスを識別するために使用されます。 123456789
providerTypeList 現在のアプリに対する利用可能なIdPリスト
カスタマイズされた明示的ログインを使用する際やIdP同期ステータスの情報を構成する際に必要な フィールドです。
ProviderType.FACEBOOK ProviderType.HIVE

以下はsetup()メソッドを実装するためのサンプルコードです。

APIリファレンス: AuthV4::setup

// リクエスト Hive SDK 初期化
AuthV4::setup([=](ResultAPI const & result, bool isAutoSignIn, std::string did, std::vector<ProviderType> const & providerTypeList) {

    if (result.isSuccess()) {
        // 初期化が成功しました。自動ログインが有効かどうかに基づいてログインを処理します。
    } else if (result.needExit()) {
        // TODO: アプリの終了を実装する
        // Cocos2d-xエンジンのユーザー
        // 例) exit(0);
        // Unrealエンジンのユーザー
        // 例) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);    
    } else {
        // 初期化に失敗しました } 
            });
#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

// リクエスト Hive SDK 初期化    
    AuthV4.setup(object: AuthV4.AuthV4SetupListener{    
        override fun onAuthV4Setup(result: ResultAPI, isAutoSignIn: Boolean, did: String?, providerTypeList: ArrayList<AuthV4.ProviderType>?) {        if (result.isSuccess) {    
                // 初期化が成功しました。自動ログインが有効かどうかに基づいてログインを処理します。    
            } else if (result.needExit()) {    
                // TODO: アプリの終了を実装する    
                // 例) exitProcess(0)    
            } else {    
            // 初期化に失敗しました } } })

APIリファレンス: com.hive.AuthV4.setup

// リクエスト Hive SDK 初期化    
    AuthV4.setup(new AuthV4.AuthV4SetupListener() {    
        @Override    
        public void onAuthV4Setup(ResultAPI result, boolean isAutoSignIn, String did, ArrayList<AuthV4.ProviderType> providerTypeList) {    

                if (result.isSuccess()) {    
                // 初期化が成功しました。自動ログインが有効かどうかに基づいてログインを処理します。    
            } else if (result.needExit()) {    
                // TODO: アプリの終了を実装します    
                // 例) System.exit(0);    
            } else {    
            // 初期化に失敗しました } } });

API リファレンス: HIVEAuthV4:setup

AuthV4Interface.setup { (result, isAutoSignIn, did, providerTypeList) in    
        if result.isSuccess() {    
            // 初期化が成功しました。自動ログインが有効かどうかに基づいてログインを処理します。    
        } else if result.needExit() {    
            // TODO: アプリの終了を実装します    
            // 例) exit(0)    
        } else {    
            // 初期化に失敗しました    
        }    
}

APIリファレンス: HIVEAuthV4:setup

// リクエスト Hive SDK 初期化    
    [HIVEAuthV4 setup:^(HIVEResultAPI *result, BOOL isAutoSignIn, NSString *did, NSArray<NSNumber *> *providerTypeList) {    
        if (result.isSuccess) {    
            // 初期化が成功しました。自動ログインが有効かどうかに基づいてログインを処理します。    
        } else if (result.needExit) {    
            // TODO: アプリの終了を実装する    
            // 例) exit(0);    
        } else {    
        // 初期化に失敗しました } }];
Note

ゲームサービスが終了した場合、setupメソッドが実行されるとエラーが返されます。

サーバーメンテナンスポップアップ

ゲームサービスでは、ゲームクライアントの更新後にバージョンをブロックする必要があるか、ゲームサーバーのメンテナンス中にゲーム接続をブロックする必要があります。 Hive は、Hive コンソールに設定された情報に従って、強制ゲーム更新、通知/サーバーメンテナンスの順序でポップアップを表示する機能を提供します。ゲーム内では、Hive SDK が提供する UI を使用するか、Hive から情報を受け取ってカスタマイズされた UI を実装することができます。

フォースによるゲームアップデート 特定のバージョンのゲームを使用するためのブロックと、アップデートのリンクを提供します
サーバーメンテナンス ゲームサーバーによってメンテナンスステータスを設定でき、サーバーメンテナンス中にゲームごとの公式コミュニティリンクを提供することを推奨します
通知 すべてのユーザーに強制的ではない重要な通知や更新情報を公開するために使用します
Note
  • 更新/メンテナンスポップアップは初期化ステップの一部です。サーバーメンテナンスポップアップは、自動選択または手動選択に関係なく、サーバー選択のステップでも表示されるべきですので、メンテナンスポップアップが適切に表示されるように実装してください。

  • ユーザーがゲームサーバーに接続する前にゲームを開始せずに待つことができる場合、サーバーメンテナンスのポップアップをすでに設定していても、現時点でユーザーの接続をブロックすることはできません。これに対して、ゲームがユーザーの接続を強制的に終了できる時点でサーバーメンテナンスのポップアップを表示する必要があります。

ゲームサーバーが複数ある場合、ユーザーによって選択または設定されたゲームサーバー情報はHiveに設定されなければなりません。ユーザーがゲームサーバーを選択する必要がある場合、さまざまな種類のポップアップを表示する前に、ConfigurationクラスのsetServerId()メソッドを呼び出してHive設定を変更するためのサーバー選択UIを実装してください。Hive設定を変更してプロモーションニュースデータを更新したい場合は、setServerId()メソッドの代わりにConfigurationクラスのupdateServerId()メソッドを呼び出してください。

ゲームサーバーが設定された後、いつでもポップアップを表示できます。Hive コンソールにポップアップを設定すると、メンテナンス中にゲームアクセスがブロックされます。ポップアップの表示は、Hive SDK が提供する UI を使用するか、Hive からの情報に基づいてカスタマイズすることができます。サーバーメンテナンスポップアップ/更新ポップアップ/通知ポップアップは、各ゲームサーバーに設定できます。

ポップアップ内容の設定

Hive コンソールでサーバーメンテナンスポップアップ/更新ポップアップ/通知ポップアップの詳細を設定します。設定に関する詳細は、操作 > プロビジョニングガイドを参照してください。

ポップアップを表示

Hive SDKはメンテナンスポップアップ/更新ポップアップ/通知ポップアップを表示するか、ポップアップメッセージの情報を返してポップアップをカスタマイズします。 Hive が表示する場合、ポップアップは Hive のUIスタイルで表示されますが、自分で行いたい場合は、好きなスタイルでポップアップを表示できます。 Hive ポップアップを使用しているかどうかに応じて、以下のようにパラメータを設定してAuthV4クラスのcheckMaintenance()メソッドを呼び出します。

  • Hiveを提供するポップアップの使用例: isShowパラメータをtrueに設定します。
  • ポップアップをカスタマイズするためのポップアップデータのリクエスト: isShowパラメータをfalseに設定します。ポップアップデータに関する詳細は、以下のHiveによって返されるポップアップデータを参照してください。

  • ポップアップの例画面

以下は、Hiveによって提供されたUIを使用してサーバーメンテナンスのポップアップを表示する例のコードです。サーバーメンテナンスが完了していないときにユーザーがこのポップアップを閉じると、終了イベントが発火し、ResultAPI resultに転送されます。

APIリファレンス: 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: アプリ終了機能を実装する    
            // 例) 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: アプリ終了機能を実装する    
      // 例) 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

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: アプリ終了機能を実装    
            // 例) exit(0)    
        }    
}

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 Consoleの設定に応じて、適切な利用規約およびポリシーが自動的に選択されてユーザーに公開されます。利用規約およびポリシーのリンクを表示する方法は、ゲーム開発会社によって異なります。

  • 利用規約の例の画面

ボタンやリンクをクリックしたときに利用規約を表示するには、**AuthV4**クラスのshowTerms()メソッドを呼び出します。以下はサンプルコードです。

API リファレンス: Unity®

using hive;    
    AuthV4.showTerms((ResultAPI result) => {    
        if (result.isSuccess()) {    
            // API call success    
        }    
});
#include "HiveAuthV4.h"

FHiveAuthV4::ShowTerms(FHiveAuthV4OnShowTermsDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                //API呼び出し成功
        }
}));

APIリファレンス: C++

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    AuthV4::showTerms([=](ResultAPI const & result) {    
        if (result.isSuccess()) {    
            // API call success    
        }    
});

APIリファレンス: Kotlin

import com.hive.AuthV4    
    import com.hive.ResultAPI    
    AuthV4.showTerms(object : AuthV4.AuthV4ShowTermsListener {    
        override fun onAuthV4ShowTerms(result: ResultAPI) {    
            if (result.isSuccess) {    
                // API call success    
            }    
        }    
})

APIリファレンス: Java

import com.hive.AuthV4;    
    import com.hive.ResultAPI;    
    AuthV4.INSTANCE.showTerms(result -> {    
        if (result.isSuccess()) {    
            // API call success    
        }    
});

API リファレンス: Swift

import HIVEService    
    AuthV4Interface.showTerms() { result in    
        if result.isSuccess() {    
            // API call success    
        }    
}

API リファレンス: Objective-C

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEAuthV4 showTerms:^(HIVEResultAPI *result) {     
        if ([result isSuccess]) {    
            // API call success    
        }    
}];

利用規約の同意履歴を削除する

ゲームユーザーが初めてゲームを実行する際に利用規約に同意すると、その同意の記録はデバイスに残ります。以下のresetAgreementメソッドは、この履歴を削除します。

Note

Hive SDK 4.22.0以降、ゲームユーザーがアカウントを削除し、その後再度ゲームを実行すると、削除されたアカウントに同意した情報が残っているため、利用規約の同意ポップアップが表示されないという問題があります。アカウントを削除した後にHive SDKをリセットする際に利用規約の同意ポップアップを再表示したい場合は、resetAgreementを呼び出して以前に保存された利用規約の同意情報を削除する必要があります。その後、AuthV4.setup()を呼び出してHive SDKを初期化してください。

using hive;

AuthV4.resetAgreement();
#include "HiveAuthV4.h"

FHiveAuthV4::ResetAgreement();
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

AuthV4::resetAgreement()
import com.hive.AuthV4

AuthV4.resetAgreement()
import com.hive.AuthV4;

AuthV4.INSTANCE.resetAgreement();
import HIVEService

AuthV4Interface.resetAgreement()
#import <HIVEService/HIVEService-Swift.h>

[AuthV4Interface resetAgreement]

Hive プロフィール

プロフィール画面を表示するには、AuthV4クラスのshowProfile()を呼び出します。プロフィール画面が表示されると、ユーザーは自分のプロフィール画像とニックネームを確認および変更できます。

 

以下は、 プロフィールを表示するための例コードです。

APIリファレンス: AuthV4.showProfile

using hive;    
    // playerId of the logged-in user    
    Int64 playerId = 12345;    
    AuthV4.showProfile(playerId, (ResultAPI result) => {    
        if (result.isSuccess()) {    
            // Call successful    
        }    
});
#include "HiveAuthV4.h"

// ログイン中のユーザーのplayerId  
int64 PlayerId = 12345;

FHiveAuthV4::ShowProfile(PlayerId, FHiveAuthV4OnShowProfileDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                // 成功しました
        }
}));

API リファレンス: AuthV4::showProfile

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    // ログインユーザーのplayerId    
    long long playerId = 12345;    
    AuthV4::showProfile(playerId, [=](ResultAPI const & result){    
        if (result.isSuccess()) {    
            // 呼び出し成功    
        }    
});

APIリファレンス: AuthV4.showProfile

import com.hive.AuthV4    
    import com.hive.ResultAPI    
    // ログインしているユーザーのplayerId    
    val playerId = 12345L    
    AuthV4.showProfile(playerId, object : AuthV4.AuthV4ShowProfileListener{    
        override fun onAuthV4ShowProfile(result: ResultAPI) {    
            if (result.isSuccess) {    
                // 呼び出し成功    
            }    
        }    
})

APIリファレンス: AuthV4.INSTANCE.showProfile

import com.hive.AuthV4;    
    import com.hive.ResultAPI;    
    // ログインしているユーザーのplayerId    
    long playerId = 12345;    
    AuthV4.INSTANCE.showProfile(playerId, result -> {    
        if (result.isSuccess()) {    
            // 成功した呼び出し    
        }    
});

APIリファレンス: AuthV4Interface.showProfile

import HIVEService    
    // playerId of the logged-in user    
    let playerId: Int64 = 12345    
    AuthV4Interface.showProfile(playerId) { result in    
        if result.isSuccess() {    
            // Call successful    
        }    
}

API リファレンス: [HIVEAuthV4 showProfile]

#import <HIVEService/HIVEService-Swift.h>    
    // ログインユーザーのplayerId    
    long long playerId = 12345;    
    [HIVEAuthV4 showProfile: playerId handler: ^(HIVEResultAPI *result) {    
        if ([result isSuccess]) {    
            // 成功した呼び出し    
        }    
}];

メンバーシップ IdPを提供する場合、Hive メンバーシップは、Hive プロファイル画面の Hive アカウント設定でパスワード変更とメンバーシップ退会を提供しますので、showProfile()を**必ず**実装する必要があります。

  • Hive メンバーシップ IdP が統合されたときのプロフィール。

  • Hive メンバーシップ以外のIdP(ゲストを含む)が統合されたときのプロファイル。

他のIdPのみを提供しても、Hive メンバーシップIdPを提供しない場合でも、プロフィール画面を表示することで、外国からのログインをブロックしたり、すべてのデバイスからログアウトしたり、ログイン履歴を確認したりするなどのセキュリティ機能を提供できます。したがって、プロフィール画面を表示するためにshowProfile()を実装することをお勧めします。FacebookのようなIdPと統合されている場合、プロフィール画像やニックネームを返すと、そのIdPから提供された画像とニックネームが自動的にプロフィール画面に設定されます。

お問い合わせ

Hiveプラットフォームのユーザー向けのカスタマーサービスシステムとして、各ゲームのFAQと問い合わせを提供します。この機能は、HiveのウェブサイトやHiveのモバイルウェブでも利用可能です。HiveカスタマーサービスにアクセスするためのボタンでCSコード(PlayerID)を表示し、ユーザーがゲームに関する質問を投稿できるようにします。

Note
  • Hive のカスタマーサービスは、ゲストユーザーにも利用可能です。
  • カスタマーサービスリンクの表示方法は、ゲーム出版会社によって異なります。
  • 1:1の問い合わせを除き、ポリシーの問題によりメールアドレスや電話番号の表示は禁止されています。
  • 問い合わせの例画面

問い合わせページを表示するには、**AuthV4**クラスのshowInquiry()メソッドを呼び出します。 以下は問い合わせページを表示するためのサンプルコードです。

APIリファレンス: AuthV4.showInquiry

using hive;    
    AuthV4.showInquiry((ResultAPI result) => {    
    if (result.isSuccess()) {    
    // call successful    
    }    
});
#include "HiveAuthV4.h"

FHiveAuthV4::ShowInquiry(FHiveAuthV4OnShowInquiryDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                // call successful 
        }
}));

APIリファレンス: AuthV4 ::showInquiry

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    AuthV4::showInquiry([=](ResultAPI const & result) {    
    if (result.isSuccess()) {    
    // call successful    
    }    
});

APIリファレンス: AuthV4.showInquiry

import com.hive.AuthV4    
    import com.hive.ResultAPI    
    AuthV4.showInquiry(object : AuthV4.AuthV4ShowInquiryListener {    
         override fun onAuthV4ShowInquiry(result: ResultAPI) {    
             if (result.isSuccess) {    
                 // call successful    
             }    
         }    
})

APIリファレンス: AuthV4.INSTANCE.showInquiry

import com.hive.AuthV4;    
    import com.hive.ResultAPI;    
    AuthV4.INSTANCE.showInquiry(result -> {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

APIリファレンス: AuthV4Interface .showInquiry

import HIVEService    
    AuthV4Interface.showInquiry() { result in    
    if result.isSuccess() {    
    // call successful    
    }    
}

API リファレンス: [ HIVEAuthV4 showInquiry]

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEAuthV4 showInquiry: ^(HIVEResultAPI *result) {    
    if ([result isSuccess]) {    
    // call successful    
    }    
}];

私の問い合わせショートカット

Hive メンバーシップと同期されたユーザーは、マイインクワイアリのショートカットを通じて自分の問い合わせ履歴を確認できます。AuthV4 クラスで showMyInquiry() メソッドを呼び出して、ユーザーがあなたのゲームについて問い合わせを行い、簡単に解決できるようにします。ただし、ユーザーが Hive モバイルまたはウェブサイトを通じて問い合わせを行った場合、Hive ID と CS コード(PlayerID)が指定されていても、ユーザーが Hive メンバーシップにログインしているかどうかが不明なため、問い合わせは公開されません。

Note
  • ユーザーがログインしている場合にのみ、Hive メンバーシップで My Inquiry ショートカット API を実装できます。他の IdP と同期して API を呼び出そうとすると、エラーメッセージが返されます。
  • Auth v4 では、UID を発行するために Hive メンバーシップとアカウントをリンクする必要があります。したがって、ユーザーがゲストとしてログインするか、Hive メンバーシップ以外の IdP でログインした場合、Auth v4 では My Inquiry ショートカットを実装できません。

以下は、My Inquiryショートカットを公開するためのサンプルコードです。

APIリファレンス: hive.AuthV4 .showMyInquiry

using hive;    
    AuthV4.showMyInquiry((ResultAPI result) => {    
    if (result.isSuccess()) {    
    // call successful    
    }    
});
#include "HiveAuthV4.h"

FHiveAuthV4::ShowMyInquiry(FHiveAuthV4OnShowInquiryDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                // call successful
        }
}));

APIリファレンス: AuthV4:: showMyInquiry

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    AuthV4::showMyInquiry([=](ResultAPI const & result) {    
    if (result.isSuccess()) {    
    // call successful    
    }    
});

APIリファレンス: AuthV4.showMyInquiry

import com.hive.AuthV4    
    import com.hive.ResultAPI    
    AuthV4.showMyInquiry(object : AuthV4.AuthV4ShowMyInquiryListener {    
         override fun onAuthV4ShowMyInquiry(result: ResultAPI) {    
             if (result.isSuccess) {    
                 // call successful    
             }    
         }    
})

APIリファレンス: com.hive .AuthV4.showMyInquiry

import com.hive.AuthV4;    
    import com.hive.ResultAPI;    
    AuthV4.INSTANCE.showMyInquiry(result -> {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

APIリファレンス: AuthV4Interface .showMyInquiry

import HIVEService    
    AuthV4Interface.showMyInquiry() { result in    
    if result.isSuccess() {    
    // call successful    
    }    
}

APIリファレンス: HIVEAuthV4:: showMyInquiry

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEAuthV4 showMyInquiry: ^(HIVEResultAPI *result) {    
    if ([result isSuccess]) {    
    // call successful    
    }    
}];

Hive チャットボット CS

チャットボットによる問い合わせ
  • チャットボットの問い合わせの例画面

チャットボットページを表示するには、**AuthV4**クラスのshowChatbotInquiry()メソッドを呼び出します。

引数 タイプ 説明
additionalInfo 文字列 チャットボットページを公開する際に送信するデータ
"{ \"init_path\":\"hive_sdk_api\" }"として固定され、追加の値が必要な場合は、**Leading Development Team, Com2uS Platform**に連絡してください

以下は、チャットボットページを介して問い合わせを表示するためのサンプルコードです。

APIリファレンス: hive .AuthV4.showChatbotInquiry

using hive;    
    // チャットボットページショートカットAPIを呼び出すときに配信されることが約束されたJSON形式の文字列データ    
    String additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }";    
    AuthV4.showChatbotInquiry(additionalInfo, (ResultAPI result) => {    
         if (result.isSuccess()) {    
             // 呼び出し成功    
         }    
});
#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

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    // String data in JSON format promised to be delivered when calling the chatbot page shortcut API    
    string additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }";    
    AuthV4::showChatbotInquiry(additionalInfo, [=](ResultAPI const &result) {    
         if (result.isSuccess()) {    
            // call successful    
         }    
});

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リファレンス: com.hive .AuthV4.showChatbotInquiry

import com.hive.AuthV4;    
    import com.hive.ResultAPI;    
    // チャットボットページショートカットAPIを呼び出すときに提供されるJSON形式の文字列データ    
    String additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }";    
    AuthV4.INSTANCE.showChatbotInquiry(additionalInfo, result -> {    
         if (result.isSuccess()) {    
             // 呼び出し成功    
         }    
});

APIリファレンス: AuthV4Interface.showChatbotInquiry

import HIVEService    
    // チャットボットページショートカットAPIを呼び出すときに配信されることが約束されたJSON形式の文字列データ    
    let additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }"    
    AuthV4Interface.showChatbotInquiry(additionalInfo) { result in    
    if result.isSuccess() {    
    // 呼び出し成功    
    }    
}

APIリファレンス: HIVEAuthV4:: showChatbotInquiry

#import <HIVEService/HIVEService-Swift.h>    
    // チャットボットページショートカットAPIを呼び出すときに提供されるJSON形式の文字列データ    
    NSString *additionalInfo = @"{ \"init_path\":\"hive_sdk_api\" }";    
    [HIVEAuthV4 showChatbotInquiry:additionalInfo handler:^(HIVEResultAPI *result) {    
    if ([result isSuccess]) {    
             // 呼び出し成功    
         }    
}];

チャットボット設定

チャットボットの**AppDelegate**は、iOSアプリの最上部にあるオブジェクトの共通アクション(メソッド)を定義します。Xcodeでプロジェクトをビルドすると、自動的にクラスが生成されます。

Hive SDKは、ユーザーの便宜のためにチャットボットUIをポートレートモードのみで公開します。この機能をiOSで実行するには、ゲームエンジンの**AppDelegate**クラス内のapplication(_:supportedInterfaceOrientationsFor:)メソッドに関連する画面の向きに関する機能が必要です。このメソッドは、ゲームで使用するためのUIInterfaceOrientationMask値を返します。ランドスケープ専用のゲームではランドスケープを返し、ポートレート専用のゲームではポートレートを返し、すべてのタイプをサポートするゲームではランドスケープとポートレートの両方を返します。

Warning

Unityエンジンにはすでに画面回転のための**AppDelegate**メソッドが含まれているため、Xcodeでプロジェクトをビルドすると自動的に実行されます。つまり、Unityでゲームを開発する場合は、以下のサンプルコードをゲームに追加しないでください

Note

チャットボットサービスは、AppID登録プロセスのために**ソリューションアーキテクト部分、Com2uSプラットフォーム**をリクエストした後に利用可能です。

// ゲームエンジンがObjective-cの場合は、次のAppDelegate関数を実装してください。
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 
{
    // TODO: 横向きのみ
    return UIInterfaceOrientationMaskLandscape;
    // TODO: 縦向きのみ
    return UIInterfaceOrientationMaskPortrait;
    // TODO: 横向きと縦向きの両方
    return UIInterfaceOrientationMaskAll;
}
// ゲームエンジンがSwiftの場合は、次のAppDelegate関数を実装してください。
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask 
{
    // TODO: 横向きのみ
    return [.landscape]
    // TODO: 縦向きのみ
    return [.portrait]
    // TODO: 横向きと縦向きの両方
    return .all
}

iPadでのポートレートモード専用のチャットボットは、以下の追加設定でXcodeプロジェクトをビルドする必要があります。

コミュニティへの露出

自動ログイン処理とコミュニティの正常な運用のために、以下に示すようにAPI呼び出しを通じてコミュニティサイトを公開してください。Hive 規定に従ったコミュニティサイトを設定する際に、*withhive.com*や*com2us.com*以外のカスタムドメインアドレスを使用したい場合は、ドメインアドレスをHive Consoleホワイトリストに登録し、その後このAPIを呼び出してください。

Hiveコミュニティの自動ログインやその他の機能のために、以下のAPI呼び出しを通じてコミュニティページを公開してください。

Note

Windows環境では、公開されるコミュニティページがフレームとして開かれる場合、セキュリティ上の問題からページにX-Frame-Optionsヘッダーが設定されていると、ページがレンダリングされません。フレーム形式で開きたいページのオプションを確認してください。

APIリファレンス: SocialV4 .showCommunity

using hive;    
    // ビュータイプを設定する (FullScreen: フルスクリーン, Frame: フレームスクリーン)    
    SocialV4.ViewType viewType = SocialV4.ViewType.Frame;    
    SocialV4.showCommunity(SocialV4.ProviderType.HIVE, viewType, (ResultAPI result) => {    
    if (result.isSuccess()) {    
    // 成功した呼び出し    
    }    
});
#include "HiveSocialV4.h"

// 表示タイプを設定する (フルスクリーン: full screen, フレーム: frame screen)
ESocialV4ViewType ViewType = ESocialV4ViewType::Frame;

FHiveSocialV4::ShowCommunity(ESocialV4ProviderType::HIVE, ViewType, FHiveSocialV4OnShowCommunityDelegate::CreateLambda([this](const FHiveResultAPI& Result) {

        if (Result.IsSuccess()) {
                // call successful
        }
}));

APIリファレンス: SocialV4 .showCommunity

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    // ビュータイプを設定する (フルスクリーン: full screen, フレーム: frame screen)    
    SocialV4::ViewType viewType = SocialV4::ViewType::Frame;    
    SocialV4.showCommunity(SocialV4::ProviderType::HIVE, viewType, (ResultAPI const & result) {    
    if (result.isSuccess()) {    
    // 呼び出し成功    
    }    
});

API リファレンス: SocialV4.showCommunity

import com.hive.SocialV4    
    import com.hive.ResultAPI    
    // ビュータイプを設定する(フルスクリーン: full screen, フレーム: frame screen)    
    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

import com.hive.SocialV4;    
    import com.hive.ResultAPI;    
    // ビュータイプを設定する (フルスクリーン: full screen, フレーム: frame screen)    
    SocialV4.ViewType viewType = SocialV4.ViewType.Frame;    
    SocialV4.INSTANCE.showCommunity(SocialV4.ProviderType.HIVE, viewType, result -> {    
         if (result.isSuccess()) {    
             // 成功した呼び出し    
         }    
});

APIリファレンス: SocialV4Interface.showCommunity

import HIVEService    
    // Set view type (FullScreen: full screen, Frame: frame screen)    
    let viewType = SocialViewType.Frame    
    SocialV4Interface.showCommunity(.HIVE, viewType) { result in    
    if result.isSuccess() {    
    // call successful    
    }    
}

APIリファレンス: HIVESocialV4 showCommunity

#import <HIVEService/HIVEService-Swift.h>    
    // ビュータイプを設定する (フルスクリーン: full screen, フレーム: frame screen)    
    HIVESocialViewType viewType = HIVESocialViewTypeFrame;    
    [HIVESocialV4 showCommunity: HVIESocialProviderTypeHIVE viewType: viewType handler: ^(HIVEResultAPI *result) {    
    if ([result isSuccess]) {    
    // 成功した呼び出し    
    }    
}];

リモートロギングの実装

リモートロギングは、クライアントからHiveサーバーにデバッグログを送信することによって、公開されたアプリのログをリモートで確認するための機能です。この機能を実装するには、Hiveコンソールに登録してください。この機能は、対象ユーザーのリモートログをのみ有効にします。登録方法の詳細については、操作 > プロビジョニング > リモートロギングの操作ガイドを参照してください。

  • アクティベーション
    リモートロギングを有効にすると、Hive SDK ログとゲームログが、Hive コンソールで設定した期間中に収集されます。Hive SDK ログは SDK の設定に基づいており、ゲームログはゲーム開発者が値を設定できるよう柔軟です。

    Warning

    必ず確認してください

    • もしログが多すぎると、ネットワークトラフィックが過負荷になったり、ログ処理がゲームの実行に干渉する可能性があります。 Hive は、ループタイプから繰り返しのログを省略するか、リモートロギングを実装するために配信前に1つのログにまとめることをお勧めします。

    • ゲームログのリモートロギングを使用する予定がある場合は、事前にGAMEVIL COM2US PLATFORMのソリューションアーキテクト部門のPICに連絡してください。

  • ターゲティング
    リモートログは、少なくとも一度Hive SDKの初期化を通じてデバイスID(DID)を持つユーザーのみを対象とします。ただし、SDKの初期化前にクラッシュやエラーが発生した場合、一部のゲームではこの機能は利用できません。

  • リモートログの仕組み

  • サンプルコード
    ゲームがログを収集する必要があるすべての部分に以下のコードを挿入してください。

APIリファレンス: Logger .log

using hive;    
Logger.log("Enter logging contents");
#include "HiveLogger.h"

FHiveLogger::Log(TEXT("ログ内容を入力します"));

API リファレンス: Logger:: log

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

APIリファレンス: Logger.i

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

APIリファレンス: LogInterface.log

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

APIリファレンス: Objective-C

#import <HIVEBase/HIVEBase-Swift.h> 

[HIVELogger logWithSourceInfo:@"ログソース情報(クラス、メソッド名)" type: LogTypeInfo tag: @"ログタグ" msg: @"ログメッセージ"];

リモート設定

Hive SDKは、ゲームがアプリの各バージョンに1対1でマッピングされたゲームサーバーURLを管理できるようにします。リモート構成は、**Configuration**クラスのgetMetaData() APIを呼び出すことで文字列の形式で提供されます。以下は、リモート構成を呼び出す例のコードです。

APIリファレンス: HiveConfiguration getMetaData

using hive;    
    // データキー    
    String key = "game_server_url";    
    // データが更新されているか    
    Boolean forceReload = false;    
    // メタデータ呼び出し    
    Configuration.getMetaData(key, forceReload, (ResultAPI result, String value) => {    
    if (result.isSuccess()) {    
    // 呼び出し成功    
    }    
});
#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()) {
                // 呼び出し成功
        }
}));

API リファレンス: Configuration:: getMetaData

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    // データキー    
    string key = "game_server_url";    
    // データが更新されているか    
    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リファレンス: Configuration.INSTANCE .getMetaData

import com.hive.Configuration;    
    import com.hive.ResultAPI;    
    // データキー    
    String key = "game_server_url";    
    // データが更新されているか    
    boolean forceReload = false;    
    // メタデータ呼び出し    
    Configuration.INSTANCE.getMetaData(key, forceReload, (result, data) -> {    
         if (result.isSuccess()) {    
             // 呼び出し成功    
         }    
});

API リファレンス: 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リファレンス: HIVEConfiguration getMegaData

#import <HIVEService/HIVEService-Swift.h>    
    // データキー    
    NSString *key = @"game_server_url";    
    // データが更新されているか    
    BOOL forceload = NO;    
    // メタデータ呼び出し    
    [HIVEConfiguration getMegaData: key forceReload: forceReload handler: ^(HIVEResultAPI *result, NSString *value) {    
    if ([result isSuccess]) {    
    // 呼び出し成功    
    }    
}];
Note

キャッシュデータを使用するには、forceReloadfalseに設定します。

  • forceReloadtrueのときにgetMetaDate()メソッドを呼び出すと、ローカルに保存されたデータが削除され、サーバーから最新のデータを取得しようとします。このアクションは、アプリを再実行する際のリフレッシュなどのタスクに一般的に使用されます。