Game > Gamebase > Upgrade Guide

2.17.0

Android

  • Gamebase Android SDK 2.17.0 에서 Gamebase.ImageNotice.showImageNotices API 를 호출하면 크래쉬가 발생합니다.
    • 이슈가 수정된 Gamebase Android SDK 2.17.1 을 사용하시기 바랍니다.

2.15.1

iOS

  • SDK에서 정의한 타입 GamebaseEventCategory를 NSString 대신에 사용할 경우, 해당 타입을 TCGBGamebaseEventCategory로 수정해야 합니다.

2.15.0

Android

  • gamebase-adapter-purchase-google 을 사용한다면 Gamebase SDK 2.15.0 미만 버전에서 2.15.0 이상으로 업그레이드 하는 경우 반드시 이전 버전의 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 미만 버전의 에디터를 사용한다면 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 Console 에서 다운로드 받은 google-services.json 파일을 xml 리소스로 변환하여 프로젝트에 포함하여야 Push 가 정상동작 합니다.
    • Gamebase 2.5.0 이전 버전에서는 xml 리소스가 없어도 Push 가 동작했지만, Gamebase 2.6.0 이상부터는 xml 리소스가 반드시 필요합니다.
  • 아래 가이드를 참고하여 구현하시기 바랍니다.

Standalone

  • Removed Japan Purchase
    • 일본 결제 서비스가 종료되었습니다.
    • GamebaseUnitySDK_IAPAdapter를 사용 중이면 아래 폴더를 직접 삭제해 주시기 바랍니다.
      • Asset/Toast/Common
      • Asset/Toast/Core
      • Asset/Toast/IAP
      • Asset/Toast/Standalone

Android

Limitation

  • minSdkVersion이 15(IceCreamSandwichMR1, 4.0.3)에서 16(Jelly Bean, 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이 업데이트되었습니다.
    • 폴더 구조가 변경되어, 이전 버전의 Setting Tool을 완전히 삭제한 후 재설치해야 합니다.

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