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

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

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

Требования

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

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

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

Задайте идентификатор синхронизации согласия в объекте 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 не сохраняет его и регистрирует предупреждение в консоли.