Game > Gamebase > Upgrade Guide

2.43.3

Unreal

  • Google Billing Client 5.0.0 버전으로 변경되었습니다. Unreal에서 제공하는 Online SubSystem GooglePlay 플러그인 사용 시 /Config/Android/AndroidEngine.ini 파일에 해당 값을 추가해야 빌드 시 오류가 발생하지 않습니다.
        [OnlineSubsystemGooglePlay.Store]
        bUseGooglePlayBillingApiV2=False
    

2.42.1

Unity

Changed/Deprecated APIs

  • FGamebaseWebViewConfigurationでenableFixedFontSizeフィールドは今後はサポートしません。
  • GamebaseWebViewConfiguration一部フィールドにデフォルト値が追加され、値を設定していない場合、従来と異なる動作をする場合があります。
    • ナビゲーションバーの色相フィールドであるcolorR、colorG、colorB、colorAのデフォルト値が18、93、230、255に設定されました。
    • ナビゲーションバーの有効/無効を指定するフィールドであるisNavigationBarVisibleのデフォルト値がtrueに設定されました。
    • Webビュー内の戻るボタンの有効/無効を指定するフィールドであるisBackButtonVisibleのデフォルト値がtrueに設定されました。

Unreal

  • (iOS) iOS設定ツールでXcodeのパスを変更できるようにXcode Path設定が追加されました。
    • 変更しない場合、デフォルト値に設定されます。 (デフォルト値:/Applications/Xcode.app)

Changed/Deprecated APIs

  • FGamebaseConfigurationのenableKickoutPopupプロパティは、今後はサポートしません。
  • FGamebaseConfigurationの一部フィールドにデフォルト値が追加され、値を設定していない場合、従来と異なる動作をする場合があります。
    • enableLaunchingStatusPopupのデフォルト値がtrueに設定されました。
    • enableBanPopupのデフォルト値がtrueに設定されました。
  • FGamebaseWebViewConfigurationでenableFixedFontSizeフィールドは今後はサポートしません。
  • FGamebaseWebViewConfigurationの一部フィールドにデフォルト値が追加され、値を設定していない場合、従来と異なる動作をする場合があります。
    • ナビゲーションバーの色相フィールドであるcolorR、colorG、colorB、colorAのデフォルト値が18、93、230、255に設定されました。
    • ナビゲーションバーの有効/無効を指定するフィールドであるisNavigationBarVisibleのデフォルト値がtrueに設定されました。
    • Webビュー内の戻るボタンの有効/無効を指定するフィールドであるisBackButtonVisibleのデフォルト値がtrueに設定されました。

2.41.0

Android

  • Webビューに登録したカスタムスキームイベントが動作するとき、自動的にWebビューが終了するようになります。
    • 以前のようにカスタムスキームイベントが動作してもWebビューを維持させたい場合にはGamebaseWebViewConfiguration.Builder.enableAutoCloseByCustomScheme(false)APIを呼び出してください。
  • Gamebase Android SDK 2.41.0は約款ウィンドウの「表示」ボタンが動作しないバグが存在します。
    • Gamebase約款ウィンドウを使用する場合、問題が解決したGamebase Android SDK 2.41.1を使用してください。

Unity

  • Gamebase SettingTool必須アップデートが追加されました。 (v2.4.0)
    • 既存SettingToolはUnityプロジェクトから完全に削除した後、最新バージョンを再インストールする必要があります。
    • SettingTool v1のサポートを終了します。

2.40.0

Unreal

2.36.0

Android

Hangame SDK

  • Hangame Android SDK v1.4.5でsms_hashが内部で作成されるように改善されました。
    • これ以上sms_hashを設定する必要はありません。

2.35.0

Android

  • NAVERログアウト時にトークンを削除しません。
    • 再ログインするとき、情報提供同意ウィンドウが表示されません。
    • Webログイン時にはアカウントが変更されません。
    • 以前の動作を維持するにはGamebase ConsoleのAdditionalInfoに次のように設定してください。
{"logout_and_delete_token":true}

2.34.0

Android

