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);
// 虚幻引擎用户
// 示例) 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
API Reference: 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: 实现应用退出功能
// 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 初始化执行以下操作。
下图显示了当运行AuthV4.setup
时,SDK内部执行的工作流程。
Note
iOS 应用跟踪透明度弹出窗口在用户完成条款协议后显示条款协议弹出窗口后显示。