点击奖励视频 link 没有任何反应?
on click reward videos link nothing happens?
我的应用程序中有 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 年之后,我也在尝试寻找同样问题的原因。甚至我的帐户都被封锁了,但没有人告诉我早期的 rewardad 库已经完全改版了。
以下步骤可能仅适用于 Play 商店中的应用程序。
有一个新的奖励广告库和一种新的实现方式。 Google 已将 rewardAds 置于 inAppBilling 库中,将其与 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 方面需要更多帮助,可以在评论中自由提问。
我希望它能帮助您实施新的 RewardAds。祝你好运!
我的应用程序中有 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 年之后,我也在尝试寻找同样问题的原因。甚至我的帐户都被封锁了,但没有人告诉我早期的 rewardad 库已经完全改版了。
以下步骤可能仅适用于 Play 商店中的应用程序。
有一个新的奖励广告库和一种新的实现方式。 Google 已将 rewardAds 置于 inAppBilling 库中,将其与 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 方面需要更多帮助,可以在评论中自由提问。 我希望它能帮助您实施新的 RewardAds。祝你好运!