すべての Instant Play ゲームで、Google Play ゲームサービスを使用した自動ログインが必要です。Google Play ゲームサービスを使用すると、ユーザーはシームレスにログインできるようになり、一貫したプレーヤー ID を使用してクラウドに保存されたゲームの進行状況を復元できます。
ライブラリのサイズへの影響
Google Play ゲームサービス ライブラリのサイズへの影響は、どのゲームエンジン(Java、ネイティブ、Unity)で実行されるかによって異なります。
Java
ProGuard により、実際に使用されているクラスが正確に把握できるため、サイズへの影響はごくわずかです。
Unity
ゲームの保存を Unity ゲームに統合する場合は、Google Play ゲームサービスの公式プラグインを使用します。ProGuard の推奨事項を使用した場合、サイズへの影響は約 200 KB と最小限にとどまります。
ネイティブ
ゲームの保存を NDK で構築されたゲームに統合する場合は、ネイティブ Play ゲームサービス SDK を使用します。
以下の一般的な ProGuard 設定を使用すると、ライブラリに含まれる Java コードのほとんどを削除できます。この設定を使用すると、APK のサイズを約 250 KB 増に抑えつつ、Play ゲームサービスのログインとゲームの保存を実装できます。
# The native PGS library wraps the Java PGS SDK using reflection.
-dontobfuscate
-keeppackagenames
# Needed for callbacks.
-keepclasseswithmembernames,includedescriptorclasses class * {
native <methods>;
}
# Needed for helper libraries.
-keep class com.google.example.games.juihelper.** {
public protected *;
}
-keep class com.sample.helper.** {
public protected *;
}
# Needed for GoogleApiClient and auth stuff.
-keep class com.google.android.gms.common.api.** {
public protected *;
}
# Keep all of the "nearby" library, which is needed by the native PGS library
# at runtime (though deprecated).
-keep class com.google.android.gms.nearby.** {
public protected *;
}
# Keep all of the public PGS APIs.
-keep class com.google.android.gms.games.** {
public protected *;
}