Admob Javascript完成视频后需要奖励视频听众

时间:2017-11-25 09:43:44

标签: javascript admob phaser-framework rewardedvideoad cordova-admob

大家好,我需要一些帮助来实现奖励视频听众。 除了使用插件https://github.com/floatinghotpot/cordova-admob-pro.git

之外,我有一个基本的admob设置

SO更好地说我需要在看完视频后奖励我的玩家我该怎么做?

//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} );

/////////////////////////////////////////////// /////////////////////////////////轰鸣声是我游戏中使用的一个简单功能

///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();
    },

现在我的问题是如何让eventlistener获得一个功能,授予我的玩家观看视频 "这是我想要奖励玩家的功能" rewardforvideo(); 在相位器btw编码

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 :( !!!!

2 个答案:

答案 0 :(得分:0)

好的,经过多次调查后,我的工作为from here

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构建(至少目前) 我希望这有助于某人。

答案 1 :(得分:0)

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

请参见下面的大致示例:

    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();


});

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