Para casos de uso como análise ou prevenção de fraudes em um determinado dispositivo, talvez seja necessário correlacionar o uso ou as ações em um conjunto de apps de sua organização. O Google Play Services oferece uma opção que respeita a privacidade chamada ID do conjunto de apps.
Escopo do ID do conjunto de apps
O ID do conjunto de apps pode ter um dos seguintes escopos definidos. Para determinar a qual
escopo um ID específico está associado, chame
getScope()
.
Escopo do desenvolvedor do Google Play
Para apps instalados pela Google Play Store, a API de ID do conjunto de apps retorna um ID com escopo para o conjunto de apps publicados na mesma conta de desenvolvedor do Google Play.
Por exemplo, suponha que você publique dois apps na sua conta de desenvolvedor do Google Play e que ambos sejam instalados no mesmo dispositivo pela loja. Os apps compartilham o mesmo ID do conjunto de apps nesse dispositivo. O ID é o mesmo, mesmo que os apps sejam assinados por chaves diferentes.
Escopo do app
Em qualquer uma das condições a seguir, o SDK do ID do conjunto de apps retorna um ID exclusivo para o próprio app de chamada em um determinado dispositivo:
- O app é instalado por um instalador diferente da Google Play Store.
- O Google Play Services não consegue determinar a conta de desenvolvedor do Google Play de um app.
- O app está instalado em um dispositivo sem o Google Play Services.
Não depender de um valor armazenado em cache do ID do conjunto de apps
Em qualquer uma das condições a seguir, o ID do conjunto de apps de um determinado conjunto de apps instalados na Google Play Store em um dispositivo pode ser redefinido:
- A API de ID do conjunto de apps não foi acessada pelos grupos de apps que compartilham o mesmo valor de ID por mais de 13 meses.
- O último app de um determinado conjunto de apps é desinstalado do dispositivo.
- O usuário redefine o dispositivo para a configuração original.
O app precisa usar o SDK para recuperar o valor do ID sempre que necessário.
Adicionar o SDK do ID do conjunto de apps ao seu app
O snippet a seguir mostra um exemplo de arquivo build.gradle
que usa a biblioteca de ID
do conjunto de apps:
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
O snippet de exemplo a seguir demonstra como recuperar o ID do conjunto de apps de forma assíncrona usando a API Tasks nos serviços do Google Play:
Kotlin
val client = AppSet.getClient(applicationContext) as AppSetIdClient val task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo> task.addOnSuccessListener({ // Determine current scope of app set ID. val scope: Int = it.scope // Read app set ID value, which uses version 4 of the // universally unique identifier (UUID) format. val id: String = it.id })
Java
Context context = getApplicationContext(); AppSetIdClient client = AppSet.getClient(context); Task<AppSetIdInfo> task = client.getAppSetIdInfo(); task.addOnSuccessListener(new OnSuccessListener<AppSetIdInfo>() { @Override public void onSuccess(AppSetIdInfo info) { // Determine current scope of app set ID. int scope = info.getScope(); // Read app set ID value, which uses version 4 of the // universally unique identifier (UUID) format. String id = info.getId(); } });