android - 点击奖励视频链接没有任何反应?
问题描述
我的应用中有 admob 奖励视频。问题是,当我在文本视图中单击以显示广告时,什么也没有发生。
public RewardedVideoAd mRewardedVideoAd;
MobileAds.initialize(this, "ca-app-pub-3940256099942544/5224354917");
// Use an activity context to get the rewarded video instance.
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
mRewardedVideoAd.setRewardedVideoAdListener(this);
tip.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
loadRewardedVideo();
}
});
和覆盖...
@Override
public void onRewardedVideoAdLoaded() {
System.out.println("Loaded()");
}
@Override
public void onRewardedVideoAdOpened() {
System.out.println("Opened");
}
@Override
public void onRewardedVideoStarted() {
System.out.println("Started");
}
@Override
public void onRewardedVideoAdClosed() {
System.out.println("Closed");
}
@Override
public void onRewarded(RewardItem rewardItem) {
System.out.println("reward");
}
@Override
public void onRewardedVideoAdLeftApplication() {
System.out.println("left");
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
System.out.println("failed");
}
@Override
public void onRewardedVideoCompleted() {
}
private void loadRewardedVideo() {
mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
new AdRequest.Builder().build());
}
我错过了什么?这里有什么问题?谢谢。
输出
I/Ads: This request is sent from a test device.
D/dalvikvm: GC_FOR_ALLOC freed 1654K, 22% free 7281K/9236K, paused 9ms, total 10ms
I/Ads: SDK version: afma-sdk-a-v15000000.15000000.0
D/dalvikvm: GC_FOR_ALLOC freed 1478K, 27% free 6773K/9236K, paused 8ms, total 8ms
D/dalvikvm: GC_FOR_ALLOC freed 1109K, 25% free 6979K/9236K, paused 10ms, total 11ms
D/EGL_emulation: eglMakeCurrent: 0xb7aa9b10: ver 2 0
E/EGL_emulation: tid 1994: eglSurfaceAttrib(1199): error 0x3009 (EGL_BAD_MATCH)
W/HardwareRenderer: Backbuffer cannot be preserved
W/AwContents: nativeOnDraw failed; clearing to background color.
I/ExoPlayerImpl: Init ExoPlayerLib/2.4.2 [generic_x86, Android SDK built for x86, unknown, 19]
I/chromium: [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 589824
D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 98304
D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 98304
D/MetadataUtil: Skipped unknown metadata entry: gsst
Skipped unknown metadata entry: gstd
D/MediaCodecVideoRenderer: FalseCheck [legacyFrameSize, 640x360] [generic_x86, Android SDK built for x86, unknown, 19]
FalseCheck [legacyFrameSize, 640x360] [generic_x86, Android SDK built for x86, unknown, 19]
I/OMXClient: Using client-side OMX mux.
I/SoftAAC2: Reconfiguring decoder: 0->44100 Hz, 0->2 channels
D/dalvikvm: GC_FOR_ALLOC freed 1284K, 25% free 6998K/9236K, paused 16ms, total 16ms
I/System.out: Loaded()
我也在一个真实的设备上进行了测试,也没有任何反应。
解决方案
在我的应用程序上成功运行奖励广告近 1.5 年后,我也试图寻找同样问题的原因。甚至我的帐户也被封锁了,但没有人告诉我早期的奖励库已完全改版。
以下步骤可能仅适用于 Play 商店中的应用程序。
有一个新的奖励广告库和一种新的实施方式。Google 在 inAppBilling 库中引入了 rewardAds,将其与 Admobs 完全分开。你只能在那里看到它的收益。您必须通过 Play 控制台实现它。
- 转到 Play 控制台>您的应用程序>商店状态>奖励产品
- 第一次接受协议。
- 创建任何产品,就像您在此处创建任何其他应用内购买产品一样。
- 请记住,作为奖励产品创建的产品也有 skutype.INAPP 并且必须被消费。
- 像往常一样启动您的计费库并查询购买,包括您的奖励产品 ID 作为消耗品。
- 要加载广告,只需在 queryPurchases 中使用以下内容并启用您的按钮(因为我使用了 View vidbut 的可见性)
for (SkuDetails skuDetails : skuDetailsList) {
if (skuDetails.isRewarded()) {
rewardSkuDetails = skuDetails;
billingManager.queryRewardAsync(skuDetails, new RewardResponseListener() {
@Override
public void onRewardResponse(BillingResult billingResult) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
findViewById(R.id.vidbut).setVisibility(View.VISIBLE);
// Enable the reward product, or make
// any necessary updates to the UI.
}
}
});
}
}
要展示广告,只需启动购买流程,例如
billingManager.initiatePurchaseFlow(rewardSkuDetails, null, BillingClient.SkuType.INAPP);
如果您在设置 billingManager 方面需要更多帮助,您可以在评论中自由提问。我希望它能帮助您实施新的奖励广告。祝你好运!
推荐阅读
- html - 如何将图像放在另一个图像上?
- python - 比较 pandas DataFrame 中的两列并为其中一列填充缺失值
- amazon-ec2 - 如何在亚马逊 EC2 中运行使用 csv 文件的笔记本?
- java - 如何使用 url 类型源在 android 中制作完美的媒体播放器
- php - 如何为每个汽车产品添加“预订按钮”?
- python - Basinhopping_bounds() 得到了一个意外的关键字参数“f_new”
- python - 将每个张量值映射到列表中最接近的值
- php - 如何检查 bash 脚本中安装的 composer 包
- model-view-controller - Kendo Grid MVC 左键单击打开上下文菜单
- python - 如何在 Nexmo 中检索可用的电话号码?