文档

​
​

Development

User Acquisition

Monetization

工业

LevelPlay SDK - React Native

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - React Native

Unity LevelPlay
​
​
React Native SDK
  • 开始使用
  • 法规和设置
  • 广告格式
    • 奖励广告服务集成
    • 间隙集成
    • 横幅集成
    • 原生广告服务集成
  • 聚合网络
  • 测试集成
  1. 实现游戏增长
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. 适用于 React 原生开发者的 LevelPlay SDK

React Native 的横幅集成

使用 LevelPlay SDK 在 React 本地 app程序中实现横幅广告服务,包括设置、初始化和监听器配置。
阅读时间6 分钟
最后更新于 2 天前

横幅是由系统启动的矩形广告服务,可以是静态广告,也可以是动画广告,并在实时 app 内容周围的指定区域提供。 
注意
本文档与 SDK 8.4.0+ 相关。

先决条件

  • 确保已将 LevelPlay React 原生 SDK 正确集成到 app 中。此处概述了集成。
  • 确保使用 LevelPlay Initialization API 初始化 SDK。
  • 在 LevelPlay 后台中找到 AdUnitID。

创建横幅广告对象并设置大小

横幅广告对象的创建应在接收 onInitSuccess 回调后完成。
import { LevelPlayBannerAdView、 LevelPlayAdSize, type LevelPlayBannerAdViewMethods、 type LevelPlayBannerAdViewListener,} 来自“Unity LevelPlay-mediation”const bannerAdViewRef = useRef<LevelPlayBannerAdViewMethods>(null);const adSize = LevelPlayAdSize.BANNER; // or await LevelPlayAdSize.createAdaptiveAdSize() for adaptiveconst listener = { /* LevelPlayBannerAdViewListener */ };const loadAd = useCallback(() => { bannerAdViewRef.current?.loadAd();}, []);return ( <LevelPlayBannerAdView ref={bannerAdViewRef} adUnitId="YOUR_AD_UNIT_ID" adSize={adSize} placementName="YOUR_PLACEMENT" listener={listener} style={ width: adSize.width, height: adSize.height }} />);

横幅大小

LevelPlayAdSize

描述

Dimensions in dp(Width X Height)

BANNER标准横幅320 x 50
大型大型横幅320 x 90
中矩形中等矩形 (MREC)300 x 250
自适应自动渲染广告服务以调整移动端和平板电脑的大小和方向设备宽度 X 建议高度
要创建广告大小,请遵循以下选项之一:
**适应屏幕宽度的自适应广告大小(推荐):**此选项取代了“SMART”集成,因为它将根据设备类型返回横幅或 LEADERBOARD。支持自适应功能的网络(Google、Yandex)将根据其优化逻辑返回高度。
let adSize = await LevelPlayAdSize.createAdaptiveAdSize();
**使用固定宽度广告大小的自适应广告大小:**此选项允许您设置指定的宽度。支持自适应横幅功能的网络(Google、Yandex)将根据提供的宽度根据其优化逻辑返回高度。所有其他网络将根据提供的宽度返回回退大小(横幅或 LEADERBOARD)。
let adSize = await LevelPlayAdSize.createAdaptiveAdSize(400);
**指定的横幅大小:**此选项允许您专门设置横幅大小:横幅、大横幅、中等横幅。
let adSize = LevelPlayAdSize.MEDIUM_RECTANGLE;

广告位

我们支持在横幅广告中放置仅用于举报。应在 loadAd 之前设置广告位,以影响所有重新加载的广告服务。

设置横幅监听器

在代码中实现 LevelPlayBannerAdViewListener 以获取广告投放信息。
  • 建议在加载横幅广告之前设置监听器。
  • 每个横幅广告都应有自己的监听器实现。
  • 回调在主线程上运行。
