【问题标题】:Facebook Audience Network lock HTTP requestFacebook Audience Network 锁定 HTTP 请求
【发布时间】:2025-12-19 20:35:11
【问题描述】:

我对 FB Audience 组件有一个大问题。

我们已将 iOS 上的 Facebook Audience Network 与 Placement_id 集成,但在不同的设备和 FB 帐户 API 答案始终是这个

[FBAdienceNetworkLog/FBAdProvider:137 ] 广告请求错误:错误域 = com.facebook.ads.sdk 代码 = 1001 "未填写" UserInfo={FBAdErrorDetailKey={ msg = "未填写。我们无法投放广告给这个人。请参考https://developers.facebook.com/docs/audience-network/faq#a12。如果您是第一次集成Audience Network,可以使用测试广告https://developers.facebook.com/docs/audience-network/testing。"; }, NSLocalizedDescription=无填充}

我们还参考了文档 a12,但“iOS 广告没有限制”并且所有帐户都登录到 Facebook。 我们已仔细阅读文档,并检查了 iOS 和 Android 上“无填充”的情况。

我们想在我们的列表中使用 Facebook 原生广告,并且我们希望每 5 个元素显示 1 个 Facebook 原生广告。

奇怪的是这种情况(在同一设备上):

  • 在调试模式下安装应用 Facebook 原生广告正确显示
  • 在 RELEASE MODE 下使用 TESTFLIGHT 安装应用 Facebook 原生广告响应“No Fill”
  • 在 APPSTORE 上发布相同的 TestFlight 应用,Facebook 原生广告锁定其他 HTTP 请求。我们通过 Charles (http://www.charlesproxy.com/) 进行了检查,API 调用没有启动,因为正在加载 Facebook 调用。这发生在通过 APPSTORE 下载应用程序的所有设备上。

我们的应用是通过 Xamarin 组件开发的 https://components.xamarin.com/view/fbaudiencenetworkios

真正奇怪的是相同设备上的相同代码和不同版本类型的相同 FB 用户(我的 Luigi Saggese)具有不同的行为。

  • 调试模式:OK
  • 使用 TestFlight 的发布模式:“无填充”而不锁定其他 API 调用
  • App Store:没有响应锁定其他 API 调用

在 TestFlight 模式下,我们在 * 上找到了这个看起来很现实的答案 (Facebook Native Ads on iOS) “Test Flight 在 IDFA 池中旋转并隐藏用户真正的 IDFA,从而难以识别 Facebook 用户——这是必需的用于投放广告。”

【问题讨论】:

    标签: ios xamarin xamarin.ios facebook-audience-network xamarin-component


    【解决方案1】:

    以下是对您的三种方案的一些反馈:

    场景 1:这似乎没有问题。对你有好处。

    场景 2:从 TestFlight 运行应用时收到“NO Fill”。这是一个已知的问题。该站点中的许多帖子已经确定了根本原因。您还在帖子末尾列出了原因。如果您想测试真实广告而不是 Facebook 测试广告,建议不要使用 TestFlight。

    场景 3:这是一个有趣的场景。通常大多数时候,调试版本和发布版本的行为应该相似。 Audience Network 组件是一个非常简单的组件。我们观察了几个这样的案例,发现主要问题是多个后台线程正在运行并导致网络意外锁定。

    除了在这里向同行寻求帮助外,另一个很好的渠道是在 Facebook Audience Network 的开发者仪表板上提交直接支持案例。 FAN 技术团队将能够与您一起检查问题。

    【讨论】:

    • 关于联系 FAN 技术团队的建议,我已经完成了,但他们已经提醒我 Xamarin 支持团队(因为它不是由 FAN 维护的组件)。我在这里报告了一个错误bugzilla.xamarin.com/show_bug.cgi?id=40325