插播广告

插屏广告是一种全屏广告格式,嵌入在应用内容中,在自然暂停时显示,例如在游戏关卡之间过渡或完成目标操作时。

当应用展示插屏广告时,用户可以选择点击广告进入广告主的网站,或关闭广告返回应用。

在插屏广告展示期间,用户的注意力完全集中在广告上,这会导致此类展示的成本更高。

本指南介绍了将插屏广告集成到 React Native 应用的过程。 除了代码示例和说明之外,它还包含特定格式的建议以及指向其他资源的链接。

前提条件

  1. 按照 快速入门 中描述的 Yandex Mobile Ads React Native 插件集成步骤进行操作。
  2. 确保您拥有 最新版本的 Yandex Mobile Ads React Native 插件。如果您正在使用聚合,请更新到最新的 单一构建版本

实施

集成插屏广告的关键步骤:

  • 创建 InterstitialAdLoader
  • 使用 AdRequestConfiguration 对象设置加载广告的参数。
  • 加载 InterstitialAd 对象。
  • 设置广告的回调函数。
  • 展示 InterstitialAd 对象。

插屏广告集成的特点

  1. 如果 loadAd 方法返回错误,请勿再次尝试加载新广告。如果没有其他选项,请限制广告加载重试次数。如果有限制,这将有助于避免频繁出现失败的请求和连接问题。

加载广告

要加载插屏广告,请创建一个 InterstitialAdLoader 对象。为此,请调用 InterstitialAdLoader.create() 方法。

要创建 AdRequestConfiguration 类实例,您需要来自 Partner Interface (adUnitId) 的广告版位 ID。

您还可以在创建 AdRequestConfiguration 对象时,通过提供有关用户兴趣、页面上下文、位置和其他附加数据的信息来扩展广告请求参数。在广告请求中添加额外的上下文信息可以极大地提高广告质量。

要加载插屏广告,请调用 InterstitialAdLoader 类对象的 loadAd 方法。

以下示例展示了如何加载插屏广告:

let loader = await InterstitialAdLoader.create()
    .catch((error) => {
        // 妥善处理错误
        return;
    });
if (!loader) {
    return;
}
let adRequestConfiguration = new AdRequestConfiguration(
    'R-M-XXXXXX-Y', // 为了进行调试,您可以使用 'demo-interstitial-yandex'
    '20',
    'context-query',
    ['context-tag'],
    Gender.Female,
    new Location(55.734202, 37.588063)
);
let ad = await loader.loadAd(adRequestConfiguration)
    .then((ad) => {
        // 广告加载成功
        return ad;
    })
    .catch((error) => {
        // 妥善处理错误
        return;
    });

展示广告

插屏广告应在应用使用的自然暂停期间展示。例如,在游戏关卡切换时,或者用户完成某项操作(例如下载文件)后,展示广告是一个很合适的时机。

要跟踪插屏广告的生命周期事件,请为 InterstitialAd 类对象设置回调函数。

要展示插屏广告,请使用 show() 方法。

ad.onAdShown = () => {
    console.log('Did show');
};
ad.onAdFailedToShow = (error) => {
    console.log(`Did fail to show with error: ${JSON.stringify(error)}`);
};
ad.onAdClicked = () => {
    console.log('Did click');
};
ad.onAdDismissed = () => {
    console.log('Did dismiss');
};
ad.onAdImpression = (impressionData) => {
    console.log(`Did track impression: ${JSON.stringify(impressionData)}`);
};
ad.show();

测试插屏广告集成

使用演示广告单元进行广告测试

我们建议使用测试广告来测试您的插屏广告集成和应用本身。

为了保证为每个广告请求返回测试广告,我们创建了一个特殊的演示广告版位 ID。用它来检查您的广告集成。

演示广告单元 ID:demo-interstitial-yandex

重要

确保在将应用发布到商店之前,您已将演示广告版位 ID 替换为在 PI 中获取的真实广告版位 ID。

您可以在 用于测试的演示广告单元 版块找到可用的演示广告版位 ID 列表。

测试广告集成

您可以使用 SDK 的内置分析器检查插屏广告集成。

该工具可确保您的插屏广告正确集成,并向日志输出详细报告。 要查看报告,请在用于 Android 应用程序调试的 Logcat 工具中搜索“YandexAds”关键字。

adb logcat -v brief '*:S YandexAds'

如果集成成功,您将看到以下消息:

adb logcat -v brief '*:S YandexAds'
mobileads$ adb logcat -v brief '*:S YandexAds'
I/YandexAds(13719): [Integration] Ad type interstitital was integrated successfully

如果您在集成插屏广告时遇到问题,您将获得有关问题的详细报告以及如何解决这些问题的建议。

使用演示广告单元进行广告测试

我们建议使用测试广告来测试您的广告集成和应用本身。

为了保证为每个广告请求返回测试广告,我们创建了一个特殊的演示广告版位 ID。用它来检查您的广告集成。

演示广告单元 ID:demo-interstitial-yandex

重要

确保在将应用发布到商店之前,您已将演示广告版位 ID 替换为在 PI 中获取的真实广告版位 ID。

您可以在 用于测试的演示广告单元 部分找到可用的演示广告版位 ID 列表。

测试广告集成

您可以使用本机控制台工具测试广告集成。

要查看详细日志,请调用 YMAMobileAds 类的 enableLogging 方法。

YMAMobileAds.enableLogging()

要查看 SDK 日志,请前往控制台工具并设置 sybsystem = com.yandex.mobile.ads.sdk。您还可以按类别和错误级别过滤日志。

如果您在集成广告时遇到问题,您将获得有关问题的详细报告以及如何解决这些问题的建议。

提示

广告预加载

加载广告可能需要几秒钟的时间,具体取决于移动聚合中对接的广告网络数量和用户的互联网速度。我们建议在展示广告之前预加载广告。

提前调用 loadAd 方法,以便在需要时立即显示广告。

要在当前广告服务结束后立即开始预加载下一个广告,您可以将此过程关联到 onAdDismissed 事件。

如果您在太多不太可能显示的屏幕上缓存广告,您的广告效果可能会下降。例如,如果用户每次会话完成 2-3 个游戏关卡,则您不应缓存 6-7 个屏幕的广告。否则,您的广告可见性可能会降低,并且广告系统可能会降低您的应用的优先级。

为确保您为应用找到良好的平衡,请在合作伙伴界面中跟踪“展示次数份额”或“已观看展示次数份额”指标。如果该指标低于 20%,您可能需要修改缓存算法。展示次数百分比越高越好。

其他资源