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: 實現應用程序的終止
// ex) 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: 實現應用程序的終止
// ex) 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: 实现应用退出功能
// e.g.) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
} else {
// 初始化失败
}
}));
結果回調包含以下信息。開發者應該儲存以下信息並在必要時使用。
欄位名稱 | 描述 | 範例 |
isAutoSignIn | 是否可以自動登入 | true |
did | 在應用程式安裝時創建的應用程式識別碼,用於識別相同類型的應用程式。 | 123456789 |
providerTypeList | 當前應用程式提供的 IdP 列表。在配置 顯式登入自定義 或 IdP 連接狀態資訊 時是 必需 的。 | ProviderType.FACEBOOK
ProviderType.HIVE |
Note
Hive 控制台 > 應用中心 > 專案管理 當專案狀態為 服務結束 時,執行 AuthV4.setup
將返回錯誤代碼。
初始化結果
SDK 初始化執行以下操作。
- 初始化身份驗證、促銷、通知和行銷歸因
- 自動顯示在 Hive 控制台中註冊的條款和更新彈出窗口
下方的圖片顯示了當執行 AuthV4.setup
時,SDK 內部執行的工作流程。

Note
iOS 應用程式追蹤透明度彈出窗口在顯示條款同意彈出窗口後顯示,並且用戶完成條款同意。