我开发了一个使用Facebook SDK的Unity应用程序。一切都很顺利,除了我看到流量离开我的应用程序,甚至在我正式初始化Facebook SDK之前就将advertiser_id信息发送到Facebook。
如果应用程序适用于13岁以下的孩子,则会导致严重问题,因为它会为不应跟踪的用户发送ID。有没有办法限制这些调用的发生,或者仅在SDK正式初始化后才发生,而不是在应用程序启动时发生?
以下是我所看到的示例调用:
POST /v2.8/XXXXXXXXXXXXXXX/activities?advertiser_id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&advertiser_tracking_enabled=1&anon_id=XXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&application_tracking_enabled=1&event=MOBILE_APP_INSTALL&extinfo=XXXXXXXXXXXXXXXXXXXXXXXX&format=json&include_headers=false&sdk=ios&url_schemes=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HTTP/1.1
Host: graph.facebook.com
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data;
Accept-Language: en-gb
Content-Length: 1378
Accept: */*
Connection: keep-alive
User-Agent: FBiOSSDK.4.17.0
sdk ios
advertiser_tracking_enabled 1
format json
include_headers false
anon_id XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
application_tracking_enabled 1
event MOBILE_APP_INSTALL
extinfo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
url_schemes XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
advertiser_id XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
显然,如果SDK尚未正式初始化,我无法关闭这些调用的跟踪。
答案 0 :(得分:0)
在没有任何其他工作的情况下集成SDK会导致此问题。但是,解决它的唯一方法是直接修改XCode for iOS中的本机代码。
您必须转到文件FacebookSDK / SDK / Editor / iOS / FBUnityInterface.mm并从此处修改以下功能
- (void)didBecomeActive:(NSNotification *)notification
{
[FBSDKAppEvents activateApp];
}
到这个
- (void)didBecomeActive:(NSNotification *)notification
{
// [FBSDKAppEvents activateApp];
}
否则事件将在您启动应用程序时触发,而不需要年龄门。希望这有帮助