admob 广告代码参考 安卓 奖励视频
2017-12-21 11:45
489 查看
Initialize rewarded video ads
JAVA
KOTLIN
package ... import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.reward.RewardedVideoAd; public class MainActivity extends AppCompatActivity implements RewardedVideoAdListener { private RewardedVideoAd mRewardedVideoAd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713"); // Use an activity context to get the rewarded video instance. mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this); mRewardedVideoAd.setRewardedVideoAdListener(this); } ... }
Note: It's important to use an Activity context instead of an Application context when calling
MobileAds.getRewardedVideoAdInstance().
If your ad placement is configured for medation, this context is passed to mediation adapters, and several adapters require an Activity context to load ads.
A
RewardedVideoAdobject
can be retrieved using
MobileAds.getRewardedVideoAdInstance().
To be notified of rewarded video lifecycle events, you must implement
RewardedVideoAdListener.
The rewarded ad listener is set using the
setRewardedVideoAdListener()method.
This listener is automatically notified of events from all the networks you're mediating. For example, you are notified of a user being rewarded for watching a video through the
onRewarded()method
on
RewardedVideoAdListener.
Request rewarded video ad
Note: Make all calls to the Mobile Ads SDK on the main thread.
JAVA
KOTLIN
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713"); // Use an activity context to get the rewarded video instance. mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this); mRewardedVideoAd.setRewardedVideoAdListener(this); loadRewardedVideoAd(); } private void loadRewardedVideoAd() { mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build()); }
Adhering to the singleton design of
RewardedVideoAd, requests to load an ad should be mRewardedVideoade to the shared instance.
It is highly recommended to call
loadAd()as
early as possible (for example, in the
onCreate()method of your Activity) to allow videos to be preloaded.
Always test with test ads
When building and testing your apps, make sure you use test ads rather than live, production ads. Failure to do so can lead to suspension of your account.The easiest way to load test ads is to use our dedicated test ad unit ID for Android rewarded video:
ca-app-pub-3940256099942544/5224354917
It's been specially configured to return test ads for every request, and you're free to use it in your own apps while coding, testing, and debugging. Just make sure you replace it with your own ad unit ID before publishing your app.
For more information about how the Mobile Ads SDK's test ads work, see Test Ads.
Set up event notifications
The SDK provides the RewardedVideoAdListenerinterface,
which has methods corresponding to the events in a rewarded video ad's lifecycle. Have your app define a class that implements this interface and pass it to
setRewardedVideoAdListenerprior
to loading an ad.
The code example in Initialize rewarded video ads already shows how to
declare that your class implements
RewardedVideoAdListenerand set the listener on the
RewardedVideoAdobject.
Here is a sample implementation of the listener methods:
JAVA
KOTLIN
@Override public void onRewarded(RewardItem reward) { Toast.makeText(this, "onRewarded! currency: " + reward.getType() + " amount: " + reward.getAmount(), Toast.LENGTH_SHORT).show(); // Reward the user. } @Override public void onRewardedVideoAdLeftApplication() { Toast.makeText(this, "onRewardedVideoAdLeftApplication", Toast.LENGTH_SHORT).show(); } @Override public void onRewardedVideoAdClosed() { Toast.makeText(this, "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show(); } @Override public void onRewardedVideoAdFailedToLoad(int errorCode) { Toast.makeText(this, "onRewardedVideoAdFailedToLoad", Toast.LENGTH_SHORT).show(); } @Override public void onRewardedVideoAdLoaded() { Toast.makeText(this, "onRewardedVideoAdLoaded", Toast.LENGTH_SHORT).show(); } @Override public void onRewardedVideoAdOpened() { Toast.makeText(this, "onRewardedVideoAdOpened", Toast.LENGTH_SHORT).show(); } @Override public void onRewardedVideoStarted() { Toast.makeText(this, "onRewardedVideoStarted", Toast.LENGTH_SHORT).show(); }
Display an ad
JAVA
KOTLIN
if (mRewardedVideoAd.isLoaded()) { mRewardedVideoAd.show(); }
We recommend that you ensure a rewarded video ad has completed loading before attempting to display it. The
isLoaded()method
indicates if the rewarded video ad request has been successfully fulfilled.
Forward lifecycle events
To forward the parent Activity's lifecycle events to the RewardedVideoAdobject, call the
resume(),
pause(),
and
destroy()methods in the parent Activity's
onResume(),
onPause(),
and
onDestroy()methods respectively.
Here is an example of Activity lifecycle event forwarding:
JAVA
KOTLIN
@Override public void onResume() { mRewardedVideoAd.resume(this); super.onResume(); } @Override public void onPause() { mRewardedVideoAd.pause(this); super.onPause(); } @Override public void onDestroy() { mRewardedVideoAd.destroy(this); super.onDestroy(); }
Additional resources
Samples on GitHub
Rewarded Video sample app: Java | Kotlin
Mobile Ads Garage video tutorials
Rewarded Video ImplementationRewarded Video in Unity
Codelab
Add Rewarded Video Ads to yourAndroid App
Next steps
Create your own rewarded video ad unit in the AdMob UI.Try another ad format:
Interstitials
Banners
Native Express
相关文章推荐
- admob 广告代码参考 iOS 奖励视频
- admob 广告代码参考 安卓 弹窗广告
- admob广告代码参考 安卓 banner广告
- admob 广告代码参考 iOS 弹窗广告
- admob 广告代码参考 iOS banner广告
- 游戏中集成unity admob视频广告中文教程
- COCOS2D-X编译成安卓APP添加友盟统计和百度广告的代码示例
- 如何测试您的AdMob奖励广告?
- 安卓反编译smali代码注入第三方广告
- COCOS2D-X编译成安卓APP添加友盟统计和百度广告的代码示例
- 利用短代码插入无广告视频
- 微信端用原生代码实现视频播放(苹果手机与安卓手机有点差异)
- 求安卓版网络视频播放器代码,仿腾讯视频,但要简单很多,求帮助!
- Unity3d在IOS与安卓系统接入Admob广告教程
- 安卓开发文件缓存方法的具体实现(参考代码)
- 各大视频网站广告屏蔽代码
- 巧用插件及代码实现VIP视频源码分析观看(基于油猴插件及各大接口网站)【PC以及安卓】
- 使用AdMob奖励视频点播和中介的三大理由
- 安卓视频播放器 一行代码快速实现在线视频播放,Android视频播放,AndroidMP3播放,安卓视频播放一行代码搞定
- 安卓APP无法显示admob谷歌广告,显示Received error HTTP response code: 400