コンテンツにスキップ

SDKの初期化

Hive SDKの初期化は、SDKの機能のほとんどを初期化状態、つまり使用可能な状態にすることを意味します。SDKコードを実装する際は、まず初期化を実行し、その後Hive機能を実装するためのメソッドを呼び出す必要があります。

Note

基本設定を完了した後、Hive SDKを初期化する必要があります。

Note

他のHive SDK機能とは異なり、課金には独自の初期化が必要です

初期化メソッド

Hive SDKを初期化するには、AuthV4.setupを呼び出します。アプリが実行され、企業ロゴ(CI)が表示された後に初期化を行うことをお勧めします。コールバック結果として受け取ったresult.isSuccessTrueであれば、初期化は成功しました。以下はサンプルコードです。

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

import HIVEService

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

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.FACEBOOK
ProviderType.HIVE
Note

Hive Console > App Center > Project Management プロジェクトのステータスが サービス終了 の場合、AuthV4.setup を実行するとエラーコードが返されます。

初期化結果

SDKの初期化は以下のことを行います。

  • 認証、プロモーション、通知、およびマーケティング帰属を初期化します
  • Hive コンソールに登録された利用規約更新ポップアップを自動的に表示します


以下の画像は、AuthV4.setupが実行されるときにSDKが内部で実行するワークフローを示しています。

Note

iOSアプリのトラッキング透明性ポップアップは、利用規約の同意ポップアップが表示された後、ユーザーが利用規約に同意を完了した後に表示されます。