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.FACEBOOK ProviderType.HIVE |
Note
Hive Console > App Center > Project Management プロジェクトのステータスが サービス終了 の場合、AuthV4.setup
を実行するとエラーコードが返されます。
初期化結果¶
SDKの初期化は以下のことを行います。
以下の画像は、AuthV4.setup
が実行されるときにSDKが内部で実行するワークフローを示しています。
Note
iOSアプリのトラッキング透明性ポップアップは、利用規約の同意ポップアップが表示された後、ユーザーが利用規約に同意を完了した後に表示されます。