Asistencia para los Servicios de juego de Google Play

El acceso automático mediante los Servicios de juego de Google Play es obligatorio para todos los juegos instantáneos. El uso de los Servicios de juego de Google Play garantiza que los usuarios puedan acceder fácilmente y proporciona un ID de jugador coherente que debes usar para restablecer el progreso del juego guardado desde la nube.

Impacto del tamaño de la biblioteca

El impacto del tamaño de la biblioteca de Servicios de juego de Google Play depende de si el motor de juegos se ejecuta en Java, código nativo o Unity.

Java

El impacto del tamaño debería ser relativamente insignificante, ya que ProGuard tiene estadísticas confiables sobre las clases que realmente se usan.

Unity

Si quieres integrar las partidas guardadas en tu juego de Unity, puedes usar el complemento oficial de los Servicios de juego de Google Play. Si se siguen las recomendaciones de ProGuard, el impacto del tamaño será mínimo (alrededor de 200 KB).

Código nativo

Si deseas integrar las partidas guardadas con un juego compilado en el NDK, usa el SDK nativo de los Servicios de juego de Google Play.

Usa la configuración general de ProGuard que se muestra a continuación para quitar la mayor parte del código Java que incluye la biblioteca. Con esta configuración, deberías poder implementar el acceso a los Servicios de juego de Play y guardar partidas, lo que apenas agregaría unos 250 KB al APK.

# 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 *;
}