Skip to content

Instantly share code, notes, and snippets.

@kakha13
Last active August 28, 2021 17:46
Show Gist options
  • Save kakha13/f04b3dd6c95539795db2700e915f3060 to your computer and use it in GitHub Desktop.
Save kakha13/f04b3dd6c95539795db2700e915f3060 to your computer and use it in GitHub Desktop.
Nativescript ADMOB Banner with Placeholder

XML:

<Placeholder @creatingView="creatingView" id="bannerView" />

Method:

creatingView(args) { if (global.isIOS) { let bannerView;
    bannerView = GADBannerView.alloc().initWithAdSize(
        kGADAdSizeSmartBannerPortrait
    );
    args.view = bannerView;
} else {
    let bannerView;
    
    bannerView = new com.google.android.gms.ads.AdView(
        args.object._context
    );
    bannerView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
    args.view = bannerView;
}}

On page load function :

var page = args.object; var placeholder = page.getViewById("bannerView");
if (global.isIOS) {
	if (!this.bannerView) {
		this.bannerView = placeholder.ios;
		this.bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716";
		this.bannerView.rootViewController = page.ios;
		var request = GADRequest.request();
		request.testDevices = [kGADSimulatorID];
		this.bannerView.loadRequest(request);
	}
} else {
	if (!this.bannerView) {
		const View = android.view.View;
		this.bannerView = placeholder.android;

		this.bannerView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
		const adLoaded = () => {
			console.log("add Loaded");
			//  this.bannerView.setBackgroundColor(0x000000)
		};

		var MyAdListener = com.google.android.gms.ads.AdListener.extend({
			onAdLeftApplication: function () {
				console.log("Leaving the app, bye bye!");
			},
			onAdLoaded: () => adLoaded(),
			onAdOpened: function () {
				console.log("onAdOpened");
			},
		});

		var listener = new MyAdListener();
		this.bannerView.setAdListener(listener);
		var adRequest = new com.google.android.gms.ads.AdRequest.Builder();
		adRequest.addTestDevice(
			com.google.android.gms.ads.AdRequest.DEVICE_ID_EMULATOR
		);
		var requestBuild = adRequest.build();
		this.bannerView.loadAd(requestBuild);
	}
}
@suchorski
Copy link

Very nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment