如何退出Facebook SDK事件记录?

27
我正在使用Facebook App Events跟踪Android,但我不知道如何在用户选择退出时禁用跟踪!有人知道怎么做吗? 文档中提到:

我们建议您使用我们的SDK工具来提供选择退出的功能。

但他们实际上没有任何描述。经典的Facebook操作。
编辑: 现在GDPR已经生效这么久了,他们还是没有任何方法可以在用户同意之前禁用所有跟踪,是吗?
3个回答

10

文档更新后,似乎新的做法是禁用加上启用

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

在运行时进行选择加入调用:

FacebookSdk.setAutoLogAppEventsEnabled(true)
FacebookSdk.setAdvertiserIDCollectionEnabled(true)
// OPTIONALLY the following line if AutoInitEnabled is set to false in manifest:
FacebookSdk.setAutoInitEnabled(true) // automatically calls FacebookSdk.fullyInitialize() under the hood

目前我看不到什么时候禁用(和稍后启用)自动初始化会有好处,也许其他人在这方面有想法。


3
在获取用户同意之前 - Emmanuel Loisance

9

虽然我不知道每个用户的情况,但你可以选择退出Facebook SDK事件日志记录:

在Android.Manifest.xml文件中添加以下内容:

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

1
如果需要,用户提供同意后,可以使用FacebookSdk.setAutoLogAppEventsEnabled(true);重新启用日志记录。 - kphil

0

1
我猜是这样,但这是否意味着没有办法完全禁用任何跟踪呢?例如,Firebase提供了方法setAnalyticsCollectionEnabled。在许多国家,强制进行跟踪而没有任何选择退出选项是非法的。 - 0101100101
3
Facebook似乎没有提供这个功能。 :( 你最好的方法可能是通过激活和手动记录来处理,可以使用自己的日志包装器或在每次调用其SDK时进行某些条件检查。如果你在Application.onCreate()中激活日志记录,用户选择加入或退出选项将在下一次完整的应用程序启动时激活。 - Roy Solberg
Facebook可能会继续使用这些信息进行其他用途,包括频率限制、转化事件、估算独立用户数量、安全和欺诈检测以及调试。 - Hogdotmac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接