2

大家好,我需要一些帮助来实施奖励视频听众。除了使用插件https://github.com/floatinghotpot/cordova-admob-pro.git之外,我还有一个基本的 admob 设置

所以简单地说,我需要在观看视频后奖励我的玩家我该怎么做?

//this is my admob.js///////////////////////////////////////////////////////
var admobid = {};
if( /(android)/i.test(navigator.userAgent) ) { 
    admobid = { // for Android
        banner: '',
        interstitial: '',
        rewardvideo: 'my code etc',

    };
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {
    admobid = { // for iOS
        banner: '',
        interstitial: '',
        rewardvideo: 'my code etc',
    };
} else {
    admobid = { // for Windows Phone
        banner: '',
        interstitial: '',
    };
}
        if (AdMob) AdMob.createBanner( {
        adId: admobid.banner, 
        isTesting: false,
        overlap: true,
        offsetTopBar: false, 
        position: AdMob.AD_POSITION.BOTTOM_CENTER,
        bgColor: 'black'
   });



if (AdMob) AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:false} );
if (AdMob) AdMob.prepareRewardVideoAd({ adId:admobid.rewardvideo, autoShow:false} );

///////////////////////////////////////// ////////////////////////////////////////bellow是我游戏中使用的一个简单函数

///now with this I do my reward video call in a function in my game
///this bellow gets called when a button is hit and launches the reward 
///video


 freecoinsss:function()
    {   
     if (AdMob) AdMob.showRewardVideoAd();
    },

现在我的问题是如何让事件监听器获得奖励我的玩家观看视频的功能“这是我要调用奖励玩家的功能”rewardforvideo(); 顺便说一句,在移相器中编码

rewardforvideo:function()
{
 var reward = 50;
 var cash = localstorage.getItem('money');
 var newcash = (reward+cash);
 localstorage.setItem('money',newcash)

},

我发现了这个https://developers.google.com/admob/android/rewarded-video-adapters 但我坚持实施它 HElppppppp :(!!!!

4

2 回答 2

0

我已经在这个问题上工作了大约一个小时,由于 cordova-plugin-admobpro 插件上的事件侦听器有限,我能想出的最佳解决方案是将计时器设置为 10 秒(最小广告长度),然后等待 onAdDismiss 事件触发。显然,这仍然意味着如果一个视频在 10 秒后退出到一个 30 秒的广告中,他们仍然会获得积分。

请参见下面的粗略示例:

    var canCredit;


//button event clicked to load/autodisplay ad

function showVideoAd(){


    canCredit='no';

//start timer


setTimeout(function(){

    canCredit='yes';

}, 10000); //10 seconds


 AdMob.prepareRewardVideoAd({
        adId: 'ca-app-pub-3839382062281896/9043804687',
        autoShow: true,
      });




}

function creditReward(){


//credit reward code here



}

//once ad is dismissed check if 10 seconds is up, if so, credit reward

$(document).on('onAdDismiss', function(e){

    if(canCredit == 'yes')
        creditReward();


});

使用文档中提供的代码(以及您的答案),您可以立即退出广告并仍然获得奖励。

于 2018-08-29T07:03:04.477 回答
0

好的,经过大量调查,我从这里开始工作:

if(AdMob) {
    AdMob.showRewardVideoAd();
    document.addEventListener('onAdPresent', function(data){ 
        if(data.adType == 'rewardvideo') { 
            alert( data.rewardType ); // coins if you're using the test ID
            alert( data.rewardAmount ); // 10 if you're using the test ID
        } 
    });
}

我正在使用 cordova-admob-pro 插件并使用 CLI 为 Android 构建(至少目前如此)我希望这对某人有所帮助。

于 2018-03-28T18:42:46.267 回答