我在我的 React Native 应用程序中使用 Firebase AdMob,当用户点击特殊按钮时,应该会显示一个奖励广告单元。这个按钮组件和调用广告横幅的功能是在单独的文件中实现的。因此,我的函数需要返回一个值,以显示用户是否已观看完整广告并获得奖励。但是我不知道如何在rewarded.onAdEvent事件以 . 结束后返回值type === RewardedAdEventType.EARNED_REWARD。我的函数有一个调用广告和我的按钮组件的示例:
Ads.js 片段
const showRewarded = () => {
const rewarded = RewardedAd.createForAdRequest(UNIT_ID, {
requestNonPersonalizedAdsOnly: false,
});
const eventListener = rewarded.onAdEvent((type, error, reward) => {
if(type === RewardedAdEventType.LOADED) {
rewarded.show();
}
if(type === RewardedAdEventType.EARNED_REWARD) {
return reward;
}
// The reward should be null if user skiped the ad
return null;
});
rewarded.load();
// Wait for event completion
}
按钮.js
import React from 'react';
import {
View,
Text,
TouchableOpacity
} from 'react-native';;
import { Ads } from '../components';
class MyButton extends React.Component {
constructor(props) {
super(props);
}
showAd() {
// Wait while user has not been get a reward (or skiped the ad)
const reward = Ads.showRewarded();
console.log(`The reward is ${reward}`);
}
render() {
return (
<View>
<TouchableOpacity onPress={() => this.showAd()}>
<Text>Show Ad to get a reward</Text>
</TouchableOpacity>
</View>
)
}
}
export default MyButton;
阿晨1998
慕桂英546537
随时随地看视频慕课网APP
相关分类