大家好,我需要一些帮助来实现奖励视频听众。 除了使用插件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 :( !!!!
答案 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();
});
使用文档中提供的代码(以及您的答案),您可以立即单击广告并仍然获得奖励。