文档

​
​

Development

User Acquisition

Monetization

工业

LevelPlay SDK - Android

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - Android

Unity LevelPlay
​
​
Android SDK
  • 开始使用
    • 开始使用
    • Android SDK 集成
      • Migrate to LevelPlay Init API
      • Migrate to Maven Central
    • 集成广告品质 SDK
    • 自定义适配器
    • LevelPlay SDK 变更日志
    • Ad Quality SDK 变更日志
  • 法规和设置
  • 广告格式
  • 聚合网络
  • 测试集成
  1. 实现游戏增长
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. 适用于 Android 开发者的 LevelPlay SDK

Android SDK 集成

使用 Gradle 集成 LevelPlay Android SDK 或手动下载并配置 app 生命周期、权限和广告单元监听器。
阅读时间11 分钟
最后更新于 2 天前

先决条件

  • 我们支持 Android 操作系统版本 4.4(API 级别 19)及更高版本。
  • 支持的最低 Kotlin 版本为 1.7.0。

步骤 1.将 LevelPlay SDK 添加到项目中

LevelPlay SDK 支持 Gradle 依赖关系和手动下载机制来集成我们的 SDK:

Gradle

  1. 将以下代码添加到您的应用级别 build.gradle 文件的 repository 部分中:
    repositories { mavenCentral()}
  2. 将以下代码添加到 dependencies 部分中:
dependencies { implementation 'com.unity3d.ads-mediation:mediation-sdk:9.5.0'}

Gradle 版本 7+

如果您使用的是 Gradle 版本 7+,请更新 Settings.gradle 文件的代码仓库部分,而不是构建.gradle。请注意,代码仓库部分应包含在 dependencyResolutionManagement 部分中:
repositories { mavenCentral()}
注意
从版本 8.9.0 开始,AdQuality 集成到 LevelPlay SDK 中,并在实现 LevelPlay 时自动初始化。此处了解有关 AdQuality 的更多信息。

手动下载

  1. 下载 Android SDK 9.5.0 版
  2. 将 .AAR 文件作为库项目导入。
  3. 如果使用 Android Studio,请下载 .AAR 文件并作为依赖项添加到您自己的模块。
  4. 转到文件 > New > New Module > Import .AAR,然后导航到 .AAR 文件的下载位置。
  5. 注意:清单活动包含在 AAR 中。
  6. 确保将以下内容添加到构建.gradle 文件的 dependencies 部分:
implementation(name: 'mediation-sdk-9.5.0', ext:'aar')
  1. 从 LevelPlay SDK 7.0.4+ 开始,必须将 Kotlin JAR 添加到项目中。您可以在此处阅读有关 Kotlin 支持的更多信息。

可选:手动 JAR 集成

如果在项目中使用 mediation-SDK-xxx.jar 和 adquality-SDK-xxx.jar,仍然可以使用相同的配置。  
  1. 将新的 mediation-SDK-xxx.aar 重命名为 mediation-SDK-xxx.zip。 
  2. 将新的 adquality-SDK-xxx.jar 重命名为 adquality-SDK-xxx.zip。 
  3. 提取 classes.jar
  4. 将其重命名为 mediation-SDK-xxx.jar 和 adquality-SDK-xxx.jar。 
  5. 更新 AndroidManifest.xml
更新 AndroidManifest.xml 以进行手动 JAR 集成 
要更新 AndroidManifest.xml,请完成以下步骤:
  1. 清单权限 将以下权限添加到 AndroidManifest.xml 文件清单标签内但
    <application>
    标签外**:**
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. 清单活动和提供程序 在 AndroidManifest 中的
    <application>
    标签中添加此部分:
    <activity android:name="com.ironsource.sdk.controller.ControllerActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.NoTitleBar" /> <activity android:name="com.ironsource.sdk.controller.InterstitialActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <activity android:name="com.ironsource.sdk.controller.OpenUrlActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <activity android:name="com.ironsource.mediationsdk.testSuite.TestSuiteActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.NoTitleBar" /> <提供者 android:name="com.ironsource.lifecycle.IronsourceLifecycleProvider" android:authorities="${applicationId}.IronsourceLifecycleProvider" />

demo 应用程序

Integration Demo 应用程序演示了如何在 app 中集成 LevelPlay Mediation。
下载 Android Demo 应用程序

