SDKの初期化¶
Hive SDKの初期化は、SDKの機能のほとんどを初期化状態、つまり使用可能な状態にすることを意味します。SDKコードを実装する際は、まず初期化を実行し、その後Hive機能を実装するためのメソッドを呼び出す必要があります。
Note
基本設定を完了した後、Hive SDKを初期化する必要があります。
Note
他のHive SDK機能とは異なり、課金には独自の初期化が必要です。
初期化メソッド¶
Hive SDKを初期化するには、AuthV4.setupを呼び出します。アプリが実行され、企業ロゴ(CI)が表示された後に初期化を行うことをお勧めします。コールバック結果として受け取ったresult.isSuccessがTrueであれば、初期化は成功しました。以下はサンプルコードです。
API リファレンス: AuthV4.setup
using hive;
    // Hive SDKの初期化をリクエスト
    AuthV4.setup((result, isAutoSignIn, did, providerTypeList) => {
        if (result.isSuccess()) {
            // 初期化が成功しました。自動ログインが有効かどうかに基づいてログインを処理します。
        } else if (result.needExit()) {
            // TODO: アプリの終了を実装する
            // Cocos2d-xエンジンのユーザー
            // 例) exit(0);
            // Unrealエンジンのユーザー
            // 例) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);    
        } else {
            // 初期化に失敗しました 
        }
    });
APIリファレンス: AuthV4::setup
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
    // 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 {
            // 初期化に失敗しました 
        }
    });
APIリファレンス: com.hive.AuthV4.setup
import com.hive.AuthV4;
    // 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
import com.hive.AuthV4;  
    // 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: アプリの終了を実装    
                // ex) System.exit(0);    
            } else {    
                // 初期化に失敗しました 
            } 
        } 
    });
APIリファレンス: HIVEAuthV4:setup
APIリファレンス: HIVEAuthV4:setup
#import <HIVEService/HIVEService-Swift.h> 
    // リクエスト Hive SDK 初期化    
    [HIVEAuthV4 setup:^(HIVEResultAPI *result, BOOL isAutoSignIn, NSString *did, NSArray<NSNumber *> *providerTypeList) {    
        if (result.isSuccess) {    
            // 初期化が成功しました。自動ログインが有効かどうかに基づいてログインを処理します。    
        } else if (result.needExit) {    
            // TODO: アプリの終了を実装する    
            // 例) exit(0);    
        } 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: アプリ終了機能を実装する
                    // 例) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
            } else {
                    // 初期化失敗
            }
    }));
結果コールバックには以下の情報が含まれています。開発者は以下の情報を保存し、必要に応じて使用するべきです。
| フィールド名 | 説明 | 例 | 
|---|---|---|
| isAutoSignIn | 自動ログインが可能かどうか | true | 
| did | アプリのインストール時に作成されるアプリ識別子で、同じタイプのアプリを識別するために使用されます。 | 123456789 | 
| providerTypeList | 現在のアプリが提供するIdPのリストです。これは、明示的ログインカスタマイズやIdP接続状態情報を構成する際に必須です。 | ProviderType.FACEBOOKProviderType.HIVE | 
Note
Hive Console > App Center > Project Management プロジェクトのステータスが サービス終了 の場合、AuthV4.setup を実行するとエラーコードが返されます。
初期化結果¶
SDKの初期化は以下のことを行います。
以下の画像は、AuthV4.setupが実行されるときにSDKが内部で実行するワークフローを示しています。
Note
iOSアプリのトラッキング透明性ポップアップは、利用規約の同意ポップアップが表示された後、ユーザーが利用規約に同意を完了した後に表示されます。
