Game > Gamebase > Unity SDK ご利用ガイド > はじめる

Gamebase Unity SDKの使用環境及び初期設定について説明します。

Environments

[参考]

Unity対応バージョン

  • 2018.4.0~2023.2.5

Android

[注意]

2019年8月1日から、Google Playに公開する新規アプリは64bitアーキテクチャをサポートする必要があります。 Google Playポリシーおよび64bitをサポートするUnityバージョン確認

Dependencies

Supported Platforms

  • iOS
  • Android
  • Standalone
    • Windows 7以上
    • macOS 10.15以上
  • WebGL
  • Editor
    • 一部の機能のみ対応しています。

選択したプラットフォームで対応していないGamebaseAPIを呼び出すときは、次のようなエラーがコールバックで返され、コールバックがない場合、Warningログが出力されます。

  • GamebaseErrorCode.NOT_SUPPORTED
  • GamebaseErrorCode.NOT_SUPPORTED_IOS
  • GamebaseErrorCode.NOT_SUPPORTED_ANDROID
  • GamebaseErrorCode.NOT_SUPPORTED_UNITY_STANDALONE
  • GamebaseErrorCode.NOT_SUPPORTED_UNITY_WEBGL
  • GamebaseErrorCode.NOT_SUPPORTED_UNITY_EDITOR

APIごとの対応プラットフォームは、次のようなアイコンで区別します。

API

Supported Platforms UNITY_IOS UNITY_ANDROID UNITY_STANDALONE UNITY_WEBGL UNITY_EDITOR

Installation

Gamebase SDKを手軽にインストールすることができるように、Setting Toolを提供しています。

Specification of Setting Tool

  1. SDKダウンロード
    • 最新バージョンのSDKのダウンロードに対応しています。
  2. SDKインストール
    • ダウンロードされたSDKのインストールに対応しています。
      • Unity:Unitypackage
      • Android:Gradle
      • iOS:CocoaPods
  3. SDK削除
    • インストールされたSDKの削除に対応しています。
  4. SDKアップデート
    • アップデート機能には対応しておりません。
    • SDKを削除した後、再設定でアップデート機能を置き換えます。

Using the Setting Tool

  • Gamebase SettingTool v2.0.0が配布されました。
    • 従来のv1.5.0とは互換性がありませんので、完全に削除してv2.0.0以上をご利用ください。

AS-IS

  1. UnityプロジェクトにGamebase SDK for Android、iOSを含めてビルドを行います。
  2. Gradle、CocoaPodsがサポートされません。

TO-BE

  1. Gradle, CocoaPodsをサポートします。
  2. EDM4U(External Dependency Manager for Unity)が必須ライブラリとして選ばれました。
    • EDM4U GithubからEDM4Uをダウンロードしてインストールする必要があります。
    • EDM4Uがない場合はGamebase SDK for Android、iOSの設定ができません。
    • プロジェクトですでにEDM4Uが含まれている場合にはEDM4Uをダウンロードする必要はありません。
  3. Androidプラットフォームをサービスする場合にはメニュー上部 > Assets > External Dependency Manager > Android Resolver > Settingsを選択してAndroid Resolver Settingsウィンドウを開き、以下のように設定してください。
    • Enable Auto-Resolution:無効
    • Explode AARs:無効
    • Patch mainTemplate.gradle:有効
    • Use Jetifier:有効
    • Android Resolver Settings
  4. iOSプラットフォームをサービスする場合はメニュー上部 > Assets > External Dependency Manager > iOS Resolver > Settingsを選択してiOS Resolver Settingsウィンドウを開き、以下のように設定してください。
    • Use Shell to Execute Cocoapod Tool:無効
      • この機能が有効になっている場合、UnityでiOSビルドすると、xcworkspaceが作成されないエラーが発生します。 (CocoaPods 1.11.xバグ)
      • この機能を有効にする必要があるユーザーは、次の2つの方法のいずれかでエラーを解決してください。
        • CocoaPods 1.10.xバージョンをインストールします。
        • Unityで作成したXcodeプロジェクトからpod installを直接呼び出します。

[注意]

iOSプラットフォームをサービスする場合は、CocoaPodsがインストールされている必要があります。CocoaPodsのインストールおよび詳細についてはcocoapods.orgを参照してください。