步骤 2.Google 标识符权限

  1. 将 播放 服务 依赖项添加到依赖项代代码块中,以便检索 GAID app ID 信息。
    dependencies { 实现 fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.google.android.gms:play-services-appset:16.0.0' implementation 'com.google.android.gms:play-services-ads-identifier:18.1.0' implementation 'com.google.android.gms:play-services-basement:18.1.0' }
    在此处了解有关 Google app set ID 的更多信息。
  2. 将目标 API 级别更新为 33(Android 13)的应用程序需要在清单文件中声明 Google 播放服务的正常权限,如下所示:
    <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
    在此处阅读有关 Google 广告 ID 更改的更多信息。
注意
Amazon 设备不使用 Google 播放服务。如果要针对 Amazon 平台进行构建,请跳过上一步。

步骤 3.初始化 SDK

要初始化 LevelPlay SDK,请执行以下步骤:
  1. 实现初始化成功和失败的回调。
  2. 使用 appKey 和用户 ID(如果相关)调用 LevelPlay init API。
注意
如果使用服务器到服务器回调来奖励用户,或使用广告品质用户旅程,请将用户 ID 添加为初始化 API 的一部分。
LevelPlayInitRequest initRequest = new LevelPlayInitRequest.Builder(appKey) .withUserId("UserID") .build();LevelPlayInitListener initListener = new LevelPlayInitListener() { } @Override public void onInitFailed(@NonNull LevelPlayInitError error) { //Recommended to initialize again } @Override public void onInitSuccess(LevelPlayConfiguration configuration) { //Create ad objects and load ads }};LevelPlay.init(context, initRequest, initListener);
val initRequest = LevelPlayInitRequest.Builder("AppKey") .withUserId("UserId") .build()LevelPlay.init(context, initRequest, object :LevelPlayInitListener { 覆盖 fun onInitFailed(报错:LevelPlayInitError) { //建议再次初始化 } 覆盖 fun onInitSuccess(configuration:LevelPlayConfiguration) { //创建广告对象并加载广告服务 }})

LevelPlay 初始化监听器

OnInitSuccess – 初始化成功完成时触发。收到此指示后,您可以创建和加载广告。
OnInitFailed – 未成功检索配置,无法加载广告服务。建议稍后尝试并初始化 LevelPlay SDK(当互联网连接可用或故障原因得到解决时)。

仅适用于 ProGuard 用户

如果将 ProGuard 与 LevelPlay SDK 结合使用,必须将以下代码添加到 ProGuard 文件(Android Studio:proguard-rules.pro 或 Eclipse:proguard-项目.txt):
-keepclassmembers 类 * 实现 Android.os.Parcelable { public static final android.os.Parcelable$Creator *;}#noinspection ShrinkerUnresolvedReference#unity-keep class com.google.android.gms.ads.identifier.** { public *; }-keep class com.google.android.gms.appset.** { *; }-keep class com.google.android.gms.tasks.** { *; }#adapters- keep 类 com. ironsource.adapters。** { *; }#sdk-dontwarn com. ironsource。**-dontwarn com. ironsource.adapters。**-keepclassmembers 类 com. ironsource。** { public *; }- 保留 public 类 com. ironsource。**- keep 类 com. ironsource.adapters。** { *;}#omid-dontwarn com.iab.omid。**-keep 类 com.iab.omid** {*;}#javascript-keepattributes JavascriptInterface-keepclassmembers 类 * { @android.webkit.JavascriptInterface <methods>; }#For AmazonAps integration-keep class com.amazon.device.ads.DtbThreadService { static * ;}- 保留公共接口 com.amazon.device.广告服务** {*; }#For AppLovin integration-keepclassmembers class com.applovin.sdk.AppLovinSdk { static * ;}-keep public interface com.applovin.sdk** {*; }-keep public interface com.applovin.adview** {*; }- Keep public interface com.applovin.mediation** {*; }- keep public interface com.applovin.communicator** {*; }#For Bytedance integration- keep public interface com.bytedance.SDK.openadsdk** {*; }#For Facebook integration-keepclassmembers class com.facebook.ads.internal.AdSdkVersion { static * ;}-keepclassmembers class com.facebook.ads.internal.settings.AdSdkVersion { static * ; }-keepclassmembers class com.facebook.ads.BuildConfig { static * ; }- 保留公共接口 com.facebook.广告服务** {*; }#For Fairbid-keep public interface com.fyber.fairbid.ads.interstitial** {*; }- 保持公共接口 com.fyber.fairbid.广告服务。rewarded** {*; }- 保留 com.fyber.offerwall 类。*#For Fivead- keep public interface com.five_corp.ad** {*; }#For Fyber(Inneractive) integration-keep public interface com.fyber.inneractive.sdk.external** {*; }-keep public interface com.fyber.inneractive.sdk.activities** {*; }-keep public interface com.fyber.inneractive.sdk.ui** {*; }#For HyprMX integration-keepclassmembers class com.hyprmx.android.sdk.utility.HyprMXProperties { static * ;}-keepclassmembers 类 com.hyprmx.android.BuildConfig { static * ;}-keep public interface com.hyprmx.android.sdk.activity** {*; }-keep public interface com.hyprmx.android.sdk.graphics** {*; }# For Inmobi integration##for-inmobi-integration-keep class com.inmobi.*- 保留公共接口 com.inmobi.广告服务。listeners** {*; }- 保留公共接口 com.inmobi.广告服务。InMobiInterstitial** {*; }- 保留公共接口 com.inmobi.广告服务。InMobiBanner** {*; }# For ironSource integration##for-ironsource-integration-keep public interface com.ironsource.mediationsdk.sdk** {*; }-keep public interface com.ironsource.mediationsdk.impressionData.ImpressionDataListener {*; }# For Mintergral integration##for-mintergral-integration-keep public interface com.mbridge.msdk.out** {*; }-keep public interface com.mbridge.msdk.videocommon.listener** {*; }-keep public interface com.mbridge.msdk.interstitialvideo.out** {*; }-keep public interface com.mintegral.msdk.out** {*; }-keep public interface com.mintegral.msdk.videocommon.listener** {*; }-keep public interface com.mintegral.msdk.interstitialvideo.out** {*; }#For MyTarget integration-keep class com.my.target.** {*;}#For Ogury integration- Keep public interface io.presage.interstitial** {*; }- Keep public interface io.presage.interstitial.PresageInterstitialCallback {*; }#For Pubnative integration-keep public interface net.pubnative.lite.sdk.interstitial.HyBidInterstitialAd** {*; }-keep public interface net.pubnative.lite.sdk.rewarded.HyBidRewardedAd** {*; }- keep public interface net.pubnative.lite.SDK.view.HyBidAdView** {*; }#For Smaato integration-keep public interface com.smaato.sdk.interstitial** {*; }-keep public interface com.smaato.sdk.video.vast** {*; }-keep public interface com.smaato.sdk.banner.widget** {*; }-keep public interface com.smaato.sdk.core.util** {*; }# For Tapjoy integration##for-tapjoy-integration- 保留公共接口 com.Tapjoy。** {*; }# For Tencent integration##for-tencent-integration-keep public interface com.qq.e.ads.interstitial2** {*; }-keep public interface com.qq.e.ads.interstitial3** {*; }- 保留公共接口 com.qq.e.广告服务。rewardvideo** {*; }-keep public interface com.qq.e.ads.rewardvideo2** {*; }-keep public interface com.qq.e.ads.banner2** {*; }-keep public interface com.qq.e.comm.adevent** {*; }#For Verizon integration-keepclassmembers 类 com.verizon.广告服务.edition.BuildConfig { static * ;}- 保留公共接口 com.verizon.广告服务。interstitialplacement** {*; }- 保留公共接口 com.verizon.广告服务。inlineplacement** {*; }-keep public interface com.verizon.ads.vastcontroller** {*; }- 保留公共接口 com.verizon.广告服务。webcontroller** {*; }#For Vungle integration- Keep public interface com.vungle.warren.PlayAdCallback {*; }-keep public interface com.vungle.warren.ui.contract** {*; }- Keep public interface com.vungle.warren.ui.view** {*; }#For AndroidX-keep class androidx.localbroadcastmanager.content.LocalBroadcastManager { *;}-keep 类 AndroidX.recyclerview.widget.RecyclerView { *;}-keep class androidx.recyclerview.widget.RecyclerView$OnScrollListener { *;}#For Android-keep 类 * 扩展 Android.app.Activity

步骤 4.验证您的集成

LevelPlay SDK 提供了一种简单的方法来验证是否已使用 LevelPlay 集成测试套件成功完成集成。测试app的集成度,验证平台设置,并审查与配置的网络相关的广告服务。
要在 app 中启用测试套件,请在设置 init 之前调用 setMetaData API:
LevelPlay.setMetaData("is_test_suite", "enable");
聚合初始化成功完成后,通过调用以下方法启动测试套件(需要应用程序上下文):
LevelPlay.launchTestSuite(context);
有关 LevelPlay 集成测试套件的更多详细信息和实现示例,请导航到本文章。

后续步骤

  1. 按照我们的集成指南来实现广告格式
    • 奖励视频
    • 插页式视频
    • 横幅广告
    • 原生广告服务 
  2. 在您的 app 中集成奖励视频、插页式或横幅广告服务,并关注我们的聚合文章。
  3. 验证您与我们的集成测试套件的集成。

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

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

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

  • 在本页上
    • 先决条件

    • 步骤 1.将 LevelPlay SDK 添加到项目中

      • Gradle

        • Gradle 版本 7+

        • 手动下载

        • 可选:手动 JAR 集成

        • demo 应用程序

    • 步骤 2.Google 标识符权限

    • 步骤 3.初始化 SDK

      • LevelPlay 初始化监听器

      • 仅适用于 ProGuard 用户

    • 步骤 4.验证您的集成

    • 后续步骤


报告此页面的问题