Gamebase Unreal SDKを使用するには、初期化を行う必要があります。またアプリID、アプリバージョン情報がTOAST Consoleに登録されている必要があります。
Gamebase APIを使用するには、次のヘッダファイルをインクルードします。
#include "GamebaseSubsystem.h"
初期化時に必要な設定は下記の通りです。
Setting value | Supported Platform | Mandatory(M) / Optional(O) |
---|---|---|
AppID | ALL | M |
AppVersion | ALL | M |
StoreCode | ALL | M |
DisplayLanguageCode | ALL | O |
bEnablePopup | ALL | O |
bEnableLaunchingStatusPopup | ALL | O |
bEnableBanPopup | ALL | O |
Gamebase Consoleに登録されたプロジェクトIDです。
Game > Gamebase > コンソール使用ガイド > アプリ > App
Gamebase Consoleに登録したクライアントバージョンです。
Game > Gamebase > コンソール使用ガイド > アプリ > Client
NHN Cloud統合アプリ内決済サービスであるIAP(In-App Purchase)を初期化するために必要なストア情報です。
Store | Code | GamebaseStoreCode | Description |
---|---|---|---|
App Store | AS | GamebaseStoreCode::AppStore | only iOS |
Google Play | GG | GamebaseStoreCode::Google | only Android |
One Store | ONESTORE | GamebaseStoreCode::OneStore | only Android |
Galaxy Store | GALAXY | GamebaseStoreCode::Galaxy | only Android |
Amazon Appstore | AMAZON | GamebaseStoreCode::Amazon | only Android |
Huawei AppGallery | HUAWEI | GamebaseStoreCode::Huawei | only Android |
MyCard | MYCARD | GamebaseStoreCode::MyCard | only Android |
Epic Games Store | EPIC | GamebaseStoreCode::Epic | only Windows |
Steam | STEAM | GamebaseStoreCode::Steam | only Windows |
システムメンテナンス、利用制裁(ban)など、ゲームユーザーがゲームをプレイできない状況で、ポップアップなどで理由を表示する必要がある時があります。 Gamebaseで提供する基本ポップアップを使用するかの設定です。
LaunchingStatusがゲームをできない状態の場合、Gamebaseで提供する基本ポップアップを使用するかの設定です。 LaunchingStatusは、下記Launching項目下のState、Code部分を参照してください。
ログイン時、該当ゲームユーザーが利用停止状態の場合、Gamebaseで提供する基本ポップアップを使用するかどうかの設定です。
Gamebase ServerからKickoutイベントを受け取った場合、Gamebaseで提供する基本ポップアップを使用するかどうかの設定です。
[注意]
ゲームをリリースする時は、必ずソースコードからSetDebugModeの呼び出しを削除するか、パラメータをfalseに変更してビルドしてください。
デバッグ設定はConsoleでも行えます。Consoleで設定された値を優先視します。 Console設定方法は、以下のガイドを参考にしてください。
API
Supported Platforms ■ UNREAL_ANDROID ■ UNREAL_IOS ■ UNREAL_WINDOWS
void SetDebugMode(bool bIsDebugMode);
Example
void USample::SetDebugMode(bool isDebugMode)
{
UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem<UGamebaseSubsystem>(GetGameInstance());
Subsystem->SetDebugMode(isDebugMode);
}
SDKを初期化します。
API
Supported Platforms ■ UNREAL_ANDROID ■ UNREAL_IOS ■ UNREAL_WINDOWS
void Initialize(const FGamebaseConfiguration& Configuration, const FGamebaseLaunchingInfoDelegate& Callback);
Example
void USample::Initialize(const FString& AppID, const FString& AppVersion)
{
FGamebaseConfiguration Configuration;
Configuration.AppID = AppID;
Configuration.AppVersion = AppVersion;
Configuration.StoreCode = GamebaseStoreCode.Google;
Configuration.bEnablePopup = true;
Configuration.bEnableLaunchingStatusPopup = true;
Configuration.bEnableBanPopup = true;
UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem<UGamebaseSubsystem>(GetGameInstance());
Subsystem->Initialize(Configuration, FGamebaseLaunchingInfoDelegate::CreateLambda([=](const FGamebaseLaunchingInfo* LaunchingInfo, const FGamebaseError* Error)
{
if (Gamebase::IsSuccess(Error))
{
UE_LOG(GamebaseTestResults, Display, TEXT("Initialize succeeded."));
// Following notices are registered in the Gamebase Console
auto Notice = LaunchingInfo->Launching.Notice;
if (Notice != null)
{
if (string.IsNullOrEmpty(Notice.message) == false)
{
UE_LOG(GamebaseTestResults, Display, TEXT("title: %s"), Notice.title);
UE_LOG(GamebaseTestResults, Display, TEXT("message: %s"), Notice.message);
UE_LOG(GamebaseTestResults, Display, TEXT("url: %s"), Notice.url);
}
}
// Status information of game app version set in the Gamebase Unreal SDK initialization.
auto Status = LaunchingInfo->Launching.Status;
// Game status code (e.g. Under maintenance, Update is required, Service has been terminated)
// refer to GamebaseLaunchingStatus
if (Status.Code == GamebaseLaunchingStatus::IN_SERVICE)
{
// Service is now normally provided.
}
else
{
switch (Status.Code)
{
case GamebaseLaunchingStatus::RECOMMEND_UPDATE:
{
// Update is recommended.
break;
}
// ...
case GamebaseLaunchingStatus::INTERNAL_SERVER_ERROR:
{
// Error in internal server.
break;
}
}
}
}
else
{
// Check the Error code and handle the Error appropriately.
UE_LOG(GamebaseTestResults, Display, TEXT("Initialize failed."));
}
}));
}
Initialize APIを使用してGamebase Unreal SDKを初期化すると、LaunchingInfoオブジェクトが結果値として伝達されます。 このLaunchingInfoオブジェクトにはGamebase Consoleに設定した値とゲーム状態などが含まれています。
Gamebaseローンチ情報です。
1.1 Status
Gamebase Unreal SDK初期化設定に入力したアプリバージョンのゲーム状態情報です。
ステータスコードは、下記の表を参照してください。
Status | Code | Description |
---|---|---|
IN_SERVICE | 200 | 正常サービス中 |
RECOMMEND_UPDATE | 201 | アップデート推奨 |
IN_SERVICE_BY_QA_WHITE_LIST | 202 | メンテナンス中はサービスを利用できませんが、QA端末に登録されている場合はメンテナンスに関係なくサービスに接続してテストできます。 |
IN_TEST | 203 | テスト中 |
IN_REVIEW | 204 | 審査中 |
IN_BETA | 205 | ベータサーバー環境 |
REQUIRE_UPDATE | 300 | アップデート必須 |
BLOCKED_USER | 301 | 接続遮断に登録された端末(デバイスキー)でサービスに接続した場合です。 |
TERMINATED_SERVICE | 302 | サービス終了 |
INSPECTING_SERVICE | 303 | サービスメンテナンス中 |
INSPECTING_ALL_SERVICES | 304 | 全サービスメンテナンス中 |
INTERNAL_SERVER_ERROR | 500 | 内部サーバーエラー |
Game > Gamebase > コンソール使用ガイド > アプリ > App
1.2 App
Gamebase Consoleに登録されたアプリ情報です。
Game > Gamebase > コンソール使用ガイド > アプリ > Client
1.3 Maintenance
Gamebase Consoleに登録されたメンテナンス情報です。
Game > Gamebase > コンソール使用ガイド > 運営 > Maintenance
1.4 Notice
Gamebase Consoleに登録された告知情報です。
Game > Gamebase > コンソール使用ガイド > 運営 > Notice
Gamebaseと連携されたTOASTサービスのappKeyです。
NHN Cloud Consoleに登録されたIAPストア情報です。
Game > Gamebase > コンソール使用ガイド > 決済
NHN Cloud Launchingコンソールでユーザーが入力した情報です。
Game > Gamebase > コンソール使用ガイド > 管理 > Config
GetLaunchingInformations APIを利用すると、Initialize後にもLaunchingInfoオブジェクトを取得できます。
[注意]
GetLaunchingInformations APIは、リアルタイムでサーバーから情報を取得する非同期APIではありません。 2分毎にアップデートされるキャッシュ情報を返すめ、リアルタイムで現在のメンテナンス状況を判断する用途には適していません。 このような場合にはLaunching Status Codeが変更されれ時にイベントが動作するGamebaseEventHandlerを活用してください。 Game > Gamebase > Unreal SDK使用ガイド > ETC > Additional Features > Gamebase Event Handler > Observer
API
Supported Platforms ■ UNREAL_ANDROID ■ UNREAL_IOS ■ UNREAL_WINDOWS
const FGamebaseLaunchingInfoPtr GetLaunchingInformations() const;
Example
void USample::GetLaunchingInformations()
{
auto LaunchingInformation = UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem<UGamebaseSubsystem>(GetGameInstance());
Subsystem->GetLaunching().GetLaunchingInformations();
if (LaunchingInformation.IsValid() == false)
{
UE_LOG(GamebaseTestResults, Display, TEXT("Not found launching info."));
return;
}
}
Error | Error Code | Description |
---|---|---|
NOT_INITIALIZED | 1 | Gamebaseが初期化されていません。 |
NOT_LOGGED_IN | 2 | ログインが必要です。 |
INVALID_PARAMETER | 3 | 無効なパラメータです。 |
INVALID_JSON_FORMAT | 4 | JSONフォーマットエラーです。 |
USER_PERMISSION | 5 | 権限がありません。 |
NOT_SUPPORTED | 10 | サポートしない機能です。 |