0

这是我的代码。

  var ad;
  FBInstant.getRewardedVideoAsync('1234_1234')
    .then(function(rewardedVideo) {
      if(typeof rewardedVideo !== 'undefined'){
        if(typeof rewardedVideo.getPlacementID() === 'undefined'){
          console.log('can not get placement ID')
        }
        ad = rewardedVideo;
        return rewardedVideo.loadAsync()
      } else {
        return Promise.reject(new Error('rewardedVideo is undefined'))
      }
    })
    .then(function(){ //adv loaded
      console.log('adv loaded')
    })
    .catch(function(error){
      console.log(error.code, error.message);
    });

我总是得到 {code: "ADS_NO_FILL", message: 'No fill'}。该文件说:“ADS_NO_FILL 字符串我们无法向当前用户投放广告。如果用户在其设备上选择退出基于兴趣的广告,或者我们没有为该用户显示的广告库存,则可能会发生这种情况。”

但我的应用程序仍在开发中。

4

2 回答 2

1

如果您经常收到此错误,则很可能是您的 Audience Network 设置中存在某种错误配置。

检查以确保:

  1. Monetization Manager中的 Manage Property 选项下,平台类型是 Instant Games,您的广告空间配置如下:显示小游戏广告空间的图片
  2. 您指定了一个有效的付款帐户
  3. 如果上述设置已设置,但仍无法投放广告,请通过Monetization Manager底部的帮助链接联系 Audience Network 团队寻求支持。
于 2018-03-25T22:30:31.257 回答
1

这几天我和你有同样的问题,但找到了解决方案!

您的应用“正在开发”这一事实并不意味着您看不到实时广告。您在 Facebook 即时游戏中拥有正确的代码,我猜您已经获得了一个真实的代码,INTERSTITIAL_PLACEMENT_ID特别是使用货币化管理器的游戏。

收到ADS_NO_FILL错误消息后,Monetization Manager 中的状态会从等待集成更改为广告投放成功(除错误外)。要查看实时广告,您需要指定您的付款信息(您的个人和银行数据,尤其是收入账户的 IBAN 号码)。然后将投放实时广告(无论您的游戏是否未经 Facebook 批准)。

于 2018-06-05T10:30:04.180 回答