@google/mobile-ads 模块提供核心 TypeScript 接口、类和顶级函数,用于将 Google 移动广告集成到 React Native 应用中。
概览
-
SDK 生命周期和初始化:使用
initialize和InitializationConfig初始化 SDK,并使用getInitializationStatus和InitializationStatus检查适配器初始化状态。 -
User Messaging Platform (UMP):使用
requestConsentInfoUpdate、loadAndShowConsentFormIfRequired和showPrivacyOptionsForm管理用户同意情况,并使用getConsentStatus和canRequestAds检查同意情况。 -
请求配置:使用
setRequestConfiguration和RequestConfiguration定义全局定位和政策设置,配置AgeRestrictedTreatment、MaxAdContentRating和PublisherPrivacyPersonalizationState等选项。 -
广告格式:使用格式类(例如
AppOpenAd、InterstitialAd、RewardedAd和RewardedInterstitialAd)加载和展示广告。 -
开发者工具:使用
openAdInspector或openDebugMenu实时检查广告投放、适配器状态和 SDK 配置。
| 类型别名 | |
|---|---|
Adapter
|
表示中介适配器的可能初始化状态。
|
Ad
|
广告视图中“广告选项”图标的位置。 |
Ad
|
所请求广告的格式。 |
Ad
|
有关广告检查器失败原因的错误信息。
|
Ad
|
影响广告检查器打开或运行的错误。
|
Ad
|
内嵌自适应横幅广告和大型锚定自适应横幅广告的屏幕方向选项。
|
Ad
|
表示广告的尺寸。 |
Age
|
为广告请求定义了年龄限制处理选项。
|
Consent
|
同意情况值。 |
Debug
|
用于测试地理位置的调试值。 |
Form
|
表示 User Messaging Platform (UMP) 表单操作失败的错误代码。
|
Full
|
|
Load
|
表示广告加载操作失败的错误代码。
|
Max
|
定义应用的广告内容分级上限,对可展示的广告类型进行分类。
|
Native
|
用于标识标准原生广告素材的名称。
|
Native
|
用于标识已加载的原生广告的格式。 |
Native
|
返回的原生广告媒体的宽高比偏好设置。
|
On
|
当广告检查器界面关闭时要调用的回调的接口定义。
|
Precision
|
报告的广告价值的精确度。 |
Privacy
|
隐私设置选项要求状态。 |
Publisher
|
表示发布商隐私保护处理措施个性化状态。
|
Resize
|
用于自定义 NativeAdMediaView 中图片内容缩放模式的选项。
|
Resolved
|
表示广告加载后广告尺寸的最终解析状态。
|
Swipe
|
自定义点击滑动操作的说明。 |
| 变量 | |
|---|---|
Ad
|
预定义的广告尺寸和用于创建自适应尺寸和自定义尺寸的辅助方法。
|
| 函数 | |
|---|---|
can
|
检查当前意见征求状态是否允许您请求广告。
|
get
|
获取用户的当前同意情况。 |
get
|
获取 SDK 初始化状态。 |
get
|
检查您的应用是否需要隐私选项入口点。
|
get
|
获取全局请求配置。 |
initialize
|
初始化 Google 移动广告 SDK。 |
is
|
检查意见征求表单是否可用。 |
load
|
加载意见征求表单,并在用户当前的同意情况需要时(例如,状态为 REQUIRED)向用户显示该表单。
|
open
|
打开 Google 移动广告 SDK 广告检查器叠加层。
|
open
|
打开调试菜单。 |
parse
|
解析广告加载期间抛出的原生错误,并将其封装在 LoadAdError 中。
|
request
|
请求更新意见征求信息。 |
reset
|
清除永久性存储中的所有同意情况。
|
set
|
控制是否启用发布商第一方 ID。
|
set
|
设置合规性和定位的全局请求配置。
|
set
|
设置用户控制的应用的音频音量。
|
set
|
设置应用是否处于静音状态。 |
show
|
显示隐私设置选项表单。 |
类型别名
AdapterState
AdapterState: typeof AdapterState[keyof typeof AdapterState]
| 属性 | |
|---|---|
NOT_
|
表示中介适配器尚未初始化或初始化失败。
|
READY
|
表示中介适配器已成功初始化并准备好投放广告。
|
AdChoicesPlacement
AdChoicesPlacement:
typeof AdChoicesPlacement[keyof typeof AdChoicesPlacement]
| 属性 | |
|---|---|
BOTTOM_
|
广告的左下角。 |
BOTTOM_
|
广告的右下角。 |
TOP_
|
广告的左上角。 |
TOP_
|
广告的右上角。 |
AdFormat
AdInspectorError
AdInspectorError:
BaseError<AdInspectorErrorCode>
AdInspectorErrorCode
AdInspectorErrorCode:
typeof AdInspectorErrorCode[keyof typeof AdInspectorErrorCode]
| 属性 | |
|---|---|
ALREADY_
|
广告检查器无法打开,因为它已处于打开状态。
|
FAILED_
|
广告检查器未能加载。 |
INTERNAL_
|
广告检查器出现内部错误。 |
NOT_
|
无法打开广告检查器,因为设备未处于测试模式。
|
AdOrientation
AdOrientation: typeof AdOrientation[keyof typeof AdOrientation]
| 属性 | |
|---|---|
CURRENT
|
|
LANDSCAPE
|
|
PORTRAIT
|
|
AdSize
AgeRestrictedTreatment
AgeRestrictedTreatment:
typeof AgeRestrictedTreatment[keyof typeof AgeRestrictedTreatment]
| 属性 | |
|---|---|
CHILD
|
表示广告请求应采用“面向儿童的内容”年龄分级保护标记。
|
TEEN
|
表示广告请求应采用“面向青少年的内容”年龄分级保护标记。
|
UNSPECIFIED
|
表示广告请求不适用任何特定的受年龄限制的处理信号。
|
ConsentStatus
ConsentStatus: typeof ConsentStatus[keyof typeof ConsentStatus]
| 属性 | |
|---|---|
NOT_
|
无需征得同意。 |
OBTAINED
|
已征得用户同意,个性化广告与非个性化广告
未定义。
|
REQUIRED
|
需要征得用户同意,但尚未征得。
|
UNKNOWN
|
同意情况未知。 |
DebugGeography
DebugGeography: typeof DebugGeography[keyof typeof DebugGeography]
| 属性 | |
|---|---|
DISABLED
|
已为调试设备停用调试地理位置功能。
|
EEA
|
对于调试设备,地理位置会显示为欧洲经济区 (EEA)。
|
OTHER
|
对于调试设备,地理位置会显示为位于没有有效法规的地区。
|
REGULATED_
|
对于调试设备,地理位置会显示为位于受监管的美国州级行政区。
|
FormErrorCode
FormErrorCode: typeof FormErrorCode[keyof typeof FormErrorCode]
| 属性 | |
|---|---|
ALREADY_
|
相应同意书已被使用。 |
INTERNAL_
|
SDK 内部发生了某些情况。
|
INVALID_
|
操作无效。 |
NETWORK_
|
由于网络连接问题,表单操作失败。
|
TIMEOUT
|
表单操作超时。 |
UNAVAILABLE
|
没有可用的意见征求表单。 |
UNKNOWN
|
错误代码无法映射到已知错误代码。
|
FullScreenContentErrorCode
FullScreenContentErrorCode:
typeof FullScreenContentErrorCode[keyof typeof FullScreenContentErrorCode]
| 属性 | |
|---|---|
AD_
|
广告已展示。 |
AD_
|
广告尚无法展示。 |
AD_
|
广告对于场景来说过大(仅限 iOS)。 |
APP_
|
应用不在前台。 |
INTERNAL_
|
内部发生了一些情况;例如,在准备展示广告内容时发生了异常。
|
MEDIATION_
|
中介适配器未能展示广告。请参阅 FullScreenContentError.mediationAdError 了解根本原因。
|
UNKNOWN
|
错误代码无法映射到已知错误代码。
|
LoadAdErrorCode
LoadAdErrorCode: typeof LoadAdErrorCode[keyof typeof LoadAdErrorCode]
MaxAdContentRating
MaxAdContentRating:
typeof MaxAdContentRating[keyof typeof MaxAdContentRating]
| 属性 | |
|---|---|
G
|
适合一般受众(包括家庭和儿童)的内容。
|
MA
|
仅适合成人受众的内容。
|
PG
|
适合大多数受众(未成年人需在家长指导下观看)的内容。
|
T
|
适合青少年和年龄更大的受众群体的内容。
|
UNSPECIFIED
|
未指定内容分级。 |
NativeAdAssetNames
NativeAdAssetNames:
typeof NativeAdAssetNames[keyof typeof NativeAdAssetNames]
NativeAdType
NativeAdType: typeof NativeAdType[keyof typeof NativeAdType]
| 属性 | |
|---|---|
BANNER
|
横幅广告。 |
CUSTOM_
|
自定义原生格式广告。 |
NATIVE
|
原生广告。 |
NativeMediaAspectRatio
NativeMediaAspectRatio:
typeof NativeMediaAspectRatio[keyof typeof NativeMediaAspectRatio]
| 属性 | |
|---|---|
ANY
|
对返回的原生广告媒体的宽高比没有偏好设置。
|
LANDSCAPE
|
请求返回的原生广告媒体采用横向宽高比。
|
PORTRAIT
|
请求返回的原生广告媒体采用纵向宽高比。
|
SQUARE
|
请求返回的原生广告媒体采用正方形宽高比。
|
UNKNOWN
|
宽高比未知。 |
OnAdInspectorClosedListener
OnAdInspectorClosedListener:
((error?) => void)
PrecisionType
PrecisionType: typeof PrecisionType[keyof typeof PrecisionType]
| 属性 | |
|---|---|
ESTIMATED
|
根据汇总数据估算的广告价值。
|
PRECISE
|
为相应广告支付的费用的精确值。 |
PUBLISHER_
|
广告价值是由发布商提供的,例如中介组中的人工每千次展示费用。
|
UNKNOWN
|
精确度未知的广告价值。 |
PrivacyOptionsRequirementStatus
PrivacyOptionsRequirementStatus:
typeof PrivacyOptionsRequirementStatus[keyof typeof PrivacyOptionsRequirementStatus]
| 属性 | |
|---|---|
NOT_
|
隐私设置选项入口点不是必需的。
|
REQUIRED
|
必须设置隐私设置选项入口点。 |
UNKNOWN
|
隐私权选项要求状态未知。
|
PublisherPrivacyPersonalizationState
PublisherPrivacyPersonalizationState: typeof PublisherPrivacyPersonalizationState[keyof typeof PublisherPrivacyPersonalizationState]
| 属性 | |
|---|---|
DEFAULT
|
表示广告请求应接受默认的发布商隐私权处理方式。
|
DISABLED
|
表示广告请求应接受非个性化发布商隐私保护处理。
|
ENABLED
|
表示广告请求应接受个性化的发布商隐私处理方式。
|
ResizeMode
ResizeMode: typeof ResizeMode[keyof typeof ResizeMode]
ResolvedAdSize
ResolvedAdSize:
FixedAdSize | FluidAdSize
对于大多数广告,此状态会解析为具有精确
width 和 height 维度的 FixedAdSize。
对于动态调整尺寸的横幅广告,此属性会解析为 FluidAdSize,其中的尺寸由视图层次结构管理。
SwipeGestureDirection
SwipeGestureDirection:
typeof SwipeGestureDirection[keyof typeof SwipeGestureDirection]
| 属性 | |
|---|---|
DOWN
|
向下滑动。 |
LEFT
|
向左滑动。 |
RIGHT
|
向右滑动。 |
UP
|
向上滑动。 |
变量
AdSize
AdSize: {
BANNER: FixedAdSize;
custom: ((width,
height) => FixedAdSize);
FLUID: FluidAdSize;
FULL_BANNER: FixedAdSize;
getCurrentOrientationInlineAdaptiveBannerAdSize: ((width) => InlineAdaptiveAdSize);
getInlineAdaptiveBannerAdSize: ((width,
maxHeight) => InlineAdaptiveAdSize);
getLandscapeInlineAdaptiveBannerAdSize: ((width) => InlineAdaptiveAdSize);
getLargeAnchoredAdaptiveBannerAdSize: ((width) => Promise<LargeAnchoredAdaptiveAdSize>);
getLargeLandscapeAnchoredAdaptiveBannerAdSize: ((width) => Promise<LargeAnchoredAdaptiveAdSize>);
getLargePortraitAnchoredAdaptiveBannerAdSize: ((width) => Promise<LargeAnchoredAdaptiveAdSize>);
getPortraitInlineAdaptiveBannerAdSize: ((width) => InlineAdaptiveAdSize);
LARGE_BANNER: FixedAdSize;
LEADERBOARD: FixedAdSize;
MEDIUM_RECTANGLE: FixedAdSize;
}
函数
canRequestAds
canRequestAds(): boolean
检查当前意见征求状态是否允许您请求广告。
| 返回 | |
|---|---|
boolean
|
如果您可以请求广告,则为 true;否则为 false。
|
getConsentStatus
getConsentStatus(): ConsentStatus
获取用户的当前同意情况。
| 返回 | |
|---|---|
ConsentStatus
|
当前的意见征求状态。 |
getInitializationStatus
getInitializationStatus(): InitializationStatus
getPrivacyOptionsRequirementStatus
getPrivacyOptionsRequirementStatus(): PrivacyOptionsRequirementStatus
检查您的应用是否需要隐私设置选项入口点。
如果需要,请向应用添加一个可见且可互动的界面元素,该元素会调用 showPrivacyOptionsForm 以显示隐私设置选项表单。如果不需要入口点,请将界面元素配置为不可见且不可互动。
如果需要,请向应用添加一个可见且可互动的界面元素,该元素会调用 showPrivacyOptionsForm 以显示隐私设置选项表单。如果不需要入口点,请将界面元素配置为不可见且不可互动。
| 返回 | |
|---|---|
PrivacyOptionsRequirementStatus
|
隐私设置选项要求状态。 |
getRequestConfiguration
getRequestConfiguration(): RequestConfiguration
initialize
initialize(config,
onInitializationComplete?): void
初始化 Google 移动广告 SDK。
请在加载广告之前以及与 Google 移动广告 SDK 的其余部分互动之前调用此方法。
请在加载广告之前以及与 Google 移动广告 SDK 的其余部分互动之前调用此方法。
| 参数 | |
|---|---|
config:
InitializationConfig
|
用于控制 SDK 初始化的选项。 |
|
SDK 完成初始化时要运行的回调函数。 |
isConsentFormAvailable
isConsentFormAvailable(): boolean
检查意见征求表单是否可用。
| 返回 | |
|---|---|
boolean
|
如果同意声明表单可用,则为 true;否则为 false。
|
loadAndShowConsentFormIfRequired
loadAndShowConsentFormIfRequired(onDismissed?): void
加载意见征求表单,并在当前用户意见征求状态需要时(例如,状态为 REQUIRED)向用户显示该表单。
| 参数 | |
|---|---|
|
在表单关闭时或不需要表单时调用的回调函数,如果展示失败,则会提供可选的 FormError。 |
openAdInspector
openAdInspector(_listener): void
openDebugMenu
openDebugMenu(adUnitId): void
打开调试菜单。
使用此方法可打开特定广告单元的调试菜单,以帮助测试和排查广告配置问题。
使用此方法可打开特定广告单元的调试菜单,以帮助测试和排查广告配置问题。
| 参数 | |
|---|---|
adUnitId: string
|
要打开调试菜单的广告单元 ID。 |
parseLoadAdError
parseLoadAdError(error): LoadAdError
解析广告加载期间抛出的原生错误,并将其封装在 LoadAdError 中。
| 参数 | |
|---|---|
error: unknown
|
原生模块抛出的错误对象。 |
| 返回 | |
|---|---|
LoadAdError
|
已解析的 LoadAdError 对象。 |
requestConsentInfoUpdate
requestConsentInfoUpdate(params?, onComplete?): void
请求更新意见征求信息。
此 API 必须在每次应用会话中调用 getConsentStatus 之前调用。
调用此 API 后,getConsentStatus 返回值会同步更新,以保存上一次应用会话中的同意情况(如果存在)。
在调用
此 API 必须在每次应用会话中调用 getConsentStatus 之前调用。
调用此 API 后,getConsentStatus 返回值会同步更新,以保存上一次应用会话中的同意情况(如果存在)。
在调用
onComplete 回调后,getConsentStatus 可以再次更新为最新状态。| 参数 | |
|---|---|
|
用于调试和定位的可选配置。 |
|
在用户意见信息更新完成时调用的回调函数,如果请求失败,则会提供可选的 FormError。 |
重置
reset(): void
从永久性存储中清除所有同意情况。
仅用于调试目的。
仅用于调试目的。
setPublisherFirstPartyIdEnabled
setPublisherFirstPartyIdEnabled(enabled): void
控制是否启用发布商第一方 ID。
启用或停用 Google 移动广告 SDK 发布商第一方 ID(以前称为“同应用标识键”)。
启用或停用 Google 移动广告 SDK 发布商第一方 ID(以前称为“同应用标识键”)。
- 另请参阅
| 参数 | |
|---|---|
enabled: boolean
|
设置为 true 可启用发布商第一方 ID;设置为 false 可停用。默认值为 true。 |
setRequestConfiguration
setRequestConfiguration(_config): void
设置合规性和定位方面的全局请求配置。
使用此方法可指定定位详细信息,例如广告内容分级上限、合规性设置(例如年龄分级保护标记)和测试设备 ID。
使用此方法可指定定位详细信息,例如广告内容分级上限、合规性设置(例如年龄分级保护标记)和测试设备 ID。
| 参数 | |
|---|---|
_config:
RequestConfiguration
|
|
setUserControlledAppVolume
setUserControlledAppVolume(volume): void
设置用户控制的应用的音频音量。
使用此方法可相对于设备上的其他音频输出调整所有广告的音频音量。
使用此方法可相对于设备上的其他音频输出调整所有广告的音频音量。
| 参数 | |
|---|---|
volume: number
|
音量级别,介于 0.0(静音)和 1.0(最大音量)之间。 此范围内的任何浮点值均有效(例如,0.001 或 0.33333)。该值不限于特定的步长增量,例如 0.1。 |
setUserMutedApp
setUserMutedApp(muted): void
设置应用是否处于静音状态。
使用此方法可控制后续广告的初始音频静音状态。
使用此方法可控制后续广告的初始音频静音状态。
| 参数 | |
|---|---|
muted: boolean
|
应用音频是否应静音。默认值为 false。
|
showPrivacyOptionsForm
showPrivacyOptionsForm(onDismissed?): void
显示隐私设置选项表单。
如果 getPrivacyOptionsRequirementStatus 为
只有在响应用户输入以请求显示隐私设置选项表单时,才应调用此方法。
当表单可用时,SDK 会自动预加载隐私设置选项表单。如果未预加载任何表单,SDK 将尝试异步加载一个表单。
在用户看到表单、选择选项并关闭表单后,系统会调用
如果 getPrivacyOptionsRequirementStatus 为
REQUIRED,则显示隐私设置选项表单。只有在响应用户输入以请求显示隐私设置选项表单时,才应调用此方法。
当表单可用时,SDK 会自动预加载隐私设置选项表单。如果未预加载任何表单,SDK 将尝试异步加载一个表单。
在用户看到表单、选择选项并关闭表单后,系统会调用
onDismissed 回调。如果出现以下情况,该方法还可以返回 FormError:
- 此表单不可用。
- 表单无法显示。
- 表单仍在预加载中。
| 参数 | |
|---|---|
|
在表单关闭时调用的回调函数,如果展示失败,则会提供可选的 FormError。 |