Para casos de uso como el análisis o la prevención de fraudes en un dispositivo determinado, es posible que debas correlacionar el uso o las acciones en un conjunto de apps que pertenezcan a tu organización. Los Servicios de Google Play ofrecen una opción que respeta la privacidad llamada ID del conjunto de aplicaciones.
Alcance del ID del conjunto de apps
El ID del conjunto de apps puede tener uno de los siguientes alcances definidos. Para determinar con qué alcance se asocia un ID en particular, llama a getScope()
.
Alcance del desarrollador de Google Play
En el caso de las apps que se instalan desde Google Play Store, la API del ID del conjunto de apps devuelve un ID con alcance para el conjunto de apps publicadas en la misma cuenta de desarrollador de Google Play.
Por ejemplo, supongamos que publicas dos apps en 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 se firman con claves diferentes.
Permiso de la app
En cualquiera de las siguientes condiciones, el SDK del ID del conjunto de aplicaciones devuelve 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 los Servicios de Google Play.
No dependas de un valor almacenado en caché del ID del conjunto de la app
En cualquiera de las siguientes condiciones, se puede restablecer el ID del conjunto de apps para un conjunto determinado de apps instaladas desde Google Play Store en un dispositivo:
- Los grupos de apps que comparten el mismo valor de ID no accedieron a la API del ID del conjunto de aplicaciones durante más de 13 meses.
- Se desinstala del dispositivo la última app de un conjunto determinado de apps.
- 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 ejemplo de un archivo build.gradle
que usa la biblioteca del ID del conjunto de apps:
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
En el siguiente fragmento de código de ejemplo, 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(); } });