所有即时游戏都必须支持使用 Google Play 游戏服务自动登录。使用 Google Play 游戏服务提供一致的玩家 ID,您可以使用它从云端恢复保存的进度。
库的大小影响
Google Play 游戏服务库的大小影响取决于游戏引擎是在 Unity、Java 还是 Native 上运行。
Java
大小影响最小,因为 ProGuard 会被告知使用了哪些类。
Unity
您可以使用官方 Google Play 游戏服务插件将游戏保存功能集成到您的 Unity 游戏中。如果您使用 ProGuard 建议,则大小影响约为 200 KB。
Native
您可以使用Native Play 游戏服务 SDK将游戏保存功能与基于 Android NDK 构建的游戏集成。
使用以下常规 ProGuard 配置可以去除库包含的大部分 Java 代码。您可以使用此配置实现 Play 游戏服务登录和游戏保存,同时仅向 APK 添加约 250 KB。
# 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 *;
}