如何使用“expo-ads-admob”在插页式广告中添加间隔

Posted

技术标签:

【中文标题】如何使用“expo-ads-admob”在插页式广告中添加间隔【英文标题】:How to add Interval in Interstitial Ads using “expo-ads-admob” 【发布时间】:2020-05-22 08:12:58 【问题描述】:

我正在使用 Expo 开发 ReactNative 应用程序,并在其中添加了来自“expo-ads-admob”的插页式广告。我想每 60 秒后展示一次插页式广告。但它在打开后只显示一个广告,然后没有广告。请帮我解决这个问题。

import 
  AdMobInterstitial,setTestDeviceIDAsync
 from 'expo-ads-admob';

export default class App extends Component 

 
  async componentDidMount()
    await setTestDeviceIDAsync('EMULATOR');
      AdMobInterstitial.setAdUnitID('ca-app-pub-6726786803906385/1416335240'); 
      await AdMobInterstitial.requestAdAsync( servePersonalizedAds: true);
     
      await AdMobInterstitial.showAdAsync();
     
   
    
  

  render() 
    return (        
         
------------------
            
       
    );
  

【问题讨论】:

【参考方案1】:

好的,经过这么多试验,我得到了这个问题的答案,我想和你们分享;

import 
  AdMobInterstitial,setTestDeviceIDAsync
 from 'expo-ads-admob';

export default class App extends Component 

 
  async componentDidMount()
    await setTestDeviceIDAsync('EMULATOR');
      AdMobInterstitial.setAdUnitID('ca-app-pub-xxxxxxxxxxxxxxxxxxxxxxxx'); 
      await AdMobInterstitial.requestAdAsync( servePersonalizedAds: true);
     await AdMobInterstitial.showAdAsync();
    
    
     const that = this;
     setTimeout(() => 
     // write your functions    
     that.componentDidMount();
   ,60000);
    
  


  render() 
    return (
    ---------
    ---------
    --------
    --------
       
    );
  

【讨论】:

我知道这是一个有点旧的答案,但您可能希望通过创建一个名为 showInterstitial() 的单独函数来清理这个问题,以便最初在 componentDidMount 中调用,然后而不是调用componentDidMount()setTimeout() 函数中,您可以在 setInterval() 函数中调用 showInterstitial()。如果您需要在那里添加额外的逻辑,这将释放您的 componentDidMount 函数,并且从长远来看它更具可读性和可预测性。

以上是关于如何使用“expo-ads-admob”在插页式广告中添加间隔的主要内容,如果未能解决你的问题,请参考以下文章

javascript中的Cordova Admob免费插件-插件不起作用

如何使用 AdMob 在活动中加载插页式广告并在下一个活动中显示?

在颤动中我如何在每 5 分钟后显示插页式广告

如何在应用退出后停止显示插页式广告?

如何在应用退出后停止显示插页式广告?

如何在 facebook 受众网络插页式广告中设置点击计数器?