UNPKG

yodo1-mas-react-native-plugin

Version:
104 lines 3.7 kB
import { NativeModules, NativeEventEmitter, Alert, findNodeHandle, requireNativeComponent, Platform } from 'react-native'; const { Yodo1MASAds } = NativeModules; export const NativeView = requireNativeComponent('NativeView'); export const BannerView = requireNativeComponent('BannerView'); export const CustomView = requireNativeComponent('CustomView'); export const hasReward = () => { // Your code here to check if the user has earned a reward // From Redux, AsyncStorage return true; }; export const setReward = () => { // Your code here to confirm that the user earned a reward // Redux, AsyncStorage, etc... }; export const showAdExplainer = () => Alert.alert('You must watch the entire Ad to earn the reward!'); export const ShowRewardGivenAlert = () => Alert.alert('Reward Added'); const handleYodoEvent = ({ value }) => { __DEV__ && console.log(`MAS Event: ${value}`); switch (value) { case 'onMasInitSuccessful': break; case 'onMasInitFailed': setTimeout(() => Yodo1MASAds.initMasSdk(true, true, true), 5000); break; case 'reward-onRewardAdEarned': setTimeout(() => hasReward() ? null : ShowRewardGivenAlert(), 5000); setReward(); break; case 'reward-onRewardAdLoaded': setTimeout(() => hasReward() ? null : showAdExplainer(), 500); break; case 'reward-onRewardAdOpened': setTimeout(() => hasReward() ? null : showAdExplainer(), 500); break; case 'reward-onRewardAdClosed': setTimeout(() => hasReward() ? null : showAdExplainer(), 500); break; case 'reward-onRewardAdFailedToLoad': setReward(); break; case 'adRefresh': break; } }; export const registerYodoAds = () => { const eventEmitter = new NativeEventEmitter(Yodo1MASAds); const eventListener = eventEmitter.addListener('adEvent', handleYodoEvent); Yodo1MASAds.initMasSdk(true, true, true); return eventListener; }; export const showBannerAds = ref => { const reactTag = findNodeHandle(ref); Yodo1MASAds.showBannerAds(reactTag); }; export const showInterstitialAds = async () => { Yodo1MASAds.showInterstitialAds(); }; export const showInterstitialAdsWithPlacementId = async () => { Yodo1MASAds.showInterstitialAdsWithPlacementId('InterstitialAdPlacementId'); }; export const showRewardedAds = async () => { Yodo1MASAds.showRewardedAds(); }; export const showRewardedAdsWithPlacementId = async () => { Yodo1MASAds.showRewardedAdsWithPlacementId('RewardedAdPlacementId'); }; export const showAppOpenAds = async () => { Yodo1MASAds.showAppOpenAds(); }; export const showAppOpenAdsWithPlacementId = async () => { Yodo1MASAds.showAppOpenAdsWithPlacementId('AppOpenAdPlacementId'); }; export const showRewardInterstitialAds = async () => { Yodo1MASAds.showRewardInterstitialAds(); }; export const showRewardInterstitialAdsWithPlacementId = async () => { Yodo1MASAds.showRewardInterstitialAdsWithPlacementId('RewardInterstitialAdPlacementId'); }; export const showNativeAds = async ref => { const reactTag = findNodeHandle(ref); Yodo1MASAds.showNativeAds(reactTag); }; export const setCCPA = async () => { Yodo1MASAds.setCCPA(true); }; export const setCOPPA = async () => { Yodo1MASAds.setCOPPA(true); }; export const setGDPR = async () => { Yodo1MASAds.setGDPR(true); }; export const closeBannerAd = async ref => { const reactTag = findNodeHandle(ref); Platform.OS === 'ios' ? Yodo1MASAds.closeBannerAd(reactTag) : Yodo1MASAds.closeBannerAd(); }; export const closeNativeAd = async ref => { const reactTag = findNodeHandle(ref); Platform.OS === 'ios' ? Yodo1MASAds.closeNativeAd(reactTag) : Yodo1MASAds.closeNativeAd(); }; //# sourceMappingURL=index.js.map