Changed/Deprecated APIs

  • キックアウトポップアップの表示有無は、Gamebaseコンソールでキックアウト登録時に設定することができるため、次のフィールドがdeprecatedになりました。
    • UIPopupConfiguration.enableKickoutPopup

iOS

Changed/Deprecated APIs

  • キックアウトポップアップの表示有無は、Gamebaseコンソールでキックアウト登録時に設定できるため、次のAPIがdeprecatedになりました。
    • [TCGBConfiguration enableKickoutPopup:]
    • [TCGBConfiguration isEnableKickoutPopup]

Unity

  • GamebaseConfigurationのenableKickoutPopupプロパティをサポートしません。

2.33.0

iOS

  • TCGB_ERROR_UNKNOWN_ERRORエラーにマッピングされたエラーコードが変更されました。
    • TCGB_ERROR_UNKNOWN_ERRORエラーにマッピングされたエラーコードを999から9999に変更しました。
    • エラーコード999にマッピングしたTCGB_ERROR_SOCKET_UNKNOWN_ERRORエラーを新たに追加しました。

Unity

  • GamebaseErrorCode.UNKNOWN_ERRORエラーにマッピングされたエラーコードが変更されました。
    • GamebaseErrorCode.UNKNOWN_ERRORエラーにマッピングされたエラーコードを999から9999に変更しました。
    • エラーコード999にマッピングしたGamebaseErrorCode.SOCKET_UNKNOWN_ERRORエラーを新たに追加しました。

Unreal

  • GamebaseErrorCode.UNKNOWN_ERRORエラーにマッピングされたエラーコードが変更されました。
    • GamebaseErrorCode::UNKNOWN_ERRORエラーにマッピングされたエラーコードを999から9999に変更しました。
    • エラーコード999にマッピングしたGamebaseErrorCode::SOCKET_UNKNOWN_ERRORエラーを新たに追加しました。

2.32.0

Android

  • Gamebase Access Tokenの有効期限が切れて復元できなかったときに発生するGamebaseEventHandlerイベントcategoryがGamebaseEventCategory.OBSERVER_HEARTBEATからGamebaseEventCategory.LOGGED_OUTに変更されました。
    • GamebaseEventCategory.OBSERVER_HEARTBEATイベントでGamebaseEventObserverData.codeの値がGamebaseError.AUTH_TOKEN_LOGIN_INVALID_TOKEN_INFO(3102)のときにログインするように実装した場合は、GamebaseEventCategory.LOGGED_OUTイベントでログインを行うように変更してください。

2.29.0

iOS

  • Xcode最低サポートバージョンが12から13に変更されました。
    • Xcode 12でアーカイブビルドを行うとエラーが発生します。Xcode 13にアップデートしてください。

Unity

  • Setting Tool 2.0.0が配布されました。
    • フォルダ構造が変更され、以前のバージョンのSetting Toolを完全に削除した後、再インストールする必要があります。
    • Setting Tool 1.5.0以下のユーザーは、下記ディレクトリにあるGamebase関連ライブラリを全て削除する必要があります。
      • Assets/Plugins/Android
      • Assets/Plugins/iOS
    • 変更された内容と使用方法は以下のガイドを確認してください。

2.26.0

Unity

  • 該当バージョンを使用する時はAssets/Gamebase/Toast/IAP/Pluginsを直接削除してから使用してください。
    • Gamebase Unity SDK 2.27.0以上のバージョンが適用された場合には削除する必要がありません。

Unreal

2.25.0

Android

Changed Minimum Support Version

  • 最小サポートAndroid Gradle Plugin(AGP)バージョンが2.3.0から3.2.0に変更されました。
  • 下位バージョンのAGPサポートが必要な場合はサポートへお問い合わせください。

AndroidX

  • Android Support Library依存性がAndroidXに変更されたため、Gradleに次の変更事項を適用してください。

  • gradle.propertiesファイルにAndroidXに対応していないライブラリのためのマイグレーション宣言を追加してください。

# >>> [AndroidX]
android.useAndroidX=true
android.enableJetifier=true
  • build.gradleファイルに最新AndroidXのためのJava 8ビルド設定を追加してください。
