@ohos.advertising.AdsServiceExtensionAbility (广告扩展服务)(系统接口)

本模块为设备厂商提供广告扩展能力,设备厂商可自主实现单广告位请求和多广告位请求的业务逻辑。

说明: 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 本模块接口为系统接口。

导入模块

import AdsServiceExtensionAbility from '@ohos.advertising.AdsServiceExtensionAbility';

AdsServiceExtensionAbility.onLoadAd

onLoadAd(adParam: advertising.AdRequestParams, adOptions: advertising.AdOptions, respCallback: RespCallback);

单广告位请求业务实现方法,设备厂商需在该方法中实现广告请求业务逻辑并将结果回调给媒体。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Advertising.Ads

起始版本: 11

参数:

参数名 类型 必填 说明
adParam advertising.AdRequestParams 广告请求参数。
adOptions advertising.AdOptions 广告配置。
respCallback RespCallback 广告请求回调。

示例:

import advertising from '@ohos.advertising';
import AdsServiceExtensionAbility from '@ohos.advertising.AdsServiceExtensionAbility';
import { RespCallback } from '@ohos.advertising.AdsServiceExtensionAbility';

export default class AdsExtensionAbility extends AdsServiceExtensionAbility {
  onLoadAd(adParam: advertising.AdRequestParams, adOptions: advertising.AdOptions, respCallback: RespCallback) {
    const adType: number | undefined = adParam.adType;
    const ads: Array<advertising.Advertisement> = [];
    const rewardVerifyConfig: Map<string, string> = new Map();
    ads.push({adType: adType as number, uniqueId: '111111', rewardVerifyConfig: rewardVerifyConfig, rewarded: false, shown: false,  clicked: false});
    ads.push({adType: adType as number, uniqueId: '222222', rewardVerifyConfig: rewardVerifyConfig, rewarded: false, shown: false,  clicked: false});
    const slot: string = 'test';
    const resMap: Map<string, Array<advertising.Advertisement>> = new Map();
    resMap.set(slot, ads);
    respCallback(resMap);
  }
}

AdsServiceExtensionAbility.onLoadAdWithMultiSlots

onLoadAdWithMultiSlots(adParams: advertising.AdRequestParams[], adOptions: advertising.AdOptions, respCallback: RespCallback);

多广告位请求业务实现方法,设备厂商需在该方法中实现广告请求业务逻辑并将结果回调给媒体。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Advertising.Ads

起始版本: 11

参数:

参数名 类型 必填 说明
adParams advertising.AdRequestParams[] 广告请求参数。
adOptions advertising.AdOptions 广告配置。
respCallback RespCallback 广告请求回调。

示例:

import advertising from '@ohos.advertising';
import AdsServiceExtensionAbility from '@ohos.advertising.AdsServiceExtensionAbility';
import { RespCallback } from '@ohos.advertising.AdsServiceExtensionAbility';

export default class AdsExtensionAbility extends AdsServiceExtensionAbility {
  onLoadAdWithMultiSlots(adParams: advertising.AdRequestParams[], adOptions: advertising.AdOptions, respCallback: RespCallback) {
    const adType1: number = adParams[0].adType as number; 
    const ads1: Array<advertising.Advertisement> = [];
    const rewardVerifyConfig: Map<string, string> = new Map();
    ads1.push({adType: adType1, uniqueId: '111111', rewardVerifyConfig: rewardVerifyConfig, rewarded: false, shown: false,  clicked: false});
    ads1.push({adType: adType1, uniqueId: '222222', rewardVerifyConfig: rewardVerifyConfig, rewarded: false, shown: false,  clicked: false});
    const slot1: string = 'test1';
    const adType2: number = adParams[1].adType as number; 
    const ads2: Array<advertising.Advertisement> = [];
    ads2.push({adType: adType2, uniqueId: '333333', rewardVerifyConfig: rewardVerifyConfig, rewarded: false, shown: false,  clicked: false});
    ads2.push({adType: adType2, uniqueId: '444444', rewardVerifyConfig: rewardVerifyConfig, rewarded: false, shown: false,  clicked: false});
    const slot2: string = 'test2';
    const resMap: Map<string, Array<advertising.Advertisement>> = new Map();
    resMap.set(slot1, ads1);
    resMap.set(slot2, ads2);
    respCallback(resMap);
  }
}

AdsServiceExtensionAbility.RespCallback

(respData: Map<string, Array<advertising.Advertisement>>): void;

广告请求回调。

系统能力: SystemCapability.Advertising.Ads

起始版本: 11

参数:

参数名 类型 必填 说明
respData Map<string, Array<advertising.Advertisement>> 广告请求回调数据。

示例:

import advertising from '@ohos.advertising';
import { RespCallback } from '@ohos.advertising.AdsServiceExtensionAbility';

function respDemo(respCallback: RespCallback) {
  const ads: Array<advertising.Advertisement> = [];
  const rewardVerifyConfig: Map<string, string> = new Map();
  ads.push({adType: 7, uniqueId: '111111', rewardVerifyConfig: rewardVerifyConfig, rewarded: false, shown: false,  clicked: false})
  const slot: string = "test";
  const resMap: Map<string, Array<advertising.Advertisement>> = new Map();
  resMap.set(slot, ads);
  respCallback(resMap);
}