如何在Facebook即时游戏中测试RewardVideo?

时间:2018-03-21 04:20:55

标签: facebook-instant-games facebook-monetization-manager

这是我的代码。

  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字符串我们无法向当前用户投放广告。如果用户在其设备上选择停用针对用户兴趣的广告,或者我们没有为该用户展示广告资源,就会发生这种情况。"

但我的应用仍在开发中。

2 个答案:

答案 0 :(得分:1)

如果您经常收到此错误,则很可能在您的受众群体网络设置中存在某种错误配置。

检查以确保:

  1. Monetization Manager中的“管理资源”选项下,平台类型为即时游戏,您的广告空间配置如下所示:image showing Instant Games ad space
  2. 您指定了有效的付款帐户
  3. 如果设置了以上内容并且仍未提供广告,请通过Monetization Manager底部的帮助链接与受众群体网络小组联系以获取支持。

答案 1 :(得分:1)

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

你的应用程序正处于开发阶段"并不意味着您无法看到实时广告。您在Facebook即时游戏中拥有正确的代码,我猜您已经使用获利管理器获得了真正的INTERSTITIAL_PLACEMENT_ID特别是您的游戏。

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