Game > Gamebase > Unreal SDK使用ガイド > 開始する

Gamebase Unreal SDKの使用環境および初期設定の説明を行います。

Environments

[参考]

Unrealサポートバージョン

  • UE 4.22 ~ UE 4.26
  • 下位バージョンのUnrealのサポートが必要な場合はサポートへお問い合わせください。

Supported Platforms

  • iOS
  • Android
  • Editor
    • 一部機能のみサポートします。

選択したプラットフォームでサポートしないGamebase APIを呼び出す時は、下記のエラーがコールバックで返り、コールバックがない場合はWarningログが出力されます。

  • GamebaseErrorCode::NOT_SUPPORTED
  • GamebaseErrorCode::NOT_SUPPORTED_IOS
  • GamebaseErrorCode::NOT_SUPPORTED_ANDROID
  • GamebaseErrorCode::NOT_SUPPORTED_UE4_STANDALONE
  • GamebaseErrorCode::NOT_SUPPORTED_UE4_EDITOR

各APIでサポートするプラットフォームは、下記のアイコンで区別します。

API

Supported Platforms UNREAL_IOS UNREAL_ANDROID UNREAL_EDITOR

Installation

  1. Gamebase Unreal SDKをダウンロードして、プロジェクトパスにPluginsフォルダを作成し、ダウンロードしたSDKを追加します。
  2. UnrealエディタでSettings > Pluginsウィンドウを開き、Project > Gamebase > Gamebase Pluginプラグインを探して有効にします。

  3. Download Gamebase Unreal SDK

Android Settings

  1. エディタのメニュー Edit > Project Settingsを選択します。
  2. Project SettingsウィンドウでPluginカテゴリーからGamebaseを選択します。

Unreal Project Settings - Android

  • Android - Authentication
    • 使用するIdPを有効にします。
    • Hangame IdPを使用する時は、サポートへお問い合わせください。
  • Android - Push
    • 使用するPushを有効にします。
  • Android - Purchase
    • 使用するストアを選択します。
    • ONE Store
      • View Option - 全体決済画面(Full)とポップアップ決済画面(Popup)のいずれかを選択します。

Google Play認証および決済ができない問題

Google Playサービスに認証と決済を行うには、Distributionの設定が必要です。 詳細な内容は、以下の文書を参照してください。

AndroidX適用

  • Gamebase Android SDK 2.25.0からAndroidXが導入され、UPL(Unreal Plugin Language)ファイルの下に設定を追加する必要があります。
<gradleProperties>    
  <insert>
    android.useAndroidX=true      
    android.enableJetifier=true    
  </insert>  
</gradleProperties>

multidex適用

  • Gamebase Unreal SDK 2.26.0からGamebase内部で設定したmultidex関連内容が削除されたため、UPL(Unreal Plugin Language)ファイルに以下の設定を追加する必要があります。
<buildGradleAdditions>
  <insert>
  android {
    defaultConfig {
      multiDexEnabled true
    }
  }
  </insert>
</buildGradleAdditions>

<androidManifestUpdates>
    <addAttribute tag="application" name="android:name" value="androidx.multidex.MultiDexApplication"/>
</androidManifestUpdates>

iOS Settings

Gamebase SDK for Unrealを使用するにはUE4 Githubソースコードを使用する必要があり、Epic gamesに会員登録した後、Githubアカウントを接続するとUnrealEngine repositoryが表示されます。 See below for relevant guides.

!重要 このプロセスを無視すると、以下のガイドリンクが正常に動作しなかったりGamebase SDK for Unrealを使用できません。

Sign in with Apple

Sign in with Apple機能を使用するにはentitlementにcom.apple.developer.applesigninキー値が追加されている必要があります。

該当のキー値を追加せずにGamebsae AppleIdログインを進行する場合、下記のようなエラーが発生します。

Authorization failed: Error Domain=AKAuthenticationError Code=-7026 "(null)"

UE4(4.24.3)は該当機能をサポートしないため、Engine/Source/Programs/UnrealBuildTool/Platform/IOS/IOSExports.csファイルの上に上記コードを追加する必要があります。

// AS-IS
if (bRemoteNotificationsSupported)
{
    Text.AppendLine("\t<key>aps-environment</key>");
    Text.AppendLine(string.Format("\t<string>{0}</string>", bForDistribution ? "production" : "development"));
}

// TO-BE
if (bRemoteNotificationsSupported)
{
    Text.AppendLine("\t<key>aps-environment</key>");
    Text.AppendLine(string.Format("\t<string>{0}</string>", bForDistribution ? "production" : "development"));
    Text.AppendLine("\t<key>com.apple.developer.applesignin</key>");
    Text.AppendLine("\t<array>");
    Text.AppendLine("\t\t<string>Default</string>");
    Text.AppendLine("\t</array>");
}

Remote Notification

  1. Gamebase Remote Notification機能を使用するには、Project Settings > Platforms > iOSページでEnable Remote Notifications Support機能を有効化する必要があります。(Githubソースからのみ可能)
  2. Foregroundプッシュ通知を受け取るにはEngine/Source/Runtime/ApplicationCore/Private/IOS/IOSAppDelegate.cppファイルから以下のコードを削除するか

    ```objectivec - (void)userNotificationCenter:(UNUserNotificationCenter )center willPresentNotification:(UNNotification )notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { // Received notification while app is in the foreground HandleReceivedNotification(notification);

    completionHandler(UNNotificationPresentationOptionNone);
    

    } ```

次のように修正する必要があります。

```objectivec
// AS-IS
completionHandler(UNNotificationPresentationOptionNone);

// TO-BE
completionHandler(UNNotificationPresentationOptionAlert);
```

Rich Push Notification

次のようなイシューによりRich Push Notification機能を使用できません。

iOS SDKのWarningメッセージによるUnrealビルドエラー

iOS SDKで発生するWarningメッセージがUnrealビルド時、エラーに変換されてビルドに失敗する現象が発生する場合はEngine/Source/Programs/UnrealBuildTool/Platform/IOS/IOSToolChain.csファイルのclangコンパイルオプションコードをコメント処理してください。

// Result += " -Wall -Werror";

PLCrashReporter

UE4で使用中のPLCrashReporterがarm64e architectureをサポートしておらず、該当architectureを使用するデバイスでメモリアドレス値を取得できないイシューがあります。

NHN Cloud Log & Crash Searchでクラッシュ分析を行うゲーム開発会社は、次のガイドを参照してUE4内部PLCrashReporterを修正する必要があります。

  1. GamebaseSDK-Unreal/Source/Gamebase/ThirdParty/IOS/GamebaseSDK-iOS/externals/plcrashreporter.zipファイルを解凍します。
  2. UE4内部PLCrashReporterのaファイルとheaderファイルを解凍したファイルと交換します。
    • Engine/Source/ThirdParty/PLCrashReporter/plcrashreporter-master-xxxxxxx

API Deprecate Governance

GamebaseでサポートしないAPIはDeprecate処理します。 DeprecatedされたAPIは、次の条件を満たすと、事前告知を行わずに削除される場合があります。

  • 5回以上のマイナーバージョンアップデート

    • Gamebase Version Format - XX.YY.ZZ
      • XX : Major
      • YY : Minor
      • ZZ : Hotfix
  • 5か月経過

TOP