const 监听器:LevelPlayBannerAdViewListener = { onAdLoaded:(adInfo:LevelPlayAdInfo) => { // Invoked each time a banner was loaded.刷新时或手动加载。 }, onAdLoadFailed:(报错:LevelPlayAdError) => { // Invoked when the banner loading process has failed. // This callback will be sent both for manual load and refreshed banner failures. }, onAdDisplayed:(adInfo:LevelPlayAdInfo) => { // Notifies the screen is displayed. }, onAdDisplayFailed:(adInfo:LevelPlayAdInfo,报错:LevelPlayAdError) => { // Notifies the screen failed to display. }, onAdClicked:(adInfo:LevelPlayAdInfo) => { // Invoked when end user clicks on the banner ad. }, onAdExpanded:(adInfo:LevelPlayAdInfo) => { // Ad is opened on full screen }, onAdCollapsed:(adInfo:LevelPlayAdInfo) => { // Ad is restored to its original size }, onAdLeftApplication:(adInfo:LevelPlayAdInfo) => { // Invoked when the user left the app. },};

加载横幅广告

要加载横幅广告,请使用 loadAd。
// Load the banner adbannerAdViewRef.current?.loadAd();

暂停和恢复横幅刷新

如果在平台中定义了刷新值,则可以在代码中暂停横幅刷新。使用以下方法可停止横幅广告的自动刷新,或在暂停后重新启用。 
注意
再次显示横幅时,它将完成从暂停时间到刷新的时间。 
  • pauseAutoRefresh – 暂停横幅广告的自动刷新。
  • resumeAutoRefresh – 暂停横幅广告后恢复自动刷新。
// Pause refresh bannerAdViewRef.current?.pauseAutoRefresh(); // Resume refreshbannerAdViewRef.current?.resumeAutoRefresh();

销毁横幅广告

要销毁横幅,请调用 destroy 方法。
已销毁的横幅无法再次显示。要显示更多广告服务,请创建一个新的 LevelPlayBannerAdView 对象。 
bannerAdViewRef.current?.destroy();

横幅广告服务的完整实现示例

以下是使用标准横幅大小创建和加载横幅广告的示例。
import { LevelPlayBannerAdView、 LevelPlayAdSize, type LevelPlayBannerAdViewMethods、 type LevelPlayBannerAdViewListener, type LevelPlayAdInfo、 type LevelPlayAdError、} 来自“Unity LevelPlay-mediation”// Start of some component ...const bannerAdViewRef = useRef<LevelPlayBannerAdViewMethods>(null);const adSize = LevelPlayAdSize.BANNERconst 监听器:LevelPlayBannerAdViewListener = { onAdLoaded:(adInfo:LevelPlayAdInfo) => { // Implement your logic here }, onAdLoadFailed:(报错:LevelPlayAdError) => { // Implement your logic here }, onAdDisplayed:(adInfo:LevelPlayAdInfo) => { // Implement your logic here }, onAdDisplayFailed:(adInfo:LevelPlayAdInfo,报错:LevelPlayAdError) => { // Implement your logic here }, onAdClicked:(adInfo:LevelPlayAdInfo) => { // Implement your logic here }, onAdExpanded:(adInfo:LevelPlayAdInfo) => { // Implement your logic here }, onAdCollapsed:(adInfo:LevelPlayAdInfo) => { // Implement your logic here }, onAdLeftApplication:(adInfo:LevelPlayAdInfo) => { // Implement your logic here },};return ( <LevelPlayBannerAdView ref={bannerAdViewRef} adUnitId={'YOUR_AD_UNIT_ID'} adSize={adSize} placementName={'YOUR_PLACEMENT'} listener={listener} onLayout={(_) => bannerAdViewRef.current?.loadAd()} style={width: adSize.width, height: adSize.height} // 获取实际横幅布局大小 />); // End of component ...

LevelPlay Mediation 演示应用程序

Integration Demo 应用程序演示如何在 app 中集成横幅广告单元 API。
下载 React Native demo 应用程序
验证您与我们的集成测试套件的集成。

后续步骤

请遵循我们的集成指南来集成其他聚合网络或配置其他广告格式:
  • 添加聚合网络
  • 奖励广告服务
  • 插页式广告服务
  • 原生广告服务

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。

  • 在本页上
    • 先决条件

    • 创建横幅广告对象并设置大小

      • 横幅大小

      • 广告位

    • 设置横幅监听器

    • 加载横幅广告

    • 暂停和恢复横幅刷新

    • 销毁横幅广告

    • 横幅广告服务的完整实现示例

    • LevelPlay Mediation 演示应用程序

    • 后续步骤


报告此页面的问题