Передача намерений реферера в сторонние библиотеки метрик с согласия пользователя - PullRequest
0 голосов
/ 22 мая 2019

Согласно Правилам программы Google Play для разработчиков , разработчик

  • Не должен начинать сбор личных или конфиденциальных данных до получения положительного согласия;

В настоящее время мы отслеживаем установку пользователей с использованием трех различных сторонних сервисов: Branch.io, Mixpanel и AppsFlyer. У меня BroadcastReceiver зарегистрировано на моем AndroidManifest.xml

    <receiver
                android:name="org.example.InstallListener"
                android:exported="true">
                <intent-filter>
                    <action android:name="com.android.vending.INSTALL_REFERRER" />
                </intent-filter>
            </receiver>

Код для BroadcastReceiver выглядит следующим образом:

    public class InstallListener extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {

            // Mixpanel
            InstallReferrerReceiver mixpanelReferrerTracking = new InstallReferrerReceiver();
            mixpanelReferrerTracking.onReceive(context, intent);

            // Branch.io
            InstallListener branchIoReferrerTracking = new InstallListener();
            branchIoReferrerTracking.onReceive(context, intent);

            // AppsFlyer
            SingleInstallBroadcastReceiver appsFlyerReferrerTracking = new SingleInstallBroadcastReceiver();
            appsFlyerReferrerTracking.onReceive(context, intent);

        }

    }

Это основано на руководстве от AppsFlyer для регистрации нескольких трекеров установки.

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

Насколько я понимаю, com.android.vending.INSTALL_REFERRER передается и принимается BroadcastReceiver при установке из Google Play, поэтому я думаю, что это может произойти в любое время, прежде чем я даже смогу запустить диалоговое окно с запросом согласия пользователя.

Также верно, что данные отслеживания установки являются частью личных или конфиденциальных данных, на которые ссылается политика?

Одним из решений, которое мы рассматриваем, является сохранение дополнительного referrer от намерения до SharedPreferences после получения трансляции, а затем забрать его оттуда, как только мы получим согласие пользователя, и только затем передать его третьему партийные трекеры. Будет ли это решение правильным?

1 Ответ

2 голосов
/ 22 мая 2019

Нет реальной необходимости хранить данные в вашем SharedPreferences «независимо» - вы можете просто внедрить MultipleInstallBroadcastReceiver, предоставляемый AppsFlyer SDK, и удерживать инициализацию SDK после получения согласия пользователя. Это, вероятно, будет применяться к другим SDK, которые собирают эти данные.

Кроме того, я могу сказать, что подавляющее большинство пользователей AppsFlyer используют (один из) MultipleInstallBroadcastReceiver / SingleInstallBroadCastReceiver приемников, и мы никогда не сталкивались с такими проблемами.

P.S. Немного не по теме, но может быть актуально - Google предлагает более новый / лучший / более безопасный способ получения INSTALL_REFERRER: https://developer.android.com/google/play/installreferrer/igetinstallreferrerservice

в Магазине

С AppsFlyer вы можете просто импортировать библиотеку 'com.android.installreferrer:installreferrer:1.0' с помощью gradle, а AppsFlyer SDK сделает все остальное.

...