如何在 Android 中集成 Google Admob 奖励视频广告?

javaobject oriented programmingprogramming更新于 2024/6/8 20:05:00

在 Android 中集成 Google AdMob 奖励视频广告为开发人员的移动应用提供了强大的盈利策略。通过实现此功能,开发人员可以为用户提供引人入胜的体验,同时通过视频广告赚取收入。AdMob 奖励视频广告允许用户自愿观看视频以换取应用内奖励,为用户和开发人员提供双赢的局面。这种集成使开发人员能够利用 Google 广泛的广告网络,瞄准广泛的用户并最大限度地提高其应用的盈利潜力。通过遵循必要的步骤,开发人员可以将 AdMob 奖励视频广告无缝整合到他们的 Android 应用程序中并开启新的收入来源。

Google Admob

Google AdMob 由 Google 开发,是一个广泛的移动广告平台。它使开发人员能够通过展示各种类型的广告(如横幅广告、插页广告和奖励视频广告)来从其移动应用中获利。凭借其庞大的广告商和发布商网络,AdMob 使开发人员能够覆盖全球受众并最大限度地提高其应用的创收潜力。

广告管理平台为开发人员提供了用户友好的界面和强大的工具。它使他们能够优化广告策略,增强其应用的获利能力并有效跟踪其效果。

开发人员可以利用 Google AdMob 有效地从其 Android 和 iOS 应用中赚取收入。该平台使他们能够向用户提供相关且引人入胜的广告体验,确保盈利,同时让受众积极参与。

方法

有多种方法可以将 Google AdMob 奖励视频广告集成到 Android 应用中。以下是几种常见方法:

  • AdMob 原生广告高级版

  • Google 移动广告 SDK

  • AdMob 中介

AdMob 原生广告高级版

此方法允许开发人员利用原生广告高级版功能将 Google AdMob 奖励视频广告集成到他们的 Android 应用中。通过这种方法,开发者可以灵活地自定义激励视频广告的外观,使其与应用的设计和布局无缝融合,从而提供更具凝聚力的用户体验。

算法

  • 初始化 AdMob SDK 并配置激励视频广告单元 ID。

  • 为激励视频广告视图创建自定义布局,与应用的设计相匹配。

  • 加载激励视频广告并为广告生命周期事件设置事件监听器。

  • 当用户触发激励操作时,显示激励视频广告并等待其完成。

  • 成功完成广告后,向用户提供指定的奖励。

示例

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
   private Button btnShowAd;
   private RewardedAd rewardedAd;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      // Load the rewarded ad
      AdRequest adRequest = new AdRequest.Builder().build();
      RewardedAd.load(this, "YOUR_AD_UNIT_ID", adRequest, new RewardedAdLoadCallback() {
         @Override
         public void onAdLoaded(@NonNull RewardedAd ad) {
            rewardedAd = ad;
         }

         @Override
         public void onAdFailedToLoad(@NonNull LoadAdError error) {
            rewardedAd = null;
         }
      });

      btnShowAd = findViewById(R.id.btnShowAd);
      btnShowAd.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            showRewardedVideoAd();
         }
      });
   }

   // Show the Rewarded Video Ad
   private void showRewardedVideoAd() {
      if (rewardedAd != null) {
         rewardedAd.show(this, new RewardedAdCallback() {
            @Override
            public void onRewardedAdOpened() {
               // Ad opened
            }

            @Override
            public void onRewardedAdClosed() {
               // Ad closed
            }

            @Override
            public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
               // User earned a reward
            }

            @Override
            public void onRewardedAdFailedToShow(AdError error) {
               // Ad failed to show
            }
         });
      }
   }

   @Override
   protected void onResume() {
      super.onResume();
      if (rewardedAd != null) {
         rewardedAd.resume(this);
      }
   }

   @Override
   protected void onPause() {
      super.onPause();
      if (rewardedAd != null) {
         rewardedAd.pause(this);
      }
   }

   @Override
   protected void onDestroy() {
      super.onDestroy();
      if (rewardedAd != null) {
         rewardedAd = null;
      }
   }
} 

//activity_main.xml
<!-- activity_main.xml -->
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:padding="16dp">

   <Button
      android:id="@+id/btnShowAd"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Show Rewarded Video Ad"
      android:layout_centerInParent="true" />

</RelativeLayout>

输出

Google 移动广告 SDK

将 Google 移动广告 SDK 集成到 Android 应用程序中可让开发人员展示奖励视频广告。通过遵循 SDK 的文档并整合所需的代码,开发者可以轻松整合激励视频广告并在应用内管理其展示,从而利用 Google 广泛的广告网络。

