| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { advertising, AutoAdComponent } from '@kit.AdsKit';
- import { BannerAd } from '../ads/BannerAd';
- import { hilog } from '@kit.PerformanceAnalysisKit';
- import { AdStatus } from '../constants';
- @Component
- export struct ShowBannerAd {
- private bannerAd = new BannerAd()
- @State visibilityState: Visibility = Visibility.Hidden;
- build() {
- Column() {
- this.buildBannerView()
- }
- .borderRadius(4)
- // .backgroundColor($r('app.color.main_green'))
- .height(54)
- .width('100%')
- .clip(true)
- }
- @Builder
- buildBannerView() {
- Column() {
- AutoAdComponent({
- adParam: this.bannerAd.adParam,
- adOptions: this.bannerAd.adOptions,
- displayOptions: this.bannerAd.adDisplayOptions,
- interactionListener: {
- onStatusChanged: (status: string, ad: advertising.Advertisement, data: string) => {
- hilog.info(0x0000, 'testTag', '%{public}s', `status is ${status}`);
- switch (status) {
- case AdStatus.AD_OPEN:
- hilog.info(0x0000, 'testTag', '%{public}s', 'Status is onAdOpen');
- break;
- case AdStatus.AD_CLICKED:
- hilog.info(0x0000, 'testTag', '%{public}s', 'Status is onAdClick');
- break;
- case AdStatus.AD_CLOSED:
- hilog.info(0x0000, 'testTag', '%{public}s', 'Status is onAdClose');
- this.visibilityState = Visibility.None;
- break;
- case AdStatus.AD_LOAD:
- hilog.info(0x0000, 'testTag', '%{public}s', 'Status is onAdLoad');
- this.visibilityState = Visibility.Visible;
- break;
- case AdStatus.AD_FAIL:
- hilog.error(0x0000, 'testTag', '%{public}s', 'Status is onAdFail');
- this.visibilityState = Visibility.None;
- break;
- }
- }
- }
- })
- }
- .width('100%')
- .aspectRatio(this.bannerAd.ratio)
- .visibility(this.visibilityState)
- }
- }
|