Определить приложения, принадлежащие разработчику,Определить приложения, принадлежащие разработчику

В таких случаях использования, как аналитика или предотвращение мошенничества на конкретном устройстве, вам может потребоваться сопоставить использование или действия в наборе приложений, принадлежащих вашей организации. Сервисы Google Play предлагают безопасную для конфиденциальности опцию, называемую идентификатором набора приложений .

Область действия идентификатора набора приложений

Идентификатор набора приложений может иметь одну из следующих определенных областей. Чтобы определить, с какой областью связан конкретный идентификатор, вызовите getScope() .

Область разработчика Google Play

Для приложений, установленных из магазина Google Play, API идентификатора набора приложений возвращает идентификатор, относящийся к набору приложений, опубликованных под той же учетной записью разработчика Google Play.

Например, предположим, что вы публикуете два приложения под своей учетной записью разработчика Google Play, и оба приложения устанавливаются на одно и то же устройство через магазин Google Play. Приложения используют один и тот же идентификатор набора приложений на этом устройстве. Идентификатор один и тот же, даже если приложения подписаны разными ключами.

Область применения приложения

При любом из следующих условий пакет SDK идентификатора набора приложений возвращает идентификатор, уникальный для самого вызывающего приложения на данном устройстве:

  • Приложение устанавливается установщиком, отличным от магазина Google Play.
  • Службы Google Play не могут определить учетную запись разработчика приложения в Google Play.
  • Приложение устанавливается на устройство без сервисов Google Play.

Не полагайтесь на кэшированное значение идентификатора набора приложений.

При любом из следующих условий идентификатор набора приложений для данного набора приложений, установленных на устройстве из магазина Google Play, может быть сброшен:

  • К API идентификатора набора приложений не обращались группы приложений, которые имеют одно и то же значение идентификатора, более 13 месяцев.
  • Последнее приложение из заданного набора приложений удаляется с устройства.
  • Пользователь выполняет сброс настроек устройства до заводских.

Ваше приложение должно использовать SDK для получения значения идентификатора каждый раз, когда это необходимо.

Добавьте SDK идентификатора набора приложений в свое приложение.

В следующем фрагменте показан пример файла build.gradle , который использует библиотеку идентификаторов набора приложений:

dependencies {
    implementation 'com.google.android.gms:play-services-appset:16.1.0'
}

В следующем примере фрагмента показано, как можно асинхронно получить идентификатор набора приложений с помощью API задач в службах Google Play:

Котлин

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
})

Ява

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();
    }
});