Suporte para serviços relacionados a jogos do Google Play

Todos os jogos instantâneos precisam oferecer suporte ao login automático usando os serviços relacionados a jogos do Google Play. Use os serviços relacionados a jogos do Google Play para fornecer um ID de jogador consistente, que pode ser usado para restaurar o progresso salvo da nuvem.

Impacto do tamanho da biblioteca

O impacto do tamanho da biblioteca de serviços relacionados a jogos do Google Play depende da execução do mecanismo do jogo em Unity, Java ou Native.

Java

O impacto do tamanho é mínimo porque o ProGuard é informado sobre quais classes são usadas.

Unity

É possível integrar o recurso de salvamento ao seu jogo do Unity usando o plug-in oficial dos serviços relacionados a jogos do Google Play. Se você usar as recomendações do ProGuard, o impacto no tamanho será de cerca de 200 KB.

Nativo

É possível integrar o recurso de salvamento de jogos a um jogo criado no Android NDK usando o SDK nativo dos serviços relacionados a jogos do Google Play.

Use a configuração geral do ProGuard abaixo para remover a maior parte do código Java incluído pela biblioteca. É possível implementar o login dos serviços relacionados a jogos do Google Play e salvar jogos com essa configuração, adicionando apenas cerca de 250 KB ao 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 *;
}