1 回答

TA貢獻1848條經驗 獲得超10個贊
我認為有更好的解決方案,但我是setTimeout在廣告單元尚未加載時使用簡單的函數(shù)完成的。它看起來像這樣:
const showRewarded = async () => {
const rewarded = RewardedAd.createForAdRequest(UNIT_ID, {
requestNonPersonalizedAdsOnly: false
});
var loaded = false;
var gotReward = false;
const eventListener = rewarded.onAdEvent((type, error, reward) => {
if(type === RewardedAdEventType.LOADED) {
rewarded.show();
loaded = true;
}
else if(type === RewardedAdEventType.EARNED_REWARD) {
gotReward = true;
}
else if(error) {
console.warn(error);
}
});
rewarded.load();
while(!loaded) {
await new Promise((resolve, reject) => setTimeout(resolve, 1000));
}
return gotReward;
}
此函數(shù)gotReward僅在廣告關閉后返回。如果用戶觀看了所有廣告則為真,如果他已跳過則此值為假。
添加回答
舉報