SDKインストール

  1. Unityプロジェクトを開きます。
  2. GamebaseUnitySettingTool_{version}.unitypackageをインポートします。
  3. メニュー上部 > Tools > NhnCloud > Gamebase > SettingTool > Settingsを選択します。
  4. SDK Download項目から[Gamebase SDK]ボタンをクリックして最新SDKをダウンロードします。
  5. 使用するプラットフォームを選択します。
    • Android
    • iOS
  6. プラットフォームごとに使用するモジュールを選択します。
    • authenticationは、Googleと同じID Provider(以下、IDP)との連携に対応しています。
    • pushは、FCM(Firebase)、Tencent Push、APNS Pushサービスに対応しています。
    • pruchaseは、NHN Cloudの決済サービスであるIAP(In-App Purchase)を使用して決済に対応しています。
  7. [Settings]ボタンをクリックしてSDKをインストールします。
  8. Android、iOSモジュールを選択した場合は、EDM4Uのresolveを実行する必要があります。
    • Android:メニュー上部 > Assets > External Dependency Manager > Android Resolver > Force Resolveを選択します。
    • Ios:メニュー上部 > Assets > External Dependency Manager > iOS Resolver > install Cocoapodsを選択します。

[注意]

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ファイルを作成する必要があります。

SDKアップデート

  1. メニュー上部 > Tools > NhnCloud > Gamebase > SettingTool > Settingsを選択します。
  2. SDK Download項目から[Gamebase SDK]ボタンをクリックして最新SDKをダウンロードします。
    • すでに最新SDKがダウンロードされている場合はボタンが無効になります。
  3. [Settings]ボタンクリックしてSDKをインストールします。
    • 既に選択したプラットフォーム別モジュールは変更が可能です。

SDK削除

  1. メニュー上部 > Tools > NhnCloud > Gamebase > SettingTool > Settingsを選択します。
  2. [Remove]ボタンをクリックしてインストールされたSDKを削除します。


[参考]

Setting Toolで予期しないエラーが発生した場合、ウィンドウを閉じて再度実行してください。
再度実行してもエラーが解決しない場合は、Assets/NhnCloud/GamebaseTools/SettingTool/Editor/ScriptsでSettingToolWindow.csファイルを開き、ShowWindowメソッドでSettingTool.SetDebugMode(true);コードをコメント解除した後、ログをお送りください。

Video of Setting Tool Usage

Setting Tool Update

Setting Toolのアップデートが必要な場合、Setting Toolでアップデートするかどうかをお知らせします。 アップデートの種類によって、Setting Toolで提供する一部機能に制限がかかる場合があります。

強制アップデート

  • アップデート必須
  • SDKダウンロード制限
    • 既にダウンロードしたSDKを利用してインストール、削除可能

Select Build System

選択アップデート

  • アップデート選択
  • SDKダウンロード可能

Select Build System

Facebook認証追加

Facebook SDK for UnityはFacebook SDK for iOS、Androidが含まれています。

Select Build System

Unity設定でFacebook認証を有効にした後、

Select Build System

Android、iOS設定でFacebook認証を有効にする場合、

Select Build System

プロジェクトに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
  • Case 1. Android、iOSプラットフォームでGamebase Facebookログインのみ使用します。
    • SettingTool > Android、iOS設定でFacebook認証を有効にします。
  • Case 2. UnityプロジェクトでGamebase FacebookログインとFacebookのFeedShare機能を使用する必要があります。
    • SettingTool > Unity設定でFacebook認証を有効にします。
    • GamebaseはFacebook認証以外の機能をサポートしないため、Facebook SDK for Unityを使用して直接実装する必要があります。
  • Case 3. SettingTool > Android、iOS設定でFacebook認証を有効にしましたがFacebook SDK for Unityをプロジェクトに含めています。
    • Gamebase Facebookログインのみ使用している場合は、プロジェクトに含まれているFacebook SDK for Unityをプロジェクトから削除してください。
    • Gamebase Facebookログイン以外のFacebookのFeedShare機能を使用している場合は、SettingTool > Unity設定でFacebook認証を有効にします。
      • この場合、Android、iOS設定になっていれば自動的に解除されます。

Android Lifecycle

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>

iOS Settings

[注意]

  • Unity 2019.3以上の注意事項
    • TARGETS > UnityFrameworkにiOS SDK設定を追加します。
  1. UnityプロジェクトでiOSビルドを進行します。
  2. 作成されたXCodeプロジェクトに設定を追加します。

API Reference

API Referenceは、GamebaseUnitySDKの中に含まれています。

API Deprecate Governance

GamebaseでサポートしないAPIは、使用していないもの(deprecate)として処理します。 使用していない(deprecated) APIは、次の条件を満たす場合、事前告知を行わずに削除されることがあります。

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

    • Gamebaseバージョン形式 - XX.YY.ZZ
      • XX : Major
      • YY : Minor
      • ZZ : Hotfix
  • 最低5ヶ月経過

TOP