android {
    compileOptions {
        // >>> [AndroidX]
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

Under AGP 3.4.0

  • Android Gradle Pluginバージョンが3.4.0未満の場合、ビルドが失敗するため、gradle.propertiesファイルに次の宣言が必要です。
# gradle.properties
# >>> Fix for AGP under 3.4.0
android.enableD8.desugaring=true
android.enableIncrementalDesugaring=false

LINE IdP

  • LINE IdPを使用する場合、LINE SDK内部に<queries>タグが存在するため、AGPのバージョンによってはビルドが失敗することがあります。
  • LINE IdPを使用する場合、LINE SDK内部にandroid:allowBackup="false"が宣言されており、アプリケーションビルド時にManifest mergerでfailが発生することがあります。ビルドが失敗する場合は、次のようにapplicationタグにtools:replace="android:allowBackup"宣言を追加してください。
<application
      tools:replace="android:allowBackup"
      ... >

iOS

  • Sign In with AppleのASAuthorizationErrorUnknownエラーが発生した場合、 TCGB_ERROR_AUTH_EXTERNAL_LIBRARY_ERROR (3009)エラーをリターンするように変更されました。

Unity

  • 該当バージョンを使用する時はAssets/Gamebase/Toast/IAP/Pluginsを直接削除してから使用してください。
    • Gamebase Unity SDK 2.27.0以上のバージョンが適用された場合には削除する必要がありません。

Changed Minimum Support Version

  • 最小サポートUnityバージョンが2017.4.16から2018.4.0に変更されました。
  • 下位バージョンのUnityサポートが必要な場合はサポートへお問い合わせください。

AndroidX Build

  • Gamebase Android SDKのAndroidX移行により、Androidビルド時に次の宣言を追加してください。
  • 2019.3未満
// mainTemplate.gradle
([rootProject] + (rootProject.subprojects as List)).each {
    ext {
        it.setProperty("android.useAndroidX", true)
        it.setProperty("android.enableJetifier", true)
    }
}
  • 2019.3以上
// gradleTemplate.properties
android.useAndroidX=true
android.enableJetifier=true

Under AGP 3.4.0

  • Unity Editorバージョンが2018.4.3以下または2019.1.6以下の場合、AGPバージョンが低くて(3.2.0)ビルドが失敗するため、次の宣言を追加してください。
// mainTemplate.gradle
([rootProject] + (rootProject.subprojects as List)).each {
    ext {
        // >>> Fix for AGP under 3.4.0
        it.setProperty("android.enableD8.desugaring", true)
        it.setProperty("android.enableIncrementalDesugaring", false)
    }
}

Unreal

AndroidX Build

  • Gamebase Android SDKのAndroidX移行によりAndroidビルド時にUPLに次の宣言を追加してください。
<gradleProperties>    
  <insert>      
    android.useAndroidX=true      
    android.enableJetifier=true    
  </insert>  
</gradleProperties>

2.21.2

iOS

  • Gamebase iOS SDK 2.21.1でbitcodeを有効にした後にアーカイブビルドを行うとエラーが発生します。
    • bitcodeを使用したい場合は、上記の問題が修正されたGamebase iOS SDK 2.21.2を使用してください。

2.21.0

Android

  • Gamebase Android SDK 2.21.0は、jCenterには誤ったビルドが配布され、jcenter()mavenCentral()より先に宣言した場合、すべてのGamebase APIでクラッシュが発生する可能性があります。
    • 正常に配布されたGamebase Android SDK 2.21.1を使用するか、mavenCentral()jcenter()より先に宣言してください。
  • Maven Repository
    • jCenterが一般ユーザー向けのサービスを終了して( https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ )新しいビルドのアップロードはできなくなりました。(jCenterのアクセスも2022年2月1日に終了します。)
    • それでGamebase Android SDK 2.21.0からはjcenter()ではなくmavenCentral()でのみ配布が行われるためgradle repositoryにmavenCentralを追加してください。
repositories {
    // >>> For Gamebase SDK
    mavenCentral()
    ...
}

LINE IdP

  • LINE IdPを使用する場合、LINE SDKのアップデートにより以下のようにGradleにJavaVersion.VERSION_1_8を設定していない場合はビルドが失敗します。
android {
    compileOptions {
        // >>> [LINE IdP]
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

iOS

  • Gamebase iOS SDK 2.21.0でbitcodeを使用する場合はエラーが発生します。
    • bitcodeを使用したい場合はGamebase iOS SDK 2.21.1を使用してください。

2.20.2

iOS

Facebook IdP

  • Gamebase iOS SDK 2.20.2でFacebook SDKが9.1.0にアップデートされました。
    • Facebook SDKに追加設定が必要なため、info.plistに以下の値を追加してください。設定しない場合はクラッシュが発生する場合がります。
      • FacebookAutoLogAppEventsEnabled
      • FacebookAdvertiserIDCollectionEnabled
  • 詳細な内容はFacebook iOS SDKガイドを参照してください。

2.19.0

Android

Weibo IdP

  • Gamebase Android SDK 2.19.0でWeibo IdPログインと別のIdPログインを交互に呼び出すとクラッシュが発生します。
    • Weibo IdPを使用する場合は問題が修正されたGamebase Android SDK 2.19.1を使用してください。

2.18.2

Android

Removed APIs

  • Gamebase Android SDK 2.6.0でdeprecatedとなっていた以下の関数が削除されました。
    • GamebaseConfiguration.Builder.setFCMSenderId()
    • GamebaseConfiguration.Builder.setTencentAccessKey()
    • GamebaseConfiguration.Builder.setTencentAccessId()

2.18.0

Android

Purchase Google

  • Gamebase Android SDK 2.18.0でGoogleアイテム決済を呼び出すとクラッシュが発生します。
    • 問題が修正されたGamebase Android SDK 2.18.1を使用してください。

2.17.0

Android

  • Gamebase Android SDK 2.17.0でGamebase.ImageNotice.showImageNotices APIを呼び出すとクラッシュが発生します。
    • 2.17.0のクラッシュおよびOS 5.0~6.0でカスタムスキームイベントが動作しない問題が修正されたGamebase Android SDK 2.17.4を使用してください。

2.15.1

iOS

  • SDKで定義したタイプ GamebaseEventCategoryをNSStringの代わりに使用する場合、該当タイプを TCGBGamebaseEventCategoryに修正する必要があります。

2.15.0

Android

Purchase Google

  • gamebase-adapter-purchase-googleを使用する場合、Gamebase SDK 2.15.0未満バージョンから2.15.以上にアップグレードする場合は、必ず以前のバージョンのGame Client Versionをアップデート必須に設定する必要があります。
    • Google Billing Clientモジュールがアップデートされ、複数の端末で別々のBilling Clientバージョンが適用された状態でアイテムを購入する場合、エラーが発生した時の再処理に問題が発生することがあるためです。

2.6.0

Unity

Android Limitation

  • Android Support Libraryバージョンが28.0.0に上がり、Unity 5、Unity 2017.1、Unity 2017.2ではAndroidのビルドが失敗します。
    • Unity 2017.3未満のバージョンのEditorを使用している場合はUnity 2017.3以上のバージョンをインストールし、「Editor/Data/PlaybackEngines/AndroidPlayer/Tools/gradle/lib」フォルダをコピーして使用中のUnity Editorの同じパスに上書きしてmainTemplate.gradleファイルを下記のように修正してください。
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
buildscript {
    repositories {
        jcenter()
        // >>> For download Gradle Android Plugin
        maven {
            url 'https://maven.google.com'
        }
    }

    dependencies {
        //classpath 'com.android.tools.build:gradle:2.1.0'
        // >>> Update Gradle Android Plugin version
        classpath 'com.android.tools.build:gradle:2.3.0'
    }
}

Firebase Push

  • Firebase Cloud Messagingを使用している場合Firebaseコンソールからgoogle-services.jsonファイルをダウンロードし、xmlリソースに変換してプロジェクトに追加しないとPushが正常に動作しません。
    • Gamebase 2.5.0 以前のバージョンではxmlリソースなしてPush動作に問題ありませんでしたが、Gamebase 2.6.0からは必ずxmlリソースが必要です。
  • 下のガイドを参考にしてPush設定を行ってください。

Standalone

  • Removed Japan Purchase
    • 日本決済がFadeOutしました。
    • GamebaseUnitySDK_IAPAdapterを使用している場合は、下記のフォルダを直接削除してください。
      • Asset/Toast/Common
      • Asset/Toast/Core
      • Asset/Toast/IAP
      • Asset/Toast/Standalone

Android

Limitation

  • minSdkVersionが15(IceCreamSandwichMR1, 4.0.3)から16(JellyBean, 4.1)に変更されました。
    • OS 4.1未満の端末では正常な動作を保障しないため、プロジェクトのminSdkVersionが15の場合、16に変更してください。

Removed APIs

  • 削除された関数は次のとおりです。代替関数に変更してください。
    • Gamebase.getAuthBanInfo()を削除しました。Gamebase.getBanInfo()に変更してください。
    • Gamebase.getLanguageCode()を削除しました。Gamebase.getDeviceLanguageCode()に変更してください。
    • new GamebaseConfiguration.Builder(void)を削除しました。GamebaseConfiguration.newBuilder()に変更してください。
    • new GamebaseConfiguration.Builder.setAppId()を削除しました。GamebaseConfiguration.newBuilder()に変更してください。
    • new GamebaseConfiguration.Builder.setAppVersion()を削除しました。GamebaseConfiguration.newBuilder()に変更してください。

Changed/Deprecated APIs

  • Gamebase.activeApp()は自動的に呼び出されるため、今後は呼び出す必要がありません。
  • Gamebase.initialize()の引数に必要なGamebaseConfigurationの作成方法が変更されました。
    • new GamebaseConfiguration.Builder(String, String)の代わりにGamebaseConfiguration.newBuilder()を呼び出してください。
  • LaunchingStatus.isPlayable()は今後、呼び出さないでください。
  • Purchase
    • Store Codeの変更ができないため、GamebaseConfiguration.newBuilder()でStore Codeを伝達する必要があります。
      • Gamebase.Purchase.getStoreCode() / Gamebase.Purchase.setStoreCode()は削除される予定です。今後は使用しないでください。
    • Gamebase.Purchase.requestRetryTransaction()は呼び出す必要がありません。
  • Push
    • Gamebase Android SDK 2.6.0以上からは、プッシュメッセージを送信する時、Gamebaseコンソールのプッシュタブのメニューから送信する必要があります。
      • Gamebase Android SDK 2.6.0未満の場合、Gamebaseコンソールのプッシュ(旧) タブからプッシュを送信する必要があります。
    • GamebaseConfiguration.Builder.setFCMSenderId()は呼び出す必要がありません。
    • GamebaseConfiguration.Builder.setTencentAccessKey(), GamebaseConfiguration.Builder.setTencentAccessId()を呼び出している場合、APIの呼び出しを削除し、build.gradleに次のように宣言する必要があります。
android {
    defaultConfig {
        ...
        // >>> For Tencent Push Notification
        manifestPlaceholders = [
            XG_ACCESS_ID : "1234567890",
            XG_ACCESS_KEY : "ABCDEFGHIJKL",
        ]
    }
}

2.4.4

Unity

  • Setting Toolがアップデートされました。
    • フォルダ構造が変更され、以前のバージョンのSettingToolを完全に削除した後、再インストールする必要があります。

2.2.2

Unity

  • GamebaseUnitySDKSettingsクラスのstoreCodeAOSの変数名が storeCodeAndroidに変更されました。
    • storeCodeAOSを参照してStore Codeを定義するコードやPrefabがある場合は変数の参照に失敗するため、storeCodeAndroid変数に変更してください。

2.2.0

Unity

  • GamebaseMainActivityのPackage Nameが変更されました。
    • AndroidManifest.xmlのMainActivity宣言を下記のように変更していない場合、クラッシュが発生します。
    • com.toast.gamebase.activity.GamebaseMainActivity -> com.toast.android.gamebase.activity.GamebaseMainActivity
<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">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    ...
    </application>
    ...
</manifest>

2.1.0

Common

Removed APIs

TOP