我的应用中有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()
我也在真实设备中进行了测试,也没有任何反应。
答案 0 :(得分:1)
在我的应用程序上成功投放奖励广告近1.5年之后,我还试图搜索相同问题的原因。甚至我的帐户都被封锁了,但是没有人告诉我,早期的rewardad库已完全改头换面。
以下步骤仅适用于Play商店中的应用程序。
有一个新的奖励广告库和一种新的实现方式。 Google已将rewardAds置于inAppBilling库下,从而将其与Admobs完全分开。您只能在此处看到其收入。您必须通过Play控制台实施它。
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。祝你好运!