2017-02-19 77 views
0

我一直在尋找和測試幾個星期,我無法得到任何與此。如何在科爾多瓦展示原生AdMob廣告?

我在科爾多瓦和ReactJS(無離子等)做一個Android應用程序,我試圖展示admob廣告。我知道我可以爲它創建一個插件,但我不知道如何將所有內容鏈接在一起,因爲插件的cordova文檔並不是很深入。

如何將所有內容鏈接在一起?有沒有人有任何好的廣泛文檔的新手?

回答

0

在你的android gradle中添加googleplayservice。 並將此代碼添加到您的活動等級中。

AdView adView; 
    private ViewGroup parentView; 
    InterstitialAd mInterstitialAd; 
    private static final boolean CORDOVA_4 = Integer.valueOf(CordovaWebView.CORDOVA_VERSION.split("\\.")[0]) >= 4; 
public void onCreate(Bundle savedInstanceState) 
      { 
     super.onCreate(savedInstanceState); 
     // Set by <content src="index.html" /> in config.xml 
     loadUrl(launchUrl); 
     mInterstitialAd = new InterstitialAd(this); 

     // set the ad unit ID 
     mInterstitialAd.setAdUnitId("ca-app-pub-your Interstitia"); 

     AdRequest adRequest = new AdRequest.Builder() 
      .build(); 

     // Load ads into Interstitial Ads 
     mInterstitialAd.loadAd(adRequest); 

     mInterstitialAd.setAdListener(new AdListener() { 
      public void onAdLoaded() { 
      showInterstitial(); 
      } 
     }); 

     CordovaWebView webView=this.appView; 
     adView = new AdView(this); 
     adView.setAdSize(AdSize.BANNER); 
     adView.setAdUnitId("ca-app-pub-bannerid"); 
     adView.setVisibility(View.GONE); 
     adView.loadAd(buildAdRequest()); 
     if (CORDOVA_4) { 
     ViewGroup wvParentView = (ViewGroup) webView.getView().getParent(); 

     if (parentView == null) { 
     parentView = new LinearLayout(webView.getContext()); 
     } 

     if (wvParentView != null && wvParentView != parentView) { 
     wvParentView.removeView(webView.getView()); 
     ((LinearLayout) parentView).setOrientation(LinearLayout.VERTICAL); 
     parentView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, 0.0F)); 
     webView.getView().setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, 1.0F)); 
     parentView.addView(webView.getView()); 
     this.setContentView(parentView); 

     } 

    } else { 
     parentView = (ViewGroup) ((ViewGroup) webView).getParent(); 
    } 
     parentView.addView(adView); 
     parentView.bringToFront(); 
     parentView.requestLayout(); 
     adView.setVisibility(View.VISIBLE); 

    } 
     private AdRequest buildAdRequest() { 
     AdRequest.Builder request_builder = new AdRequest.Builder(); 

     Bundle bundle = new Bundle(); 
     bundle.putInt("cordova", 1); 

     AdMobExtras adextras = new AdMobExtras(bundle); 
     request_builder = request_builder.addNetworkExtras(adextras); 
     AdRequest request = request_builder.build(); 
     return request; 
     } 

     private void showInterstitial() { 
     if (mInterstitialAd.isLoaded()) { 
      mInterstitialAd.show(); 
     } 
     }