如何在 android 中使用 Facebook Audience Network 解决错误 = 1001 "No Fill"
How to resolve Error = 1001 "No Fill" using Facebook Audience Network in android
我有一个 Android 版本的应用程序并将 FAN 集成到我的应用程序中。
它工作了几个月,但现在显示“NO FILL”
Error Domain=com.facebook.ads.sdk Code=**1001 "No fill"**
UserInfo={NSLocalizedDescription=**No fill**,
FBAdErrorDetailKey={ msg = "**No fill**"}}
并且没有显示 FAN 广告。如果我输入 testing ID,它就会显示,但只显示在我的设备上,不会显示在其他设备上。
如何解决这个问题"No Fill"?
compile 'com.facebook.android:audience-network-sdk:4.+'
在build.gradle中提到
我已经看到很多关于此的问题,但无法找到答案。
我已经看过以下链接:
Facebook AudienceNetwork loaded failure: No fill, Error Message "No fill", what is the reason about FaceBook android Advertise?
facebook audience network testing on test flight No Fill
我的问题已经解决,直到我用我的管理员帐户登录到 facebook 应用程序并再次从 google play 下载我的应用程序。
针对您的问题提出几点建议:
"No Fill" 错误代码 1001 - 是一个常见错误,FAN 没有将广告返回给您的广告。
确保以下事项:
- 具有展示位置 ID 的广告状态(Audience Network> 广告 Space> 展示位置)必须是 "Enabled and received ad request recently" (1)
- 您的广告状态必须由 Facebook 审核和批准。 (2)
如果(1),您可以尝试禁用并重新启用。
如果 (2),您必须从 google play + 使用管理员帐户登录/或开发人员/测试人员(添加在角色选项卡中)下载 facebook 应用程序),我建议使用管理员帐户登录;并直接从 google play 下载您的应用。
您说您的申请已经活跃了一段时间,以上都是对的,最后是给 Audience Network 团队发消息,他们会在 3-5 个工作日内回复。
尝试 this.It 解决了我的问题。
you have to follow this steps for solve this problem 在此给出了所有屏幕截图和步骤。
希望对您有所帮助。由于 audience Network 选项卡 ad-spaces 组中的 facebook 开发者控制台更新是从 [=32= 新创建的]展示位置。您必须按照以下步骤操作。可能对其他人有帮助。
我还发布了屏幕截图和详细步骤。
这里点击up-grouped for appName 然后按照步骤操作。
勾选任何一个广告的复选框,然后放置按钮将被启用。
输入与广告将在您的应用程序中显示的位置相关的名称和说明,然后单击 移动 按钮
移动一个广告后,您还可以 select 未分组广告中的其他广告,并将其移动到 ad-spaces ,此处将引导您选择移动现有的或创建新的 ad-space.
如果您想创建一个新的,然后 select 新的单选按钮。输入名称和描述后单击移动。
在您的应用通过Facebook审核前,您需要添加测试设备进行测试。以下是获取设备哈希的方法。
NSLog(@"the test device hash is %@",[FBAdSettings testDeviceHash]);
运行 应用程序并从日志中复制 testDeviceHash
,然后将其添加到 FBAdSettings
。
[FBAdSettings addTestDevice:@"YOUR_TEST_DEVICE_HASH_CODE_HERE"];
You need to do it before you init the FBAdView
我设法解决了这个问题。我的步骤:
1.确保在您的代码中设置测试设备哈希
- 首先从 xCode 模拟器而不是您的设备进行测试,以确保它运行良好。
- 在某处添加此日志(例如 viewDidLoad)以显示您的 xCode 模拟器设备哈希:
NSLog(@"%@",[FBAdSettings testDeviceHash]);
- 然后在你的代码中设置它:
[FBAdSettings addTestDevice:@"YOUR_TEST_DEVICE_HASH"];
2。确保您使用的是正确的 placementID
- 转到货币化管理器主页
- 在左侧菜单中展开集成
- 单击“属性”
- 复制您的属性的 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];
}
它对我有用。
试试这个版本,检查它是否工作
implementation 'com.facebook.android:audience-network-sdk:5.1.0'
我想测试广告时遇到同样的错误。
错误:无填充错误代码 [1001] 无填充。我们无法向此人投放广告。
我没有注册 AD,因为我的应用当时还没有上线。所以,我没有广告 Id 。当我收到该错误时,我正在使用测试 ID "YOUR_PLACEMENT_ID"
进行演示。所以只有测试id是不够的,无法在Facebook Ad中获取测试广告。
我找到了如下解决方案。
当您是 initialize
AudienceNetworkAds 时,只需启用 testmode 即可。
AdSettings.setTestMode(true)
class AudienceNetworkInitializeHelper : AudienceNetworkAds.InitListener {
override fun onInitialized(result: AudienceNetworkAds.InitResult) {
Log.d(AudienceNetworkAds.TAG, result.message)
}
companion object {
internal fun initialize(context: Context) {
if (!AudienceNetworkAds.isInitialized(context)) {
if (DEBUG) {
AdSettings.turnOnSDKDebugger(context)
AdSettings.setTestMode(true)// for get test ad in your device
}
AudienceNetworkAds
.buildInitSettings(context)
.withInitListener(AudienceNetworkInitializeHelper())
.initialize()
}
}
}
}
My audience-network-sdk is implementation 'com.facebook.android:audience-network-sdk:5.4.0'
and It's work also in 5.6.0 .
我有一个 Android 版本的应用程序并将 FAN 集成到我的应用程序中。 它工作了几个月,但现在显示“NO FILL”
Error Domain=com.facebook.ads.sdk Code=**1001 "No fill"**
UserInfo={NSLocalizedDescription=**No fill**,
FBAdErrorDetailKey={ msg = "**No fill**"}}
并且没有显示 FAN 广告。如果我输入 testing ID,它就会显示,但只显示在我的设备上,不会显示在其他设备上。
如何解决这个问题"No Fill"?
compile 'com.facebook.android:audience-network-sdk:4.+'
在build.gradle中提到 我已经看到很多关于此的问题,但无法找到答案。
我已经看过以下链接:
Facebook AudienceNetwork loaded failure: No fill, Error Message "No fill", what is the reason about FaceBook android Advertise?
facebook audience network testing on test flight No Fill
我的问题已经解决,直到我用我的管理员帐户登录到 facebook 应用程序并再次从 google play 下载我的应用程序。
针对您的问题提出几点建议: "No Fill" 错误代码 1001 - 是一个常见错误,FAN 没有将广告返回给您的广告。
确保以下事项: - 具有展示位置 ID 的广告状态(Audience Network> 广告 Space> 展示位置)必须是 "Enabled and received ad request recently" (1) - 您的广告状态必须由 Facebook 审核和批准。 (2)
如果(1),您可以尝试禁用并重新启用。 如果 (2),您必须从 google play + 使用管理员帐户登录/或开发人员/测试人员(添加在角色选项卡中)下载 facebook 应用程序),我建议使用管理员帐户登录;并直接从 google play 下载您的应用。
您说您的申请已经活跃了一段时间,以上都是对的,最后是给 Audience Network 团队发消息,他们会在 3-5 个工作日内回复。
尝试 this.It 解决了我的问题。 you have to follow this steps for solve this problem 在此给出了所有屏幕截图和步骤。
希望对您有所帮助。由于 audience Network 选项卡 ad-spaces 组中的 facebook 开发者控制台更新是从 [=32= 新创建的]展示位置。您必须按照以下步骤操作。可能对其他人有帮助。
我还发布了屏幕截图和详细步骤。
这里点击up-grouped for appName 然后按照步骤操作。
勾选任何一个广告的复选框,然后放置按钮将被启用。
输入与广告将在您的应用程序中显示的位置相关的名称和说明,然后单击 移动 按钮
移动一个广告后,您还可以 select 未分组广告中的其他广告,并将其移动到 ad-spaces ,此处将引导您选择移动现有的或创建新的 ad-space.
如果您想创建一个新的,然后 select 新的单选按钮。输入名称和描述后单击移动。
在您的应用通过Facebook审核前,您需要添加测试设备进行测试。以下是获取设备哈希的方法。
NSLog(@"the test device hash is %@",[FBAdSettings testDeviceHash]);
运行 应用程序并从日志中复制 testDeviceHash
,然后将其添加到 FBAdSettings
。
[FBAdSettings addTestDevice:@"YOUR_TEST_DEVICE_HASH_CODE_HERE"];
You need to do it before you init the
FBAdView
我设法解决了这个问题。我的步骤:
1.确保在您的代码中设置测试设备哈希
- 首先从 xCode 模拟器而不是您的设备进行测试,以确保它运行良好。
- 在某处添加此日志(例如 viewDidLoad)以显示您的 xCode 模拟器设备哈希:
NSLog(@"%@",[FBAdSettings testDeviceHash]);
- 然后在你的代码中设置它:
[FBAdSettings addTestDevice:@"YOUR_TEST_DEVICE_HASH"];
2。确保您使用的是正确的 placementID
- 转到货币化管理器主页
- 在左侧菜单中展开集成
- 单击“属性”
- 复制您的属性的 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];
}
它对我有用。
试试这个版本,检查它是否工作
implementation 'com.facebook.android:audience-network-sdk:5.1.0'
我想测试广告时遇到同样的错误。
错误:无填充错误代码 [1001] 无填充。我们无法向此人投放广告。
我没有注册 AD,因为我的应用当时还没有上线。所以,我没有广告 Id 。当我收到该错误时,我正在使用测试 ID "YOUR_PLACEMENT_ID"
进行演示。所以只有测试id是不够的,无法在Facebook Ad中获取测试广告。
我找到了如下解决方案。
当您是 initialize
AudienceNetworkAds 时,只需启用 testmode 即可。
AdSettings.setTestMode(true)
class AudienceNetworkInitializeHelper : AudienceNetworkAds.InitListener {
override fun onInitialized(result: AudienceNetworkAds.InitResult) {
Log.d(AudienceNetworkAds.TAG, result.message)
}
companion object {
internal fun initialize(context: Context) {
if (!AudienceNetworkAds.isInitialized(context)) {
if (DEBUG) {
AdSettings.turnOnSDKDebugger(context)
AdSettings.setTestMode(true)// for get test ad in your device
}
AudienceNetworkAds
.buildInitSettings(context)
.withInitListener(AudienceNetworkInitializeHelper())
.initialize()
}
}
}
}
My audience-network-sdk is
implementation 'com.facebook.android:audience-network-sdk:5.4.0'
and It's work also in 5.6.0 .