Google Play-Spieldienste unterstützen

Alle Instant-Spiele müssen die automatische Anmeldung über die Google Play-Spieldienste unterstützen. Verwende die Google Play-Spieldienste, um eine konsistente Spieler-ID bereitzustellen, mit der du den gespeicherten Fortschritt aus der Cloud wiederherstellen kannst.

Auswirkung der Bibliothek auf die Größe

Die Auswirkung auf die Größe der Bibliothek der Google Play-Spieldienste hängt davon ab, ob die Spiel-Engine mit Unity, Java oder nativ ausgeführt wird.

Java

Die Auswirkungen auf die Größe sind minimal, da ProGuard darüber informiert wird, welche Klassen verwendet werden.

Unity

Sie können die Funktion zum Speichern von Spielen mithilfe des offiziellen Google Play-Spieldienste-Plug-ins in Ihr Unity-Spiel integrieren. Die Auswirkung auf die Größe beträgt etwa 200 KB, wenn Sie die ProGuard-Empfehlungen befolgen.

Native Anzeige

Sie können die Speicherfunktion mit dem Native Play Games Services SDK in ein Spiel integrieren, das auf dem Android NDK basiert.

Verwenden Sie die folgende allgemeine ProGuard-Konfiguration, um den Großteil des in der Bibliothek enthaltenen Java-Codes zu entfernen. Mit dieser Konfiguration kannst du die Anmeldung in den Play-Spieldiensten und den Spielspeicher einrichten und dabei dem APK nur etwa 250 KB hinzufügen.

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