如何在android中使用Facebook Audience Network解决Error = 1001“No Fill”

问题描述 投票:14回答:4

我有我的应用程序的Android版本,并将FAN集成到我的应用程序中。它工作了几个月,但现在它显示“没有填充”

Error Domain=com.facebook.ads.sdk Code=**1001 "No fill"** 
UserInfo={NSLocalizedDescription=**No fill**, 
FBAdErrorDetailKey={ msg = "**No fill**"}}

并且没有显示FAN广告。如果我输入了测试ID,那么它就会显示,但仅限于我的设备,而不是其他设备。

如何解决这个问题“No Fill”?

compile 'com.facebook.android:audience-network-sdk:4.+'

在build.gradle中提到我已经看到很多关于此的问题,但无法找到答案。

我已经在下面看到了链接:

  1. Facebook AudienceNetwork loaded failure: No fill, Error Message "No fill", what is the reason about FaceBook android Advertise?
  2. facebook audience network testing on test flight No Fill
  3. Audience Network iOS Ads Suddenly Become "No Fill"
  4. Facebook Audience Network returns "No fill"
  5. Testing Audience Network Implementation
android facebook facebook-ads-api facebook-audience-network
4个回答
3
投票

试试这个。它解决了我的问题。 you have to follow this steps for solve this problem在这里给出了所有截图和步骤。

愿这对你有所帮助。由于Facebook开发者控制台在受众群体网络标签广告空间组中的更新是从展示位置新创建的。你必须按照这个步骤。可能有助于他人。

我还发布了截图以及步骤详细信息。

点击向上分组为appName,然后按照步骤操作。

  1. 选中任意一个广告的勾选复选框,然后启用展示位置按钮。
  2. 输入与广告在应用中显示的位置相关的名称和说明,然后点击移动按钮enter image description here
  3. 移动一个广告后,您还可以从未分组的广告中选择其他广告,然后将其移至广告空间,这样您就可以选择迁移到现有广告或创建新的广告空间。 enter image description here
  4. 如果要创建新的,请选择新的单选按钮。输入名称和描述后单击“移动”。 enter image description here

1
投票

在Facebook批准您的应用之前,您需要添加测试设备进行测试。以下是如何获取设备哈希的方法。

NSLog(@"the test device hash is %@",[FBAdSettings testDeviceHash]); 

运行应用程序并从日志中复制testDeviceHash然后将其添加到FBAdSettings

[FBAdSettings addTestDevice:@"YOUR_TEST_DEVICE_HASH_CODE_HERE"];

你需要在启动FBAdView之前完成它


0
投票

我的问题解决了,直到我用我的管理员帐户登录到Facebook应用程序并再次从谷歌播放下载我的应用程序。

一些针对您问题的建议:错误代码为1001的“No Fill” - 是一个常见错误,FAN没有将广告返回到您的广告。

确保以下事项: - 带有展示位置ID的广告状态(受众群体网络>广告空间>展示位置)必须为“最近启用并收到广告请求”(1) - 您的广告状态必须经过Facebook审核和批准。 (2)

如果(1),您可以尝试禁用并再次启用。如果(2),您必须从谷歌播放+登录管理员帐户/或开发人员/测试人员(在角色选项卡中添加)下载Facebook应用程序),我建议使用管理员帐户登录;并直接从谷歌播放下载您的应用程序。

您说您的应用程序已经活动了一段时间,以上情况是正确的,最后一个是向Audience Network Team发送消息,他们将在3-5个工作日内回复。

enter image description here


0
投票

我设法解决了这个问题。我的步骤:

1.确保在代码中设置测试设备哈希

  • 首先从xCode模拟器而不是您的设备进行测试,以确保它运行良好。
  • 在某处添加此日志(例如viewDidLoad)以显示您的xCode模拟器设备哈希:
NSLog(@"%@",[FBAdSettings testDeviceHash]);
  • 然后在您的代码中设置它:
[FBAdSettings addTestDevice:@"YOUR_TEST_DEVICE_HASH"];

2.确保使用正确的placementID

  • 转到Monetization Manager主页
  • 在左侧菜单上展开“集成”
  • 单击“属性”
  • 复制您的媒体资源ID并将其粘贴到您的代码中:
- (void)loadNativeAd{
    FBNativeAd *nativeAd = [[FBNativeAd alloc] initWithPlacementID:@"YOUR_PLACEMENT_ID"];
    nativeAd.delegate = self;
    NSLog(@"%@",[FBAdSettings testDeviceHash]);
    [FBAdSettings addTestDevice:@"YOUR_TEST_DEVICE_HASH"];
    [nativeAd loadAd];
}

它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.