I am trying to release a new version of my app.
The older version can still display ads, but my newer version (release build, not debug)
cannot show ads. I am getting the following error:
2020-03-03 01:54:42.351 7098-7098/? I/Ads: Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("457B729F085881806B918663EF07468C") to get test ads on this device.
2020-03-03 01:54:42.442 3275-7238/? W/Ads: App does not have the required permissions to get location
2020-03-03 01:54:42.517 3275-7485/? I/Ads: SDK version: afma-sdk-a-v20088999.19649000.1
2020-03-03 01:54:43.174 7098-7098/? I/Ads: Ad failed to load : 3
Any way to tell the Admob SDK that the current build is a release build?
one more step you can do,
as you see in your log this code Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("457B729F085881806B918663EF07468C") to get test ads on this device.
with your device id is: 457B729F085881806B918663EF07468C
now before intilization you can add the following:
RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("457B729F085881806B918663EF07468C")).build();
MobileAds.setRequestConfiguration(configuration);
any body else reading this solution should change the device ID.
reference here
Short answer: just wait for some hours till people start downloading and using the app.
Actually the log messages don't mean that I had to run test ads. It seems admob was not just showing ads until some people downloaded my app and started using it.
Once I published the update, I had to wait for 6-7 hours after which ads started showing.
Related
So I was working with AdMob and implemented a Banner and Interstitial ad. Waited more than a day but ads are not showing. It says failed to load ad : 3
The log:
12-17 19:20:33.680 16280-16512/in.shantanupatil.wamanagement I/Ads: App measurement is starting up, version: 13001
To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
12-17 19:20:33.825 16280-16280/in.shantanupatil.wamanagement
D/DynamitePackage: Instantiating
com.google.android.gms.ads.ChimeraMobileAdsSettingManagerCreatorImpl
12-17 19:20:35.376 16280-16280/in.shantanupatil.wamanagement D/WebView:
addJavascriptInterface=googleAdsJsInterface
12-17 19:20:35.899 16280-16466/in.shantanupatil.wamanagement W/Ads: Got on
activity created
12-17 19:20:37.642 16280-16466/in.shantanupatil.wamanagement W/Ads: Got on
activity created
12-17 19:20:40.721 16280-16466/in.shantanupatil.wamanagement W/Ads: Got on
activity created
12-17 19:20:40.904 16280-16280/in.shantanupatil.wamanagement I/Ads: Use
AdRequest.Builder.addTestDevice("34A6512246BC64A9B8DC766FD114D5D5") to get
test ads on this device.
12-17 19:20:41.056 16280-16802/in.shantanupatil.wamanagement W/Ads: Invoke
Firebase method getInstance error.
12-17 19:20:41.057 16280-16802/in.shantanupatil.wamanagement W/Ads: The
Google Mobile Ads SDK will not integrate with Firebase. Admob/Firebase
integration requires the latest Firebase SDK jar, but Firebase SDK is either
missing or out of date
12-17 19:20:42.357 16280-16280/in.shantanupatil.wamanagement I/Ads: Ad
failed to load : 3
The code I used to
private AdView adView;
adView = (AdView) findViewById(R.id.detail_draft_admob);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
The gradle I have included
implementation 'com.google.android.gms:play-services-ads:17.1.1'
Also, I added the app id in the manifest. The add seems not to work. What am I doing wrong?
Check this link it's not your fault.
I have same problem and it's solution is increase you app user so send ad request to admob and show your ad.
It's rule is latest rule and admob privacy make strong so apply this rule
Before 2017 it's rule is not so ad show is work fine, but right now first to send some ad request than ad show
I hope solve your question.
When apps are newly registered with AdMob, it takes some time and a few ad requests to allow inventory to build. Because of this, you may not see live impressions immediately.
I think.. maybe it's not your fault.
AdMob has some problem since a few months ago.
reference below links.
Many people are having the same problem. (Even AdMob seems to think they have a problem.)
https://groups.google.com/forum/#!topic/google-admob-ads-sdk/rTfuhBjGkpc
https://productforums.google.com/forum/#!msg/google-admob-help-forum/8oc3pebOrFw/EicKPpUVDgAJ
I'm using Google Play Services ads-lite v.9.2.1.
When requesting Admob ads, the following is written to logcat:
W/DynamiteLoaderImpl(): Failed to load module version: module com.google.android.gms.piccard.dynamite not found
D/GmsModuleFndr(): Staging file APK's and updating chimera config...
D/GmsModuleFndr(): Staging file APKs completed
W/DynamiteLoaderImpl(): Failed to load module version after staging: module com.google.android.gms.piccard.dynamite not found
W/DynamiteModule(): Local module descriptor class for com.google.android.gms.piccard.dynamite not found.
I/DynamiteModule(): Considering local module com.google.android.gms.piccard.dynamite:0 and remote module com.google.android.gms.piccard.dynamite:0
E/AppStreamingHelper(): No acceptable module found. Local version is 0 and remote version is 0.
Test ads load and display fine.
Is that module com.google.android.gms.piccard.dynamite needed for live ads?
It is against AdMob policy to click on your own live ads. During development and testing, use test ads. If you do need to render live ads before launch, avoid clicking on them. If you click on live ads, your AdMob account may be suspended. For more information, review the AdMob policies and learn more about invalid activity.
Google treats invalid activity very seriously, analyzing all clicks and impressions to determine whether they fit a pattern of use that might artificially drive up an advertiser's costs or a publisher's earnings. If we determine that an AdMob account might pose a risk to our advertisers, we may disable that account to protect our advertisers' interests.
Publishers disabled for invalid activity or violating our policies may not be allowed any further participation in other Google publisher monetization solutions.
I have an issue with Firebase Analytics. It basically boils down to the fact that nothing is registered; I have no data in my analytics page in the console.
I noticed today that when I want to send a push notification and I set a filter for the version number of my app, it shows "No versions available for this app". However, my iOS version of the app IS showing a version number in the dropdown list.
Does anyone have an idea what the issue is?
Some other issues I'm still experiencing:
"Firebase API initialization failure." IncompatibleClassChangeError ContextCompat.getNoBackupFilesDir() -> InvocationTargetException
Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor"
Many thanks in advance.
the failed to load is not the problem, i have it too when using firebase-invites and i found this (Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor")
the "Firebase API initialization failure." IncompatibleClassChangeError ContextCompat.getNoBackupFilesDir() -> InvocationTargetException
was fixed by updating the google services in the device
I am using Eclipse and I try to show ads via the Facebook Audience Network. I have added the "AudienceNetwork.jar" from the official Facebook SDK, and the "FacebookAdapter.jar" from the AdMob Mediation Networks.
I should mention that I monetize via the AdMob and do not use proguard.
My problem is that when I try to load ads, I get the following error:
02-19 20:07:35.315: I/Ads(23957): Instantiating mediation adapter: com.google.ads.mediation.facebook.FacebookAdapter
02-19 20:07:35.316: I/dalvikvm(23957): Failed resolving Lcom/google/ads/mediation/facebook/FacebookAdapter; interface 1798 'Lcom/google/android/gms/ads/mediation/MediationInterstitialAdapter;'
02-19 20:07:35.316: W/dalvikvm(23957): Link of class 'Lcom/google/ads/mediation/facebook/FacebookAdapter;' failed
02-19 20:07:35.316: W/Ads(23957): Could not instantiate mediation adapter: com.google.ads.mediation.facebook.FacebookAdapter. com.google.ads.mediation.facebook.FacebookAdapter
According to this and this post, this should happen only if I used proguard, which I don't.
Does anyone has a suggestion on why this happens?
And why doesn't the Facebook itself have any documentation on how to integrate the Audience Network via AdMob, since the first is supported by the latter one? :-)
It doesn't look like com/google/ads/mediation/facebook/FacebookAdapter is contained within your APK. Check your APK, your build process, how you have added the FacebookAdapter library and the contents of the FacebookAdapter library itself.
I tried with a banner ad. Wanted to load ads from Facebook Audience Networrk through Admob mediation when I ended up with the same error.
Please make sure you added the Google Play Services Lib to your build path and check if your version of the Google Play Services Lib contains the MediationInterstitialAdapter.class and the MediationNativeAdapter.class. Mine did not (still working with eclipse) and so the FacebookAdapter was searching for a class that was not there.
After updating to a newer version (links here: How to download older google play services?) the mediation now works fine for me. :)
I tried to upgrade my implementation of AdMob. Using the GoogleAdMobSDK, I would like to turn into the google-play-services-lib.
The ad appears. So it seems ok, but I still got this error at the method call loadAd() in log
Requesting resource 0x7f0c000d failed because it is complex
GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
Here's my checklist:
I import the library project in my workspace, copying the source.
I reference the library into my project
I add the meta-data in the Manifest
<meta-data android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
My code
this.request = new AdRequest.Builder().addTestDevice(id).build();
this.adView = new AdView(context);
this.adView.setAdUnitId(MY_AD_UNIT_ID);
this.adView.setAdSize(AdSize.SMART_BANNER);
...
this.adView.loadAd(request);
The target version for my app in 9 (2.3). I test on Nexus 5 with KitKat version.
I also tried to put the google-play-services-lib jar in the properties, but no result.
I want to be sure that this error could be handle before submit my app.
This is a benign error with the current version of Google Play Services.
Don't worry about it. Submit your app. Get some sleep.