Как синхронизировать согласие в нескольких приложениях (бета-версия)

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

В этом руководстве рассказывается, как синхронизировать согласие по GDPR из User Messaging Platform (UMP) SDK в мобильном приложении.

Требования

Прежде чем начать, сделайте следующее:

  • Настройте UMP SDK.
  • Включите синхронизацию согласия для подходящих приложений на вкладке Конфиденциальность и сообщения в интерфейсе AdMob.

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

Задайте идентификатор синхронизации согласия в объекте ConsentRequestParameters:

Kotlin

import com.google.android.gms.appset.AppSet
import com.google.android.gms.appset.AppSetIdInfo

// Example fetching App Set ID to identify the user across apps.
val client = AppSet.getClient(this)
client.appSetIdInfo.addOnSuccessListener { info: AppSetIdInfo ->
  val appSetId = info.id
  val params = ConsentRequestParameters.Builder().setConsentSyncId(appSetId).build()
}

Java

import com.google.android.gms.appset.AppSet;
import com.google.android.gms.appset.AppSetIdClient;

// Example fetching App Set ID to identify the user across apps.
AppSetIdClient client = AppSet.getClient(this);
client.getAppSetIdInfo().addOnSuccessListener(
  info -> {
    String appSetId = info.getId();
    ConsentRequestParameters params =
        new ConsentRequestParameters.Builder().setConsentSyncId(appSetId).build();
  }
);

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

Требования к идентификатору:

  • Идентификатор должен представлять собой строку UUID или соответствовать условиям следующего регулярного выражения: ^[0-9a-zA-Z+.=\/_\-$,{}]{22,150}$.
  • Минимальное количество символов – 22.
  • Максимальное – 150.

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

  • 12JD92JD8078S8J29SDOAKC0EF230337
  • 12jd92jd8078s8j29sdoakc0ef230337
  • 12Jd92jD8078s8j29sDoakc0ef230337
  • 123e4567-e89b-12d3-a456-426614174000

Если требования не соблюдены, идентификатор синхронизации согласия не будет задан, а UMP SDK зарегистрирует предупреждение в консоли.