算法

  • 将 Google 移动广告 SDK 导入 Android 项目。

  • 在项目清单中设置必要的权限和依赖项。

  • 初始化移动广告 SDK 并配置激励视频广告单元 ID。

  • 加载激励视频广告并设置事件监听器以跟踪广告生命周期事件。

  • 当用户触发激励操作时,检查广告是否已加载并显示激励视频广告。

  • 处理广告完成事件并向用户提供指定的奖励。

示例

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.google.android.gms.ads.AdError;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.OnUserEarnedRewardListener;
import com.google.android.gms.ads.rewarded.RewardItem;
import com.google.android.gms.ads.rewarded.RewardedAd;
import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback;

public class MainActivity extends AppCompatActivity {

   private RewardedAd rewardedAd;
   private Button showAdButton;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      // Initialize the Mobile Ads SDK
      MobileAds.initialize(this, initializationStatus -> {
      });

      // Load the rewarded video ad
      loadRewardedAd();

      showAdButton = findViewById(R.id.showAdButton);
      showAdButton.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            // Show the rewarded video ad
            showRewardedAd();
         }
      });
   }

   private void loadRewardedAd() {
      AdRequest adRequest = new AdRequest.Builder().build();

      RewardedAd.load(this, "YOUR_AD_UNIT_ID",
            adRequest, new RewardedAdLoadCallback() {
               @Override
               public void onAdLoaded(RewardedAd ad) {
                  rewardedAd = ad;

                  rewardedAd.setFullScreenContentCallback(new FullScreenContentCallback() {
                     @Override
                     public void onAdShowedFullScreenContent() {
                        // Ad showed fullscreen content
                     }

                     @Override
                     public void onAdFailedToShowFullScreenContent(AdError adError) {
                        // Ad failed to show fullscreen content
                     }

                     @Override
                     public void onAdDismissedFullScreenContent() {
                        // Ad dismissed fullscreen content
                        // Preload the next rewarded video ad
                        loadRewardedAd();
                     }
                  });
               }

               @Override
               public void onAdFailedToLoad(LoadAdError loadAdError) {
                  // Rewarded video ad failed to load
                  Log.e("MainActivity", "Rewarded video ad failed to load: " + loadAdError.getMessage());
               }
            });
   }

   private void showRewardedAd() {
      if (rewardedAd != null) {
         rewardedAd.show(this, new OnUserEarnedRewardListener() {
            @Override
            public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
               String rewardType = rewardItem.getType();
               int rewardAmount = rewardItem.getAmount();
               Toast.makeText(MainActivity.this, "Earned " + rewardAmount + " " + rewardType, Toast.LENGTH_SHORT).show();
            }
         });
      } else {
         Log.e("MainActivity", "Rewarded video ad is not ready yet.");
      }
   }
}

输出

AdMob 中介

AdMob 中介让开发者能够展示来自多个广告网络的奖励视频广告。通过集成 AdMob 中介,开发者可以利用 AdMob 作为主要广告网络,同时通过适配器整合其他网络。此方法通过多样化广告来源并利用不同网络的优势来最大化收入潜力。

算法

  • 将 AdMob SDK 集成到 Android 项目中并配置中介设置。

  • 为中介所需的其他广告网络实现适配器。

  • 初始化中介网络 SDK 并配置其各自的广告单元 ID。

  • 使用中介配置加载激励视频广告。

  • 当用户触发激励操作时,检查广告是否已加载并显示激励视频广告。

  • 处理广告完成事件并向用户提供指定的奖励。

示例

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;

public class AdMobMediationExample {
   private RewardedVideoAd rewardedVideoAd;

   public void initializeAdMob() {
      MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
      rewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
      rewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
         @Override
         public void onRewardedVideoAdLoaded() {
            // Rewarded video ad loaded successfully
         }

         // Implement other listener methods for ad events
      });
   }

   public void loadRewardedVideoAd() {
      // Load rewarded video ad from AdMob and other mediated networks
   }

   public void showRewardedVideoAd() {
      if (rewardedVideoAd.isLoaded()) {
         rewardedVideoAd.show();
      } else {
         // Rewarded video ad not loaded
      }
   }

   // Other methods for handling rewards and ad events
}

// Main program
public class Main {
   public static void main(String[] args) {
      AdMobMediationExample example = new AdMobMediationExample();
      example.initializeAdMob();
      example.loadRewardedVideoAd();
      example.showRewardedVideoAd();
   }
}

输出

结论

在本教程中,将 Google AdMob 激励视频广告集成到 Android 应用中为开发者提供了强大的盈利策略,使他们能够在为用户提供引人入胜的广告体验的同时创造收入。

无论是通过 AdMob Native Ads Advanced、Google Mobile Ads SDK 还是 AdMob Mediation,开发者都可以利用 Google 广泛的广告网络并自定义广告实施,以增强其应用的盈利潜力。通过无缝集成激励视频广告,开发者可以在 Android 应用中实现用户满意度和财务成功之间的平衡。


相关文章