161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file Provides the capability to load and display advertisements 1861847f8eSopenharmony_ci * @kit AdsKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ciimport type web_webview from './@ohos.web.webview'; 2161847f8eSopenharmony_ciimport type common from './@ohos.app.ability.common'; 2261847f8eSopenharmony_ciimport type { Advertisement as _Advertisement } from './advertising/advertisement'; 2361847f8eSopenharmony_ci 2461847f8eSopenharmony_ci/** 2561847f8eSopenharmony_ci * Provides the capability to load and display advertisements. 2661847f8eSopenharmony_ci * @namespace advertising 2761847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 2861847f8eSopenharmony_ci * @since 11 2961847f8eSopenharmony_ci */ 3061847f8eSopenharmony_ci/** 3161847f8eSopenharmony_ci * Provides the capability to load and display advertisements. 3261847f8eSopenharmony_ci * @namespace advertising 3361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 3461847f8eSopenharmony_ci * @atomicservice 3561847f8eSopenharmony_ci * @since 12 3661847f8eSopenharmony_ci */ 3761847f8eSopenharmony_cideclare namespace advertising { 3861847f8eSopenharmony_ci /** 3961847f8eSopenharmony_ci * Indicates the advertisement data model. 4061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 4161847f8eSopenharmony_ci * @since 11 4261847f8eSopenharmony_ci */ 4361847f8eSopenharmony_ci /** 4461847f8eSopenharmony_ci * Indicates the advertisement data model. 4561847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 4661847f8eSopenharmony_ci * @atomicservice 4761847f8eSopenharmony_ci * @since 12 4861847f8eSopenharmony_ci */ 4961847f8eSopenharmony_ci export type Advertisement = _Advertisement; 5061847f8eSopenharmony_ci 5161847f8eSopenharmony_ci /** 5261847f8eSopenharmony_ci * The parameters in the request for loading one or more advertisements. 5361847f8eSopenharmony_ci * @typedef AdRequestParams 5461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 5561847f8eSopenharmony_ci * @since 11 5661847f8eSopenharmony_ci */ 5761847f8eSopenharmony_ci /** 5861847f8eSopenharmony_ci * The parameters in the request for loading one or more advertisements. 5961847f8eSopenharmony_ci * @typedef AdRequestParams 6061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 6161847f8eSopenharmony_ci * @atomicservice 6261847f8eSopenharmony_ci * @since 12 6361847f8eSopenharmony_ci */ 6461847f8eSopenharmony_ci export interface AdRequestParams { 6561847f8eSopenharmony_ci /** 6661847f8eSopenharmony_ci * The advertisement slot id. 6761847f8eSopenharmony_ci * @type { string } 6861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 6961847f8eSopenharmony_ci * @since 11 7061847f8eSopenharmony_ci */ 7161847f8eSopenharmony_ci /** 7261847f8eSopenharmony_ci * The advertisement slot id. 7361847f8eSopenharmony_ci * @type { string } 7461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 7561847f8eSopenharmony_ci * @atomicservice 7661847f8eSopenharmony_ci * @since 12 7761847f8eSopenharmony_ci */ 7861847f8eSopenharmony_ci adId: string; 7961847f8eSopenharmony_ci 8061847f8eSopenharmony_ci /** 8161847f8eSopenharmony_ci * The advertisement type of request. 8261847f8eSopenharmony_ci * @type { ?number } 8361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 8461847f8eSopenharmony_ci * @since 11 8561847f8eSopenharmony_ci */ 8661847f8eSopenharmony_ci /** 8761847f8eSopenharmony_ci * The advertisement type of request. 8861847f8eSopenharmony_ci * @type { ?number } 8961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 9061847f8eSopenharmony_ci * @atomicservice 9161847f8eSopenharmony_ci * @since 12 9261847f8eSopenharmony_ci */ 9361847f8eSopenharmony_ci adType?: number; 9461847f8eSopenharmony_ci 9561847f8eSopenharmony_ci /** 9661847f8eSopenharmony_ci * The advertisement quantity of request. 9761847f8eSopenharmony_ci * @type { ?number } 9861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 9961847f8eSopenharmony_ci * @since 11 10061847f8eSopenharmony_ci */ 10161847f8eSopenharmony_ci /** 10261847f8eSopenharmony_ci * The advertisement quantity of request. 10361847f8eSopenharmony_ci * @type { ?number } 10461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 10561847f8eSopenharmony_ci * @atomicservice 10661847f8eSopenharmony_ci * @since 12 10761847f8eSopenharmony_ci */ 10861847f8eSopenharmony_ci adCount?: number; 10961847f8eSopenharmony_ci 11061847f8eSopenharmony_ci /** 11161847f8eSopenharmony_ci * The advertisement view size width that expects. 11261847f8eSopenharmony_ci * @type { ?number } 11361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 11461847f8eSopenharmony_ci * @since 11 11561847f8eSopenharmony_ci */ 11661847f8eSopenharmony_ci /** 11761847f8eSopenharmony_ci * The advertisement view size width that expects. 11861847f8eSopenharmony_ci * @type { ?number } 11961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 12061847f8eSopenharmony_ci * @atomicservice 12161847f8eSopenharmony_ci * @since 12 12261847f8eSopenharmony_ci */ 12361847f8eSopenharmony_ci adWidth?: number; 12461847f8eSopenharmony_ci 12561847f8eSopenharmony_ci /** 12661847f8eSopenharmony_ci * The advertisement view size height that expects. 12761847f8eSopenharmony_ci * @type { ?number } 12861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 12961847f8eSopenharmony_ci * @since 11 13061847f8eSopenharmony_ci */ 13161847f8eSopenharmony_ci /** 13261847f8eSopenharmony_ci * The advertisement view size height that expects. 13361847f8eSopenharmony_ci * @type { ?number } 13461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 13561847f8eSopenharmony_ci * @atomicservice 13661847f8eSopenharmony_ci * @since 12 13761847f8eSopenharmony_ci */ 13861847f8eSopenharmony_ci adHeight?: number; 13961847f8eSopenharmony_ci 14061847f8eSopenharmony_ci /** 14161847f8eSopenharmony_ci * The advertisement search keyword. 14261847f8eSopenharmony_ci * @type { ?string } 14361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 14461847f8eSopenharmony_ci * @since 11 14561847f8eSopenharmony_ci */ 14661847f8eSopenharmony_ci /** 14761847f8eSopenharmony_ci * The advertisement search keyword. 14861847f8eSopenharmony_ci * @type { ?string } 14961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 15061847f8eSopenharmony_ci * @atomicservice 15161847f8eSopenharmony_ci * @since 12 15261847f8eSopenharmony_ci */ 15361847f8eSopenharmony_ci adSearchKeyword?: string; 15461847f8eSopenharmony_ci 15561847f8eSopenharmony_ci /** 15661847f8eSopenharmony_ci * The extended attributes for request parameters. 15761847f8eSopenharmony_ci * @type { number | boolean | string | undefined } 15861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 15961847f8eSopenharmony_ci * @since 11 16061847f8eSopenharmony_ci */ 16161847f8eSopenharmony_ci /** 16261847f8eSopenharmony_ci * The extended attributes for request parameters. 16361847f8eSopenharmony_ci * @type { number | boolean | string | undefined } 16461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 16561847f8eSopenharmony_ci * @atomicservice 16661847f8eSopenharmony_ci * @since 12 16761847f8eSopenharmony_ci */ 16861847f8eSopenharmony_ci [key: string]: number | boolean | string | undefined; 16961847f8eSopenharmony_ci } 17061847f8eSopenharmony_ci 17161847f8eSopenharmony_ci /** 17261847f8eSopenharmony_ci * The ad options of loading ads. 17361847f8eSopenharmony_ci * @typedef AdOptions 17461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 17561847f8eSopenharmony_ci * @since 11 17661847f8eSopenharmony_ci */ 17761847f8eSopenharmony_ci /** 17861847f8eSopenharmony_ci * The ad options of loading ads. 17961847f8eSopenharmony_ci * @typedef AdOptions 18061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 18161847f8eSopenharmony_ci * @atomicservice 18261847f8eSopenharmony_ci * @since 12 18361847f8eSopenharmony_ci */ 18461847f8eSopenharmony_ci export interface AdOptions { 18561847f8eSopenharmony_ci /** 18661847f8eSopenharmony_ci * The tags for children's content. 18761847f8eSopenharmony_ci * @type { ?number } 18861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 18961847f8eSopenharmony_ci * @since 11 19061847f8eSopenharmony_ci */ 19161847f8eSopenharmony_ci /** 19261847f8eSopenharmony_ci * The tags for children's content. 19361847f8eSopenharmony_ci * @type { ?number } 19461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 19561847f8eSopenharmony_ci * @atomicservice 19661847f8eSopenharmony_ci * @since 12 19761847f8eSopenharmony_ci */ 19861847f8eSopenharmony_ci tagForChildProtection?: number; 19961847f8eSopenharmony_ci 20061847f8eSopenharmony_ci /** 20161847f8eSopenharmony_ci * Advertisement content classification setting. 20261847f8eSopenharmony_ci * @type { ?string } 20361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 20461847f8eSopenharmony_ci * @since 11 20561847f8eSopenharmony_ci */ 20661847f8eSopenharmony_ci /** 20761847f8eSopenharmony_ci * Advertisement content classification setting. 20861847f8eSopenharmony_ci * @type { ?string } 20961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 21061847f8eSopenharmony_ci * @atomicservice 21161847f8eSopenharmony_ci * @since 12 21261847f8eSopenharmony_ci */ 21361847f8eSopenharmony_ci adContentClassification?: string; 21461847f8eSopenharmony_ci 21561847f8eSopenharmony_ci /** 21661847f8eSopenharmony_ci * Non-personalized ad settings. 21761847f8eSopenharmony_ci * @type { ?number } 21861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 21961847f8eSopenharmony_ci * @since 11 22061847f8eSopenharmony_ci */ 22161847f8eSopenharmony_ci /** 22261847f8eSopenharmony_ci * Non-personalized ad settings. 22361847f8eSopenharmony_ci * @type { ?number } 22461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 22561847f8eSopenharmony_ci * @atomicservice 22661847f8eSopenharmony_ci * @since 12 22761847f8eSopenharmony_ci */ 22861847f8eSopenharmony_ci nonPersonalizedAd?: number; 22961847f8eSopenharmony_ci 23061847f8eSopenharmony_ci /** 23161847f8eSopenharmony_ci * The extended attributes for ad options. 23261847f8eSopenharmony_ci * @type { number | boolean | string | undefined } 23361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 23461847f8eSopenharmony_ci * @since 11 23561847f8eSopenharmony_ci */ 23661847f8eSopenharmony_ci /** 23761847f8eSopenharmony_ci * The extended attributes for ad options. 23861847f8eSopenharmony_ci * @type { number | boolean | string | undefined } 23961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 24061847f8eSopenharmony_ci * @atomicservice 24161847f8eSopenharmony_ci * @since 12 24261847f8eSopenharmony_ci */ 24361847f8eSopenharmony_ci [key: string]: number | boolean | string | undefined; 24461847f8eSopenharmony_ci } 24561847f8eSopenharmony_ci 24661847f8eSopenharmony_ci /** 24761847f8eSopenharmony_ci * The interaction options info for displaying ad. 24861847f8eSopenharmony_ci * @typedef AdDisplayOptions 24961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 25061847f8eSopenharmony_ci * @since 11 25161847f8eSopenharmony_ci */ 25261847f8eSopenharmony_ci /** 25361847f8eSopenharmony_ci * The interaction options info for displaying ad. 25461847f8eSopenharmony_ci * @typedef AdDisplayOptions 25561847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 25661847f8eSopenharmony_ci * @atomicservice 25761847f8eSopenharmony_ci * @since 12 25861847f8eSopenharmony_ci */ 25961847f8eSopenharmony_ci export interface AdDisplayOptions { 26061847f8eSopenharmony_ci /** 26161847f8eSopenharmony_ci * Ad custom data. 26261847f8eSopenharmony_ci * @type { ?string } 26361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 26461847f8eSopenharmony_ci * @since 11 26561847f8eSopenharmony_ci */ 26661847f8eSopenharmony_ci /** 26761847f8eSopenharmony_ci * Ad custom data. 26861847f8eSopenharmony_ci * @type { ?string } 26961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 27061847f8eSopenharmony_ci * @atomicservice 27161847f8eSopenharmony_ci * @since 12 27261847f8eSopenharmony_ci */ 27361847f8eSopenharmony_ci customData?: string; 27461847f8eSopenharmony_ci 27561847f8eSopenharmony_ci /** 27661847f8eSopenharmony_ci * User id. 27761847f8eSopenharmony_ci * @type { ?string } 27861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 27961847f8eSopenharmony_ci * @since 11 28061847f8eSopenharmony_ci */ 28161847f8eSopenharmony_ci /** 28261847f8eSopenharmony_ci * User id. 28361847f8eSopenharmony_ci * @type { ?string } 28461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 28561847f8eSopenharmony_ci * @atomicservice 28661847f8eSopenharmony_ci * @since 12 28761847f8eSopenharmony_ci */ 28861847f8eSopenharmony_ci userId?: string; 28961847f8eSopenharmony_ci 29061847f8eSopenharmony_ci /** 29161847f8eSopenharmony_ci * Indicates whether a dialog box is displayed to notify users of video playback 29261847f8eSopenharmony_ci * and application download in non-Wi-Fi scenarios. 29361847f8eSopenharmony_ci * @type { ?boolean } 29461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 29561847f8eSopenharmony_ci * @since 11 29661847f8eSopenharmony_ci */ 29761847f8eSopenharmony_ci /** 29861847f8eSopenharmony_ci * Indicates whether a dialog box is displayed to notify users of video playback 29961847f8eSopenharmony_ci * and application download in non-Wi-Fi scenarios. 30061847f8eSopenharmony_ci * @type { ?boolean } 30161847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 30261847f8eSopenharmony_ci * @atomicservice 30361847f8eSopenharmony_ci * @since 12 30461847f8eSopenharmony_ci */ 30561847f8eSopenharmony_ci useMobileDataReminder?: boolean; 30661847f8eSopenharmony_ci 30761847f8eSopenharmony_ci /** 30861847f8eSopenharmony_ci * Indicates whether to mute the playback of the ad video. 30961847f8eSopenharmony_ci * @type { ?boolean } 31061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 31161847f8eSopenharmony_ci * @since 11 31261847f8eSopenharmony_ci */ 31361847f8eSopenharmony_ci /** 31461847f8eSopenharmony_ci * Indicates whether to mute the playback of the ad video. 31561847f8eSopenharmony_ci * @type { ?boolean } 31661847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 31761847f8eSopenharmony_ci * @atomicservice 31861847f8eSopenharmony_ci * @since 12 31961847f8eSopenharmony_ci */ 32061847f8eSopenharmony_ci mute?: boolean; 32161847f8eSopenharmony_ci 32261847f8eSopenharmony_ci /** 32361847f8eSopenharmony_ci * The type of the scenario where the audio focus is obtained during video playback. 32461847f8eSopenharmony_ci * @type { ?number } 32561847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 32661847f8eSopenharmony_ci * @since 11 32761847f8eSopenharmony_ci */ 32861847f8eSopenharmony_ci /** 32961847f8eSopenharmony_ci * The type of the scenario where the audio focus is obtained during video playback. 33061847f8eSopenharmony_ci * @type { ?number } 33161847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 33261847f8eSopenharmony_ci * @atomicservice 33361847f8eSopenharmony_ci * @since 12 33461847f8eSopenharmony_ci */ 33561847f8eSopenharmony_ci audioFocusType?: number; 33661847f8eSopenharmony_ci 33761847f8eSopenharmony_ci /** 33861847f8eSopenharmony_ci * The extended attributes for interaction options. 33961847f8eSopenharmony_ci * @type { number | boolean | string | undefined } 34061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 34161847f8eSopenharmony_ci * @since 11 34261847f8eSopenharmony_ci */ 34361847f8eSopenharmony_ci /** 34461847f8eSopenharmony_ci * The extended attributes for interaction options. 34561847f8eSopenharmony_ci * @type { number | boolean | string | undefined } 34661847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 34761847f8eSopenharmony_ci * @atomicservice 34861847f8eSopenharmony_ci * @since 12 34961847f8eSopenharmony_ci */ 35061847f8eSopenharmony_ci [key: string]: number | boolean | string | undefined; 35161847f8eSopenharmony_ci } 35261847f8eSopenharmony_ci 35361847f8eSopenharmony_ci /** 35461847f8eSopenharmony_ci * The listener of ad interaction. 35561847f8eSopenharmony_ci * @interface AdInteractionListener 35661847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 35761847f8eSopenharmony_ci * @since 11 35861847f8eSopenharmony_ci */ 35961847f8eSopenharmony_ci /** 36061847f8eSopenharmony_ci * The listener of ad interaction. 36161847f8eSopenharmony_ci * @interface AdInteractionListener 36261847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 36361847f8eSopenharmony_ci * @atomicservice 36461847f8eSopenharmony_ci * @since 12 36561847f8eSopenharmony_ci */ 36661847f8eSopenharmony_ci export interface AdInteractionListener { 36761847f8eSopenharmony_ci /** 36861847f8eSopenharmony_ci * Ads status callback. 36961847f8eSopenharmony_ci * @param { string } status - The current ad status. The status contains onAdOpen,onAdClose,onAdReward,onAdClick,onVideoPlayBegin and onVideoPlayEnd. 37061847f8eSopenharmony_ci * @param { Advertisement } ad - The ad which status is changed. 37161847f8eSopenharmony_ci * @param { string } data - The data of current ad status. 37261847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 37361847f8eSopenharmony_ci * @since 11 37461847f8eSopenharmony_ci */ 37561847f8eSopenharmony_ci /** 37661847f8eSopenharmony_ci * Ads status callback. 37761847f8eSopenharmony_ci * @param { string } status - The current ad status. The status contains onAdOpen,onAdClose,onAdReward,onAdClick,onVideoPlayBegin and onVideoPlayEnd. 37861847f8eSopenharmony_ci * @param { Advertisement } ad - The ad which status is changed. 37961847f8eSopenharmony_ci * @param { string } data - The data of current ad status. 38061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 38161847f8eSopenharmony_ci * @atomicservice 38261847f8eSopenharmony_ci * @since 12 38361847f8eSopenharmony_ci */ 38461847f8eSopenharmony_ci onStatusChanged(status: string, ad: Advertisement, data: string); 38561847f8eSopenharmony_ci } 38661847f8eSopenharmony_ci 38761847f8eSopenharmony_ci /** 38861847f8eSopenharmony_ci * The listener of loading ad. 38961847f8eSopenharmony_ci * @interface AdLoadListener 39061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 39161847f8eSopenharmony_ci * @since 11 39261847f8eSopenharmony_ci */ 39361847f8eSopenharmony_ci /** 39461847f8eSopenharmony_ci * The listener of loading ad. 39561847f8eSopenharmony_ci * @interface AdLoadListener 39661847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 39761847f8eSopenharmony_ci * @atomicservice 39861847f8eSopenharmony_ci * @since 12 39961847f8eSopenharmony_ci */ 40061847f8eSopenharmony_ci export interface AdLoadListener { 40161847f8eSopenharmony_ci /** 40261847f8eSopenharmony_ci * Called by system when the ad load has been failed. 40361847f8eSopenharmony_ci * @param { number } errorCode - code of ad loading failure. 40461847f8eSopenharmony_ci * @param { string } errorMsg - error message. 40561847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 40661847f8eSopenharmony_ci * @since 11 40761847f8eSopenharmony_ci */ 40861847f8eSopenharmony_ci /** 40961847f8eSopenharmony_ci * Called by system when the ad load has been failed. 41061847f8eSopenharmony_ci * @param { number } errorCode - code of ad loading failure. 41161847f8eSopenharmony_ci * @param { string } errorMsg - error message. 41261847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 41361847f8eSopenharmony_ci * @atomicservice 41461847f8eSopenharmony_ci * @since 12 41561847f8eSopenharmony_ci */ 41661847f8eSopenharmony_ci onAdLoadFailure(errorCode: number, errorMsg: string): void; 41761847f8eSopenharmony_ci 41861847f8eSopenharmony_ci /** 41961847f8eSopenharmony_ci * Called by system when the ad load has been succeeded. 42061847f8eSopenharmony_ci * @param { Array<Advertisement> } ads - advertisements are loaded successfully. 42161847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 42261847f8eSopenharmony_ci * @since 11 42361847f8eSopenharmony_ci */ 42461847f8eSopenharmony_ci /** 42561847f8eSopenharmony_ci * Called by system when the ad load has been succeeded. 42661847f8eSopenharmony_ci * @param { Array<Advertisement> } ads - advertisements are loaded successfully. 42761847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 42861847f8eSopenharmony_ci * @atomicservice 42961847f8eSopenharmony_ci * @since 12 43061847f8eSopenharmony_ci */ 43161847f8eSopenharmony_ci onAdLoadSuccess(ads: Array<Advertisement>): void; 43261847f8eSopenharmony_ci } 43361847f8eSopenharmony_ci 43461847f8eSopenharmony_ci /** 43561847f8eSopenharmony_ci * The listener of loading multi-slots ad. 43661847f8eSopenharmony_ci * @interface MultiSlotsAdLoadListener 43761847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 43861847f8eSopenharmony_ci * @since 11 43961847f8eSopenharmony_ci */ 44061847f8eSopenharmony_ci /** 44161847f8eSopenharmony_ci * The listener of loading multi-slots ad. 44261847f8eSopenharmony_ci * @interface MultiSlotsAdLoadListener 44361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 44461847f8eSopenharmony_ci * @atomicservice 44561847f8eSopenharmony_ci * @since 12 44661847f8eSopenharmony_ci */ 44761847f8eSopenharmony_ci export interface MultiSlotsAdLoadListener { 44861847f8eSopenharmony_ci /** 44961847f8eSopenharmony_ci * Called by system when the ad load has been failed. 45061847f8eSopenharmony_ci * @param { number } errorCode - code of ad loading failure. 45161847f8eSopenharmony_ci * @param { string } errorMsg - error message. 45261847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 45361847f8eSopenharmony_ci * @since 11 45461847f8eSopenharmony_ci */ 45561847f8eSopenharmony_ci /** 45661847f8eSopenharmony_ci * Called by system when the ad load has been failed. 45761847f8eSopenharmony_ci * @param { number } errorCode - code of ad loading failure. 45861847f8eSopenharmony_ci * @param { string } errorMsg - error message. 45961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 46061847f8eSopenharmony_ci * @atomicservice 46161847f8eSopenharmony_ci * @since 12 46261847f8eSopenharmony_ci */ 46361847f8eSopenharmony_ci onAdLoadFailure(errorCode: number, errorMsg: string): void; 46461847f8eSopenharmony_ci 46561847f8eSopenharmony_ci /** 46661847f8eSopenharmony_ci * Called by system when the ad load has been succeeded. 46761847f8eSopenharmony_ci * @param { Map<string, Array<Advertisement>> } adsMap - advertisements are loaded successfully. 46861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 46961847f8eSopenharmony_ci * @since 11 47061847f8eSopenharmony_ci */ 47161847f8eSopenharmony_ci /** 47261847f8eSopenharmony_ci * Called by system when the ad load has been succeeded. 47361847f8eSopenharmony_ci * @param { Map<string, Array<Advertisement>> } adsMap - advertisements are loaded successfully. 47461847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 47561847f8eSopenharmony_ci * @atomicservice 47661847f8eSopenharmony_ci * @since 12 47761847f8eSopenharmony_ci */ 47861847f8eSopenharmony_ci onAdLoadSuccess(adsMap: Map<string, Array<Advertisement>>): void; 47961847f8eSopenharmony_ci } 48061847f8eSopenharmony_ci 48161847f8eSopenharmony_ci /** 48261847f8eSopenharmony_ci * Show the reward and interstitial ad. 48361847f8eSopenharmony_ci * @param { Advertisement } ad - Indicates the advertisement content information. ad is required. 48461847f8eSopenharmony_ci * @param { AdDisplayOptions } options - Indicates interaction option object use to show the ad. options is required. 48561847f8eSopenharmony_ci * @param { common.UIAbilityContext } context - Indicates the ui ability context of the media application. 48661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 48761847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 48861847f8eSopenharmony_ci * @throws { BusinessError } 21800004 - Failed to display the ad. 48961847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 49061847f8eSopenharmony_ci * @since 11 49161847f8eSopenharmony_ci */ 49261847f8eSopenharmony_ci /** 49361847f8eSopenharmony_ci * Show the reward and interstitial ad. 49461847f8eSopenharmony_ci * @param { Advertisement } ad - Indicates the advertisement content information. ad is required. 49561847f8eSopenharmony_ci * @param { AdDisplayOptions } options - Indicates interaction option object use to show the ad. options is required. 49661847f8eSopenharmony_ci * @param { common.UIAbilityContext } context - Indicates the ui ability context of the media application. 49761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 49861847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 49961847f8eSopenharmony_ci * @throws { BusinessError } 21800004 - Failed to display the ad. 50061847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 50161847f8eSopenharmony_ci * @atomicservice 50261847f8eSopenharmony_ci * @since 12 50361847f8eSopenharmony_ci */ 50461847f8eSopenharmony_ci function showAd(ad: Advertisement, options: AdDisplayOptions, context?: common.UIAbilityContext): void; 50561847f8eSopenharmony_ci 50661847f8eSopenharmony_ci /** 50761847f8eSopenharmony_ci * Provides the functions of loading ads. 50861847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 50961847f8eSopenharmony_ci * @since 11 51061847f8eSopenharmony_ci */ 51161847f8eSopenharmony_ci /** 51261847f8eSopenharmony_ci * Provides the functions of loading ads. 51361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 51461847f8eSopenharmony_ci * @atomicservice 51561847f8eSopenharmony_ci * @since 12 51661847f8eSopenharmony_ci */ 51761847f8eSopenharmony_ci export class AdLoader { 51861847f8eSopenharmony_ci /** 51961847f8eSopenharmony_ci * Constructs a adLoader object, context should be transferred. 52061847f8eSopenharmony_ci * @param { common.Context } context - Indicates the context of the media application. 52161847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 52261847f8eSopenharmony_ci * @since 11 52361847f8eSopenharmony_ci */ 52461847f8eSopenharmony_ci /** 52561847f8eSopenharmony_ci * Constructs a adLoader object, context should be transferred. 52661847f8eSopenharmony_ci * @param { common.Context } context - Indicates the context of the media application. 52761847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 52861847f8eSopenharmony_ci * @atomicservice 52961847f8eSopenharmony_ci * @since 12 53061847f8eSopenharmony_ci */ 53161847f8eSopenharmony_ci constructor(context: common.Context); 53261847f8eSopenharmony_ci 53361847f8eSopenharmony_ci /** 53461847f8eSopenharmony_ci * Load ad. 53561847f8eSopenharmony_ci * @param { AdRequestParams } adParam - Indicates the parameters in the request. adParam.adId is required. 53661847f8eSopenharmony_ci * <br>adParam.adType must be number and valid. adParam.adWidth and adParam.adHeight must be number and greater than zero 53761847f8eSopenharmony_ci * @param { AdOptions } adOptions - Indicates the ad options. 53861847f8eSopenharmony_ci * @param { AdLoadListener } listener - Indicates the listener to be registered that use to load ad. 53961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 54061847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 3.Parameter verification failed 54161847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 54261847f8eSopenharmony_ci * @throws { BusinessError } 21800003 - Failed to load the ad request. 54361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 54461847f8eSopenharmony_ci * @since 11 54561847f8eSopenharmony_ci */ 54661847f8eSopenharmony_ci /** 54761847f8eSopenharmony_ci * Load ad. 54861847f8eSopenharmony_ci * @param { AdRequestParams } adParam - Indicates the parameters in the request. adParam.adId is required. 54961847f8eSopenharmony_ci * <br>adParam.adType must be number and valid. adParam.adWidth and adParam.adHeight must be number and greater than zero 55061847f8eSopenharmony_ci * @param { AdOptions } adOptions - Indicates the ad options. 55161847f8eSopenharmony_ci * @param { AdLoadListener } listener - Indicates the listener to be registered that use to load ad. 55261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 55361847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 3.Parameter verification failed 55461847f8eSopenharmony_ci * @throws { BusinessError } 801 - Device not supported. 55561847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 55661847f8eSopenharmony_ci * @throws { BusinessError } 21800003 - Failed to load the ad request. 55761847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 55861847f8eSopenharmony_ci * @atomicservice 55961847f8eSopenharmony_ci * @since 12 56061847f8eSopenharmony_ci */ 56161847f8eSopenharmony_ci loadAd(adParam: AdRequestParams, adOptions: AdOptions, listener: AdLoadListener): void; 56261847f8eSopenharmony_ci 56361847f8eSopenharmony_ci /** 56461847f8eSopenharmony_ci * Load ad with multi-slots. 56561847f8eSopenharmony_ci * @param { AdRequestParams[] } adParams - Indicates the parameters in the request. adParam.adId is required. 56661847f8eSopenharmony_ci * <br>adParam.adType must be number and valid. adParam.adWidth and adParam.adHeight must be number and greater than zero 56761847f8eSopenharmony_ci * @param { AdOptions } adOptions - Indicates the ad options. 56861847f8eSopenharmony_ci * @param { MultiSlotsAdLoadListener } listener - Indicates the listener to be registered that use to load ad. 56961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 57061847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 3.Parameter verification failed 57161847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 57261847f8eSopenharmony_ci * @throws { BusinessError } 21800003 - Failed to load the ad request. 57361847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 57461847f8eSopenharmony_ci * @since 11 57561847f8eSopenharmony_ci */ 57661847f8eSopenharmony_ci /** 57761847f8eSopenharmony_ci * Load ad with multi-slots. 57861847f8eSopenharmony_ci * @param { AdRequestParams[] } adParams - Indicates the parameters in the request. adParam.adId is required. 57961847f8eSopenharmony_ci * <br>adParam.adType must be number and valid. adParam.adWidth,adParam.adHeight must be number and greater than zero 58061847f8eSopenharmony_ci * @param { AdOptions } adOptions - Indicates the ad options. 58161847f8eSopenharmony_ci * @param { MultiSlotsAdLoadListener } listener - Indicates the listener to be registered that use to load ad. 58261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 58361847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 3.Parameter verification failed 58461847f8eSopenharmony_ci * @throws { BusinessError } 801 - Device not supported. 58561847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 58661847f8eSopenharmony_ci * @throws { BusinessError } 21800003 - Failed to load the ad request. 58761847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 58861847f8eSopenharmony_ci * @atomicservice 58961847f8eSopenharmony_ci * @since 12 59061847f8eSopenharmony_ci */ 59161847f8eSopenharmony_ci loadAdWithMultiSlots(adParams: AdRequestParams[], adOptions: AdOptions, listener: MultiSlotsAdLoadListener): void; 59261847f8eSopenharmony_ci } 59361847f8eSopenharmony_ci 59461847f8eSopenharmony_ci /** 59561847f8eSopenharmony_ci * Get message body for ad requesting. 59661847f8eSopenharmony_ci * @param { AdRequestParams[] } adParams - Indicates the parameters in the request. 59761847f8eSopenharmony_ci * @param { AdOptions } adOptions - Indicates the ad options. 59861847f8eSopenharmony_ci * @returns { Promise<string> } The promise of ad request message body. 59961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 60061847f8eSopenharmony_ci * @throws { BusinessError } 801 - Device not supported. 60161847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 60261847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 60361847f8eSopenharmony_ci * @since 12 60461847f8eSopenharmony_ci */ 60561847f8eSopenharmony_ci function getAdRequestBody(adParams: AdRequestParams[], adOptions: AdOptions): Promise<string>; 60661847f8eSopenharmony_ci 60761847f8eSopenharmony_ci /** 60861847f8eSopenharmony_ci * Pass ad response message and parse into advertisements. 60961847f8eSopenharmony_ci * @param { string } adResponse - Indicate the ad response message. 61061847f8eSopenharmony_ci * @param { MultiSlotsAdLoadListener } listener - Indicates the listener to be registered that use to load ad. 61161847f8eSopenharmony_ci * @param { common.UIAbilityContext } context - Indicates the ui ability context of the media application. 61261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter.Possible causes: 1. Mandatory parameters are left unspecified. 61361847f8eSopenharmony_ci * @throws { BusinessError } 801 - Device not supported. 61461847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 61561847f8eSopenharmony_ci * @throws { BusinessError } 21800005 - Failed to parse the ad response. 61661847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 61761847f8eSopenharmony_ci * @since 12 61861847f8eSopenharmony_ci */ 61961847f8eSopenharmony_ci function parseAdResponse(adResponse: string, listener: MultiSlotsAdLoadListener, context: common.UIAbilityContext): void; 62061847f8eSopenharmony_ci 62161847f8eSopenharmony_ci /** 62261847f8eSopenharmony_ci * Register ad javascript proxy interface into webview in order to enable web Ad. 62361847f8eSopenharmony_ci * @param { web_webview.WebviewController } controller - Indicates webview controller to register ad javascript proxy interface. 62461847f8eSopenharmony_ci * @param { common.UIAbilityContext } context - Indicates the ui ability context of the media application. 62561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Invalid input parameter. Possible causes: 1. Mandatory parameters are left unspecified. 62661847f8eSopenharmony_ci * @throws { BusinessError } 21800001 - System internal error. 62761847f8eSopenharmony_ci * @syscap SystemCapability.Advertising.Ads 62861847f8eSopenharmony_ci * @atomicservice 62961847f8eSopenharmony_ci * @since 12 63061847f8eSopenharmony_ci */ 63161847f8eSopenharmony_ci function registerWebAdInterface(controller: web_webview.WebviewController, context: common.UIAbilityContext): void; 63261847f8eSopenharmony_ci} 63361847f8eSopenharmony_ci 63461847f8eSopenharmony_ciexport default advertising;