Gamebase Unreal SDKの使用環境および初期設定の説明を行います。
[参考]
Unrealサポートバージョン
- UE 4.22 ~ UE 4.26
- 下位バージョンのUnrealのサポートが必要な場合はサポートへお問い合わせください。
選択したプラットフォームでサポートしないGamebase APIを呼び出す時は、下記のエラーがコールバックで返り、コールバックがない場合はWarningログが出力されます。
各APIでサポートするプラットフォームは、下記のアイコンで区別します。
API
Supported Platforms ■ UNREAL_IOS ■ UNREAL_ANDROID ■ UNREAL_EDITOR
Plugins
フォルダを作成し、ダウンロードしたSDKを追加します。UnrealエディタでSettings > Plugins
ウィンドウを開き、Project > Gamebase > Gamebase Plugin
プラグインを探して有効にします。
Google Playサービスに認証と決済を行うには、Distributionの設定が必要です。 詳細な内容は、以下の文書を参照してください。
<gradleProperties>
<insert>
android.useAndroidX=true
android.enableJetifier=true
</insert>
</gradleProperties>
<buildGradleAdditions>
<insert>
android {
defaultConfig {
multiDexEnabled true
}
}
</insert>
</buildGradleAdditions>
<androidManifestUpdates>
<addAttribute tag="application" name="android:name" value="androidx.multidex.MultiDexApplication"/>
</androidManifestUpdates>
Gamebase SDK for Unrealを使用するにはUE4 Githubソースコード
を使用する必要があり、Epic gamesに会員登録した後、Githubアカウントを接続するとUnrealEngine repositoryが表示されます。
See below for relevant guides.
!重要
このプロセスを無視すると、以下のガイドリンクが正常に動作しなかったりGamebase SDK for Unrealを使用できません。
Path
Authentication
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>");
}
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler
{
// Received notification while app is in the foreground
HandleReceivedNotification(notification);
completionHandler(UNNotificationPresentationOptionNone);
}
次のように修正する必要があります。
// AS-IS
completionHandler(UNNotificationPresentationOptionNone);
// TO-BE
completionHandler(UNNotificationPresentationOptionAlert);
次のようなイシューによりRich Push Notification機能を使用できません。
iOS SDKで発生するWarningメッセージがUnrealビルド時、エラーに変換されてビルドに失敗する現象が発生する場合はEngine/Source/Programs/UnrealBuildTool/Platform/IOS/IOSToolChain.csファイルのclangコンパイルオプションコードをコメント処理してください。
// Result += " -Wall -Werror";
UE4で使用中のPLCrashReporterがarm64e
architectureをサポートしておらず、該当architectureを使用するデバイスでメモリアドレス値を取得できないイシューがあります。
NHN Cloud Log & Crash Searchでクラッシュ分析を行うゲーム開発会社は、次のガイドを参照してUE4内部PLCrashReporterを修正する必要があります。
GamebaseでサポートしないAPIはDeprecate処理します。 DeprecatedされたAPIは、次の条件を満たすと、事前告知を行わずに削除される場合があります。
5回以上のマイナーバージョンアップデート
5か月経過