Можно ли отключить инициализацию без кода в MarketingInitProvider - PullRequest
0 голосов
/ 09 декабря 2018

Должны ли мы предоставить разработчику возможность самостоятельно инициализировать SDK facebook в своем приложении?Инициализация без кода в MarketingInitProvider - это хорошая и удобная функция для большинства разработчиков, но есть разработчики, которые хотят полностью контролировать, когда инициализировать Facebook SDK.

Инициализация Facebook SDK также запускает некоторые сетевые операции, которыесреди вещей, влияющих на время запуска приложения.Должны ли мы предложить вариант тогда?Если мы это сделаем, нам нужно также проверить состояние инициализации в нескольких местах, например, в CurrentAccessTokenExpirationBroadcastReceiver вместо сбоя, может ли он просто ничего не делать?

1 Ответ

0 голосов
/ 03 апреля 2019

Даже с

 <meta-data 
      android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
      android:value="false"/> 

и

 <meta-data 
      android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled"
      android:value="false"/>

HTTP-звонки в Facebook все еще осуществляются из-за MarketingInitProvider, как вы упомянули.

Это потому, что* Модуль 1010 * зависит от facebook-marketing.

Явно исключите его в build.gradle:

implementation("com.facebook.android:facebook-android-sdk:$facebook_version") {
    exclude group: 'com.facebook.android', module: 'facebook-marketing'
}

Даже в этом случае FB SDK по-прежнему отправляет информацию на серверы Facebook.

Добавьте это, чтобы отключить другого провайдера автозапуска.

    <provider
        android:name="com.facebook.internal.FacebookInitProvider"
        tools:ignore="ExportedContentProvider"
        tools:node="remove" />
...