2017-02-19 5 views
0

Ich habe mehrere Wochen lang gesucht und getestet und komme damit nicht weiter.Wie kann ich native AdMob-Anzeigen in Cordova anzeigen?

Ich mache eine Android-App in Cordova und ReactJS, (keine ionische etc), und ich versuche, Admob-Anzeigen anzuzeigen. Ich weiß, dass ich dafür ein Plugin erstellen könnte, aber ich habe keine Ahnung, wie man alles miteinander verbindet, da die Cordova-Dokumentation für die Plugins nicht sehr detailliert ist.

Wie verknüpfe ich alles miteinander? Hat jemand eine gute umfangreiche Dokumentation für Neulinge?

Antwort

0

Fügen Sie googleplayservice in Ihrem Android-Gerät hinzu. und fügen Sie diesen Code in Ihrer Aktivitätsklasse hinzu.

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(); 
     } 
     } 
Verwandte Themen