【问题标题】:Facebook SDK for Unity makes calls before initializationFacebook SDK for Unity 在初始化之前进行调用
【发布时间】:2018-03-09 13:37:31
【问题描述】:

我开发了一个使用 Facebook SDK 的 Unity 应用程序。一切都很好,除了我看到流量离开我的应用程序,甚至在我正式初始化 Facebook SDK 之前就向 Facebook 发送了 adser_id 信息。

如果应用程序是为 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 尚未正式初始化,我显然无法关闭对这些调用的跟踪。

【问题讨论】:

    标签: ios facebook unity3d facebook-unity-sdk


    【解决方案1】:

    在没有任何其他工作的情况下集成 SDK 会导致此问题。但是,唯一的解决方法是直接在 XCode for iOS 中修改原生代码。

    您必须转到文件 FacebookSDK/SDK/Editor/iOS/FBUnityInterface.mm 并从中修改以下函数

    - (void)didBecomeActive:(NSNotification *)notification
    {
      [FBSDKAppEvents activateApp];
    }
    

    到这里

    - (void)didBecomeActive:(NSNotification *)notification
    {
    //  [FBSDKAppEvents activateApp];
    }
    

    否则事件将在您启动应用程序时立即触发,而无需设置年龄限制。希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      相关资源
      最近更新 更多