简体   繁体   English

如何使用admob在Android中集成奖励视频广告?

[英]How to integrate rewarded video ad in android using admob?

I want to add rewarded video ad in my android project using admob , i monetized my android app with rewarded video. 我想在我的Android项目中使用admob添加奖励视频广告,我通过奖励视频将我的Android应用程序货币化。 I followed this link integrate rewarded video ad 我按照这个链接整合了奖励视频广告

Here is mainActivity code: 这是mainActivity代码:

public class MainActivity extends AppCompatActivity implements RewardedVideoAdListener {
private RewardedVideoAd mAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mAd = MobileAds.getRewardedVideoAdInstance(this);
    mAd.setRewardedVideoAdListener(this);

}

private void loadRewardedVideoAd() {
 mAd.loadAd(String.valueOf(R.string.ad_key), new AdRequest.Builder().addTestDevice("device id").build());
    Toast.makeText(this, "called", Toast.LENGTH_SHORT).show();

}
public void load(View view){
    loadRewardedVideoAd();
}


@Override
public void onRewardedVideoAdLoaded() {
    if (mAd.isLoaded()) {
        Toast.makeText(this, "is Loaded", Toast.LENGTH_SHORT).show();
        mAd.show();
    }else{
        Toast.makeText(this, "failed", Toast.LENGTH_SHORT).show();

    }
    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();
}

@Override
public void onRewardedVideoAdClosed() {
    Toast.makeText(this, "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show();
}

@Override
public void onRewarded(RewardItem reward) {
    Toast.makeText(this, "onRewarded! currency: " + reward.getType() + "  amount: " +
            reward.getAmount(), Toast.LENGTH_SHORT).show();
}

@Override
public void onRewardedVideoAdLeftApplication() {
    Toast.makeText(this, "onRewardedVideoAdLeftApplication",
            Toast.LENGTH_SHORT).show();
}

@Override
public void onRewardedVideoAdFailedToLoad(int i) {

}
@Override
public void onResume() {
    mAd.resume(this);
    super.onResume();
}

@Override
public void onPause() {
    mAd.pause(this);
    super.onPause();
}

@Override
public void onDestroy() {
    mAd.destroy(this);
    super.onDestroy();
}
}

Here is my permissions: 这是我的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

when i run my code it shows 当我运行我的代码它显示

02-28 18:30:19.573 21418-21429/mainscreen.udeveloper.com.rewardedvideo W/Ads: There was a problem getting an ad response. 02-28 18:30:19.573 21418-21429 / mainscreen.udeveloper.com.rewardedvideo W / Ads:收到广告回复时出现问题。 ErrorCode: 1 ErrorCode:1

02-28 18:30:19.583 21418-21418/mainscreen.udeveloper.com.rewardedvideo W/Ads: Failed to load ad: 1 02-28 18:30:19.583 21418-21418 / mainscreen.udeveloper.com.rewardedvideo W / Ads:无法加载广告:1

I search lot on google for rewarded video ad tutorial but i did not found any tutorial please help me. 我在谷歌上搜索了很多奖励视频广告教程,但我没有找到任何教程请帮助我。 If i should use another rewarded video ad network please guide me good tutorial. 如果我应该使用另一个奖励视频广告网络,请指导我很好的教程。

I search lot on google for rewarded video ad tutorial but i did not found any tutorial please help me. 我在谷歌上搜索了很多奖励视频广告教程,但我没有找到任何教程请帮助我。

Literally Admob has it's own tutorial 从字面上看,Admob有它自己的教程

Call loadRewardedVideoAd(); 调用loadRewardedVideoAd(); on onCreate method. on onCreate方法。

Use this Id for Testing : - ca-app-pub-4824494878097656/8403117409

package com.safal.bhatia;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

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

public class Demo extends AppCompatActivity implements RewardedVideoAdListener {

    private RewardedVideoAd mRewardedVideoAd;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo);
rewardAds();
    }
    private void rewardAds() {
        mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
        mRewardedVideoAd.setRewardedVideoAdListener(this);
        loadRewardedVideoAd();
    }

    private void loadRewardedVideoAd() {
        mRewardedVideoAd.loadAd("ca-app-pub-4824494878097656/8403117409",//use this id for testing
                new AdRequest.Builder().build());

    }

    @Override
    public void onRewarded(RewardItem reward) {
        Toast.makeText(this, "Download to Earn" + 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();
        if (mRewardedVideoAd.isLoaded()) {
            mRewardedVideoAd.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();`enter code here`
    }

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM