En el caso de casos de uso como la analítica o la prevención de fraudes en un dispositivo determinado, es posible que necesites correlacionar el uso o las acciones en un conjunto de apps que pertenecen a tu organización. Los Servicios de Google Play ofrecen una opción que respeta la privacidad llamada ID del conjunto de apps.
Alcance del ID del conjunto de apps
El ID del conjunto de aplicaciones puede tener uno de los siguientes alcances definidos. Para determinar con qué
alcance está asociado un ID en particular, llama a
getScope()
.
Alcance del desarrollador de Google Play
En el caso de las apps que instala Google Play Store, la API de ID de conjunto de apps muestra un ID centrado en el conjunto de apps publicadas en la misma cuenta de desarrollador de Google Play.
Por ejemplo, supongamos que publicas dos apps con tu cuenta de desarrollador de Google Play y ambas se instalan en el mismo dispositivo a través de Google Play Store. Las apps comparten el mismo ID del conjunto de aplicaciones en ese dispositivo. El ID es el mismo incluso si las apps están firmadas con claves diferentes.
Alcance de la app
En cualquiera de las siguientes condiciones, el SDK del ID del conjunto de aplicaciones muestra un ID único para la app que realiza la llamada en un dispositivo determinado:
- La app se instala con un instalador que no es Google Play Store.
- Los Servicios de Google Play no pueden determinar la cuenta de desarrollador de Google Play de una app.
- La app está instalada en un dispositivo sin Servicios de Google Play.
No dependas de un valor almacenado en caché del ID del conjunto de apps
En cualquiera de las siguientes condiciones, se puede restablecer el ID del conjunto de apps para un conjunto determinado de apps instaladas en Google Play Store en un dispositivo:
- Los grupos de apps que comparten el mismo valor de ID no han accedido a la API del ID del conjunto de apps durante más de 13 meses.
- Se desinstala la última app de un conjunto determinado de apps del dispositivo.
- El usuario restablece la configuración de fábrica del dispositivo.
Tu app debe usar el SDK para recuperar el valor del ID cada vez que sea necesario.
Agrega el SDK del ID del conjunto de aplicaciones a tu app
En el siguiente fragmento, se muestra un archivo build.gradle
de ejemplo que usa la biblioteca de ID del conjunto de apps:
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
En el siguiente fragmento de muestra, se muestra cómo puedes recuperar el ID del conjunto de apps de forma asíncrona con la API de Tasks en los servicios de 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(); } });