Gamebase Unity SDKの使用環境及び初期設定について説明します。
[参考]
Unity対応バージョン
- 2020.3.16 ~ 6000.0.23
[注意]
2019年8月1日から、Google Playに公開する新規アプリは64bitアーキテクチャをサポートする必要があります。 Google Playポリシーおよび64bitをサポートするUnityバージョン確認
選択したプラットフォームで対応していないGamebaseAPIを呼び出すときは、次のようなエラーがコールバックで返され、コールバックがない場合、Warningログが出力されます。
APIごとの対応プラットフォームは、次のようなアイコンで区別します。
API
Supported Platforms ■ UNITY_IOS ■ UNITY_ANDROID ■ UNITY_STANDALONE ■ UNITY_WEBGL ■ UNITY_EDITOR
Gamebase SDKを手軽にインストールすることができるように、Setting Toolを提供しています。
AS-IS
TO-BE
[注意]
iOSプラットフォームをサービスする場合は、CocoaPodsがインストールされている必要があります。CocoaPodsのインストールおよび詳細についてはcocoapods.orgを参照してください。
[注意]
EDM4Uがない場合は、Gamebase SDK for Android、Iosの設定ができません。
EDM4Uのresolveを実行する前に、Build SettingsウィンドウでSwitch Platformボタンをクリックしてビルドするプラットフォームに切り替える必要があります。Androidプラットフォームが選択されている場合は、Player Settings > Publishing SettingsでCustom Gradle Templateを有効にしてmainTemplate.gradleファイルを作成する必要があります。
Unity 2019.3以降を
使用時、Player Settings > Publishing SettingsでCustom Gradle Properties Templateを有効にしてgradleTemplate.propertiesファイルを作成する必要があります。
[参考]
Setting Toolで予期しないエラーが発生した場合、ウィンドウを閉じて再度実行してください。
再度実行してもエラーが解決しない場合は、Assets/NhnCloud/GamebaseTools/SettingTool/Editor/ScriptsでSettingToolWindow.csファイルを開き、ShowWindowメソッドでSettingTool.SetDebugMode(true);コードをコメント解除した後、ログをお送りください。
Setting Toolのアップデートが必要な場合、Setting Toolでアップデートするかどうかをお知らせします。 アップデートの種類によって、Setting Toolで提供する一部機能に制限がかかる場合があります。
Facebook SDK for UnityはFacebook SDK for iOS、Androidが含まれています。
Unity設定でFacebook認証を有効にした後、
Android、iOS設定でFacebook認証を有効にする場合、
プロジェクトにFacebook SDKが重複して含まれる現象が発生し、これにより認証失敗またはビルド失敗などのエラーが発生します。 SettingToolは、このようなエラーをブロックするためにUnity設定とAndroid && iOS設定でFacebook認証を重複して有効にできないように処理されています。
[注意]
Unity設定とAndroid && iOS設定でFacebook認証を重複して有効にできません。 Unity設定でFacebook認証を有効にする場合、Facebook SDK for Unityを直接ダウンロードする必要があります。
各ゲーム会社の状況に合ったSettingTool設定は、以下の表を参考にしてください。
SettingTool > Unity 設定 > Facebook認証の有効化 | SettingTool > Android、iOS 設定 > Facebook認証の有効化 | |
---|---|---|
ゲームに必要な機能 | Gamebase Facebookログイン(Android、iOS) ShareLinkやFeedShareなどの機能を使用 |
Gamebase Facebookログイン(Android, iOS) |
Android, iOS Login API | Gamebase Login with Credential | Gamebase Login with ID Provider |
Facebook SDK for Unityダウンロード | O | X |
Lifecycle管理のために"com.toast.gamebase.activity.GamebaseMainActivity"をMainActivityにする必要があります。 com.toast.gamebase.activity.GamebaseMainActivityは、"com.unity3d.player.UnityPlayerActivity"を受け継いで設計されています。
[注意]
AndroidPluginを開発する際にもGamebaseMainActivityを受け継いで制作しなければなりません。 GamebaseMainActivityは、GamebasePlugin.jarに含まれています。 launchModeは、singleTaskにする必要があります。(Unityの基本ActivityもsingleTaskで固定されます。) そうでない場合、アプリを初めて始める際にクラッシュが発生することがあります。
該当Lifecycleを変更する時はProject Settings > Settings for Android > Publish Settings > Build > Custom Main Manifestを有効にして該当AndroidManifest.xmlに修正する必要があります。
[注意]
AndroidのtargetSdkVersionを31以上に設定する場合、intent-filterが存在するタグには必ずandroid:exported特性を宣言する必要があります。 GamebaseでLifecycleを管理するために提供するGamebaseMainActivityをMainActivityに設定する時にも特性にandroid:exported="true"が追加されている必要があります。
<manifest>
...
<application>
...
<activity android:name="com.toast.android.gamebase.activity.GamebaseMainActivity"
android:launchMode="singleTask"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name">
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
...
</application>
...
</manifest>
[注意]
- Unity 2019.3以上の注意事項
- TARGETS > UnityFrameworkにiOS SDK設定を追加します。
API Referenceは、GamebaseUnitySDKの中に含まれています。
GamebaseでサポートしないAPIは、使用していないもの(deprecate)として処理します。 使用していない(deprecated) APIは、次の条件を満たす場合、事前告知を行わずに削除されることがあります。
5回以上のマイナーバージョンアップデート
最低5ヶ月経過