文档

​
​

Development

User Acquisition

Monetization

工业

Unity Ads 变现

Unity Ads Android SDK

Unity Ads iOS SDK

Unity Ads SDK

Unity Ads 变现

Unity Ads Monetization
​
​
Android 开发者指南
  • Android SDK 概述
  • 集成要求
  • 安装适用于 Android 的 Unity Ads SDK
  • 在 Android 中初始化 SDK
  • 在 Android 中实现插页式广告
  • 在 Android 中实现奖励广告
  • 在 Android 中实现横幅广告
Android SDK API 参考
  • Unity Ads for Android API 参考(Java)
  1. 实现游戏增长
  2. Unity Ads
  3. 适用于 Android 开发者的 Unity Ads SDK 集成指南

在 Android 中实现奖励广告

在 Android 应用程序中实现奖励广告。加载广告内容,通过 Java 代码展示广告,并使用监听器来管理广告事件和奖励逻辑。
阅读时间5 分钟
最后更新于 2 天前

对观看广告的用户进行奖励可以增加用户参与度,从而带来更高收入。例如,游戏可以用游戏币、消耗品、额外生命数量或经验倍增法宝来奖励用户。如需了解如何有效设计奖励广告的更多信息,请参阅变现策略指南。
要奖励用户看完视频广告,请使用
IUnityAdsShowListener.onUnityAdsShowComplete
监听器回调方法的
UnityAdsShowCompletionState
结果来检查用户是否看完广告并应该获得奖励。
注意
Unity Ads 需要访问当前正在运行的 Activity,所以下面的示例使用
getApplicationContext()
。 由于这可能不适合所有实现,因此可能需要进行一些定制(具体取决于集成情况)。

奖励视频广告示例

import android.app.Activity; import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.unity3d.ads.IUnityAdsLoadListener; import com.unity3d.ads.IUnityAdsShowListener; import com.unity3d.ads.UnityAdsShowOptions; import com.unity3d.ads.example.R; import com.unity3d.ads.IUnityAdsInitializationListener; import com.unity3d.ads.UnityAds; public class ShowRewardedAd extends AppCompatActivity implements IUnityAdsInitializationListener { private String unityGameID = "1234567"; private Boolean testMode = true; private String adUnitId = "rewardedVideo"; private IUnityAdsLoadListener loadListener = new IUnityAdsLoadListener() { @Override public void onUnityAdsAdLoaded(String placementId) { UnityAds.show((Activity)getApplicationContext(), adUnitId, new UnityAdsShowOptions(), showListener); } @Override public void onUnityAdsFailedToLoad(String placementId, UnityAds.UnityAdsLoadError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to load ad for " + placementId + " with error: [" + error + "] " + message); } }; private IUnityAdsShowListener showListener = new IUnityAdsShowListener() { @Override public void onUnityAdsShowFailure(String placementId, UnityAds.UnityAdsShowError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to show ad for " + placementId + " with error: [" + error + "] " + message); } @Override public void onUnityAdsShowStart(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowStart: " + placementId); } @Override public void onUnityAdsShowClick(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowClick: " + placementId); } @Override public void onUnityAdsShowComplete(String placementId, UnityAds.UnityAdsShowCompletionState state) { Log.v("UnityAdsExample", "onUnityAdsShowComplete: " + placementId); if (state.equals(UnityAds.UnityAdsShowCompletionState.COMPLETED)) { // Reward the user for watching the ad to completion } else { // Do not reward the user for skipping the ad } } }; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // Initialize the SDK: UnityAds.initialize(getApplicationContext(), unityGameID, testMode, this); } @Override public void onInitializationComplete() { DisplayRewardedAd(); } @Override public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) { Log.e("UnityAdsExample", "Unity Ads initialization failed with error: [" + error + "] " + message); } // Implement a function to load a rewarded ad.The ad will start to show after the ad has been loaded. public void DisplayRewardedAd () { UnityAds.load(adUnitId, loadListener); } }

奖励视频广告按钮

使用按钮让玩家选择观看广告是奖励视频广告的常见实现方式。可使用以下示例代码来创建奖励广告按钮。只要事先加载了广告,就会在按下广告按钮时展示广告。有关配置按钮的信息,请参阅有关按钮的 Android 开发者文档。
实现按钮后,请添加一个包含以下代码的脚本,其中
showAdButton
是 View 中配置的按钮:
注意
Unity Ads 需要访问当前正在运行的 Activity,所以下面的示例使用
getApplicationContext()
。 由于这可能不适合所有实现,因此可能需要进行一些定制(具体取决于集成情况)。
import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import com.unity3d.ads.IUnityAdsLoadListener; import com.unity3d.ads.IUnityAdsShowListener; import com.unity3d.ads.UnityAdsShowOptions; import com.unity3d.ads.example.R; import com.unity3d.ads.IUnityAdsInitializationListener; import com.unity3d.ads.UnityAds; public class RewardedAdButton extends AppCompatActivity implements IUnityAdsInitializationListener { private String unityGameID = "1234567"; private Boolean testMode = true; private String adUnitId = "rewardedVideo"; private Button rewardedButton; private IUnityAdsLoadListener loadListener = new IUnityAdsLoadListener() { @Override public void onUnityAdsAdLoaded(String placementId) { UnityAds.show((Activity)getApplicationContext(), adUnitId, new UnityAdsShowOptions(), showListener); } @Override public void onUnityAdsFailedToLoad(String placementId, UnityAds.UnityAdsLoadError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to load ad for " + placementId + " with error: [" + error + "] " + message); } }; private IUnityAdsShowListener showListener = new IUnityAdsShowListener() { @Override public void onUnityAdsShowFailure(String placementId, UnityAds.UnityAdsShowError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to show ad for " + placementId + " with error: [" + error + "] " + message); // Re-enable the button if the user should be allowed to watch another rewarded ad rewardedButton.setEnabled(true); } @Override public void onUnityAdsShowStart(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowStart: " + placementId); } @Override public void onUnityAdsShowClick(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowClick: " + placementId); } @Override public void onUnityAdsShowComplete(String placementId, UnityAds.UnityAdsShowCompletionState state) { Log.v("UnityAdsExample", "onUnityAdsShowComplete: " + placementId); if (state.equals(UnityAds.UnityAdsShowCompletionState.COMPLETED)) { // Reward the user for watching the ad to completion } else { // Do not reward the user for skipping the ad } // Re-enable the button if the user should be allowed to watch another rewarded ad rewardedButton.setEnabled(true); } }; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // Initialize the SDK: UnityAds.initialize(getApplicationContext(), unityGameID, testMode, this); // Find the button in the view hierarchy and set its click function to load ads: rewardedButton = findViewById (R.id.showAdButton); rewardedButton.setOnClickListener (new View.OnClickListener (){ @Override public void onClick (View v) { DisplayRewardedAd (); rewardedButton.setEnabled(false); } }); } @Override public void onInitializationComplete() { rewardedButton.setEnabled(true); } @Override public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) { Log.e("UnityAdsExample", "Unity Ads initialization failed with error: [" + error + "] " + message); } // Implement a function to load an rewarded ad.The ad will start to show after the ad has been loaded. public void DisplayRewardedAd () { UnityAds.load(adUnitId, loadListener); } }
后续步骤:请参阅在 Android 中实现横幅广告。

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

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

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

  • 在本页上
    • 奖励视频广告示例

    • 奖励视频广告按钮


报告此页面的问题