您的位置:首页 > 编程语言

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
RewardedVideoAd
object
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
RewardedVideoAdListener
interface,
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
setRewardedVideoAdListener
prior
to loading an ad.

The code example in Initialize rewarded video ads already shows how to
declare that your class implements
RewardedVideoAdListener
and set the listener on the
RewardedVideoAd
object.
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
RewardedVideoAd
object, 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 Implementation
Rewarded Video in Unity


Codelab

Add Rewarded Video Ads to your
Android App


Next steps

Create your own rewarded video ad unit in the AdMob UI.
Try another ad format:

Interstitials
Banners
Native Express
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  admob