我正在使用Ionic4制作的Android应用程序上使用Admob。该应用程序在Play商店中的运行良好,每天大约有50次安装。我使用了Ionic原生软件包Admob将广告添加到了我的应用中。这是用来调用我的广告的代码:
import { Injectable } from '@angular/core';
import { Admob, AdmobOptions } from '@ionic-native/admob/ngx';
@Injectable({
providedIn: 'root'
})
export class AdmobService {
constructor(private admob: Admob) {
// Admob options config
const admobOptions: AdmobOptions = {
publisherId: 'xxxxxxxxxxxxxxxx',
interstitialAdId: 'xxxxxxxxxxxx',
isTesting: false,
autoShowBanner: false,
autoShowInterstitial: false,
autoShowRewarded: false,
};
// Set admob options
this.admob.setOptions(admobOptions)
.then(() => console.log('Admob options have been successfully set'))
.catch(err => console.error('Error setting admob options:', err));
}
loadBannerAd(){
this.admob.createBannerView()
.then(() => console.log('Banner ad loaded'))
.catch(err => console.error('Error loading banner ad:', err));
}
loadInterstitialAd(){
this.admob.requestInterstitialAd()
.then(() => console.log('Interstitial ad loaded'))
.catch(err => console.error('Error loading interstitial ad:', err));
}
showInterstitialAd() {
this.admob.onAdLoaded().subscribe((ad) => {
if (ad.adType === this.admob.AD_TYPE.INTERSTITIAL) {
this.admob.showInterstitialAd()
.then(() => console.log('Interstitial ad shown'))
.catch(err => console.error('Error showing interstitial ad:', err));
}
});
}
showBannerAd() {
this.admob.onAdLoaded().subscribe((ad) => {
if (ad.adType === this.admob.AD_TYPE.BANNER) {
this.admob.showBannerAd()
.then(() => console.log('Banner ad shown'))
.catch(err => console.error('Error showing banner ad:', err));
}
});
}
}
然后同时使用loadBannerAd()
和loadInterstitialAd()
来准备两种类型的广告,如下所示:
initializeApp() {
this.platform.ready().then(() => {
this.ads.loadBannerAd();
this.ads.loadInterstitialAd();
......
然后在我的this.ads.showBannerAd();
页面home.ts
部分中使用constructor
,以确保在应用开始时加载了禁止广告。
最后一步是将timer(5000).subscribe(() => this.ads.showInterstitialAd());
添加到initializeApp() {
的同一部分,以便在加载两个广告5秒后显示InterstitialAd。
横幅广告一直有效,现在发生了什么,InterstitialAd并未在许多不同朋友的设备上展示。
我的Admob仪表板充满了零!!
注意:我在我的应用中使用了真实的publisherId
和interstitialAdId
,只是在问题中将其更改为xxxxxxx