【问题标题】:Facebook SDK for Unity references ASIdentifierManagerFacebook SDK for Unity 参考 ASIdentifierManager
【发布时间】:2014-02-20 08:52:07
【问题描述】:

从 2 月初开始,Apple 开始拒绝 AppStore 中访问广告标识符 (IDFA) 但在运行时不投放广告的移动应用程序。

Apple 正在执行其开发者指南中的第 3.3.12 条:

“您和您的应用程序(以及与您签订了提供广告服务合同的任何第三方)可以使用广告标识符以及通过使用广告标识符获得的任何信息,仅用于提供广告的目的.如果用户重置广告标识符,则您同意不直接或间接将先前的广告标识符和任何派生信息与重置的广告标识符组合、关联、链接或以其他方式关联。”

问题ASIndentifierManager 引用自 FacebookSDK.a(Facebook SDK for Unity,由于我们的应用没有显示任何广告,我们可能会被拒绝。我们只使用 Facebook 登录,没有别的。

有人知道如何删除 FB Unity 库中的 ASIndentifierManager 引用吗?

到目前为止,我还没有为 Facebook SDK for Unity 找到与此问题相关的解决方案。我看到这已经在 Facebook 开发人员页面中提出,但仅适用于 iOS SDK,而不适用于 Unity SDK。如果我错过了任何链接,请随时指出它给我。谢谢。

【问题讨论】:

    标签: facebook-unity-sdk


    【解决方案1】:

    我遇到了这样的问题。我唯一可以建议您的是下载 FacebookSDK 的source code 并按照post 中的描述对其进行编辑。 编译后,您将拥有分辨率为“.a”的文件。 然后您需要将文件 FacebookSDK.a (Assets/Facebook/Editor/iOS) 替换为您在编译结果中收到的文件。

    附言对不起英语

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    【解决方案2】:

    xcode 在 unity 项目中默认引用广告标识符,即所有由 unity 制作的 xcode 项目都将引用广告标识符。

    如果您的应用没有展示广告,您需要从 xcode 的 DeviceSettings.mm 脚本中修改一些代码。

    1) 在您的 Xcode 项目中找到 DeviceSettings.mm 文件(您应该在 Classes/Unity/ 下找到它)

    2) 在那里进行以下修改:

    a)删除以下功能: 代码(csharp):

    static id QueryASIdentifierManager()
    {
    <..>
    }
    static void QueryAdID()
    {
    <..>
    }
    static void QueryAdTracking()
    {
    <..>
    }
    

    b) 删除以下变量声明: 代码(csharp):

    static NSString*    _ADID               = nil;
    static bool         _AdTrackingEnabled  = false;
    

    c) 修改以下函数的实现(替换为下面提供的): 代码(csharp):

    extern "C" const char*  UnityAdvertisingIdentifier()
    {
    return NULL;
    }
    
    extern "C" bool         UnityAdvertisingTrackingEnabled()
    {
    return false;
    }
    
    static void QueryDeviceID()
    {
        if(_DeviceID == nil)
        {
        #if UNITY_PRE_IOS7_TARGET
            if(!_ios70orNewer)
                _InitDeviceIDPreIOS7();
        #endif
    
            // first check vendor id
            if(_DeviceID == nil)
            {
                QueryVendorID();
                _DeviceID = _VendorID;
            }
        }
    }
    

    您可以参考以下链接:

    http://forum.unity3d.com/threads/ios-advertising-identifier-rejection-faq.226187/

    另外,修改代码后,在提交应用时在itunes上回答问题时,为idfa的使用打“no”。

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多