如何在奖励广告中添加onAdClick回调AdMob-Android
我正在尝试在我的应用程序中实现广告。我查阅了官方文档,并在我的应用程序中插入了广告。它工作得很好 我也知道,如果有恶意用户一次又一次点击我的广告,admob将阻止我的admob帐户。为了保护这一点,我设置了3次点击的阈值,即如果用户试图在一天内点击我的广告超过3次,我将在接下来的48小时内不显示广告。因此,为了在间隙式广告中实现此功能,我在间隙式广告中使用onAdClick()回调 但是,当我尝试用奖励广告实现同样的事情时,我发现他们没有这样的回调,可以帮助我检测奖励广告上的点击如何在奖励广告中添加onAdClick回调AdMob-Android,android,admob,ads,Android,Admob,Ads,我正在尝试在我的应用程序中实现广告。我查阅了官方文档,并在我的应用程序中插入了广告。它工作得很好 我也知道,如果有恶意用户一次又一次点击我的广告,admob将阻止我的admob帐户。为了保护这一点,我设置了3次点击的阈值,即如果用户试图在一天内点击我的广告超过3次,我将在接下来的48小时内不显示广告。因此,为了在间隙式广告中实现此功能,我在间隙式广告中使用onAdClick()回调 但是,当我尝试用奖励广告实现同样的事情时,我发现他们没有这样的回调,可以帮助我检测奖励广告上的点击 有人能帮我实现
有人能帮我实现这个功能吗。还有别的办法吗?请帮我从这个场景中走出来。如果无法保护我的admob帐户免受恶意用户攻击,我可以做些什么?方法1 这里有可用于奖励广告检查的遗留API以获取更多信息 那么它是如何工作的呢?检查下面的代码
public class MainActivity extends AppCompatActivity {
private RewardedVideoAd mRewardedVideoAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRewardedVideoAd= MobileAds.getRewardedVideoAdInstance(this);
mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",new AdRequest.Builder().build()); // You need to pass your rewared video ad Id here...
mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
@Override
public void onRewardedVideoAdLoaded() {
}
@Override
public void onRewardedVideoAdOpened() {
}
@Override
public void onRewardedVideoStarted() {
}
@Override
public void onRewardedVideoAdClosed() {
}
@Override
public void onRewarded(RewardItem rewardItem) {
//Reward your user here....
Toast.makeText(MainActivity.this, "Congrats you got reward", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdLeftApplication() {
//User clicked on ad here write your caching code here....
Toast.makeText(MainActivity.this, "Clicked on Ad", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
}
@Override
public void onRewardedVideoCompleted() {
}
});
findViewById(R.id.my_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mRewardedVideoAd.isLoaded()) {
mRewardedVideoAd.show();
} else {
Toast.makeText(MainActivity.this, "Please Wait..", Toast.LENGTH_SHORT).show();
}
}
});
}
}
优点使用这种方法:它完成了你的工作,你可以在点击广告时得到回扣
Cons谷歌推荐新的RewardedAPI…(尽管传统API仍然可以正常工作…)
为什么谷歌推荐新的奖励而不是传统
新的API是对传统API的改进,因为
缺点:它不能解决您的问题…很抱歉,但是当向用户显示广告时,总是调用onRewardedOpened()。它并没有要求实际点击广告。谷歌似乎对新奖励广告中的欺诈点击负责,这也是他们没有为开发者提供任何检查点击的方式的唯一原因。所以,我只是想让谷歌追踪欺诈行为,我将只关注我的主应用程序。我只是想知道,这种方法是否存在暂停admob帐户的风险?@Ankush我找到了另一种方法。。。对于这一点,我将更新我的答案与。。。20分钟后检查首先,我也检查了文档。正如文档中所述,当用户离开活动并打开任何其他应用程序时,将调用此方法。所以,如果用户按下home按钮,或者从通知中打开应用程序等,可以调用它。这不是解决问题的确切解决方案。其次,你是对的!谷歌建议我们使用新的API。这是因为,新API几乎没有旧API没有的函数。我还使用了它的一个功能(奖励广告服务器端验证),所以不能使用旧的API。虽然我没有检查单击通知,但..我检查了单击主页按钮,它没有触发OnlieftApplicationAnkush,我已再次更新我的答案检查一次。。。