У меня есть функция, которая проверяет, видел ли пользователь или должен видеть видео с наградами, чтобы иметь возможность использовать функцию в моем ионном приложении:
let canUseThisFunction = await this.someService.canUseFunction();
if(canUseThisFunction){
console.log("can use");
} else {
console.log("can NOT use");
}
, а функция проверки выглядит примерно так:
canUseFunction(){
let canUse = await this.checkInBackend.checkIfUserHasReward();
if(!canUse){
await this.adService.showRewardVideo();
} else {
return false;
}
}
Проблема, с которой я столкнулся, заключается в том, что после checkIfUserHasReward()
звонки admob.rewardVideo.show()
он разрешает только "OK", пока идет видео с вознаграждением.
..
this.admob.rewardVideo.config(rewardVideoConfig);
return this.admob.rewardVideo.prepare().then((prepareReward) => {
console.log("prepareReward", prepareReward);
return this.admob.rewardVideo.show();
}).then(rewardShowed => {
console.log("rewardShowed", rewardShowed);
return rewardShowed;
}).catch(e => console.error(e));
Я могу получить событие вознагражденияиспользуя
(document as any).addEventListener("admob.rewardvideo.events.REWARD")
, но он разрешается за пределами моего canUseFunction()
.Есть ли способ поймать это eventListener
внутри другой функции?