iOS Question Not getting any Ad's (Admob)?

ilan

Expert
Licensed User
Longtime User
i have implemented in my latest b4i app admob as i did always but for some reason i dont get any ads.
if i use testdeviceid i do get ads but not without it.

is it maybe related to this (see Post #5 by erel):

do i need to add those lines to my app?

thanx, ilan
 

tufanv

Expert
Licensed User
Longtime User
I dont think it is related to ios 14 changes. Did you try with an unrelated app with the store version if it is getting ads ? I am having a similar issue, the device is somehow regitered as a test device, even if I dont enable test mode, I dont get any ads. but after you uplaod it to store and test with another unrelated device, it shows ads.
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
I dont think it is related to ios 14 changes. Did you try with an unrelated app with the store version if it is getting ads ? I am having a similar issue, the device is somehow regitered as a test device, even if I dont enable test mode, I dont get any ads. but after you uplaod it to store and test with another unrelated device, it shows ads.

thanx tufan, i also thought about that. maybe you are right. I have uploaded it to the store yesterday and it was approved (less than 1 hour). I will try it on a different device and see if it shows ads. maybe my phone is also triggered as a test device or "app owner" device and that's why it doesn't show any ads but the funny thing is that in all other of my apps I do get ads without any problems.
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
ok just tested and it doesnot show any ads. i will need to check it out when i get home.
maybe it needs more time to start getting ads?

TestDeviceid it works fine but without not. :(
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
Is the FailToReceiveAd event raised? What is the error message?

i didnot noticed that there is a "FaildToReceiveAd". i am using this event:

B4X:
Sub iad_Ready (Success As Boolean)
   Log("Success")
End Sub

what i get is always False. If i set a test device i get the ads.
if i change the app package name to another app from me and use their provisions file then ads are showing even with the same ad id so there is nothing wrong with the code.

can it be that because it is a new app it can take few days until ads will be shown?

in AdMob i also see the requests that i send from the app but no ads are shown.

1608020813579.png


EDIT: the 1 impression is the 1 time i used the ad id with another package name. when i get back to my pc i will add the "FaildToReceiveAd" to check the logs and post them here. thanx erel


Google:

Why Admob match rate low?
Your apps may experience less demand from Google while we evaluate your traffic quality. This can occur for up to one week after a new app or ad unit is created. If you're still having issues, use the Can't see ads troubleshooter or check out the Google AdMob Help Community. ...
 
Last edited:
Upvote 0

tufanv

Expert
Licensed User
Longtime User
i didnot noticed that there is a "FaildToReceiveAd". i am using this event:

B4X:
Sub iad_Ready (Success As Boolean)
   Log("Success")
End Sub

what i get is always False. If i set a test device i get the ads.
if i change the app package name to another app from me and use their provisions file then ads are showing even with the same ad id so there is nothing wrong with the code.

can it be that because it is a new app it can take few days until ads will be shown?

in AdMob i also see the requests that i send from the app but no ads are shown.

View attachment 104420

EDIT: the 1 impression is the 1 time i used the ad id with another package name. when i get back to my pc i will add the "FaildToReceiveAd" to check the logs and post them here. thanx erel


Google:
it is generally not the case, new generated ads generally started to show in 30 minutes.
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
it is generally not the case, new generated ads generally started to show in 30 minutes.

i will check the logs in the FailToReceiveAd event as Erel suggested and see what it says. it is really weird, if i use a different ad id it is also not working, if i use a different package name for the same app it is working fine. it's like the app is still not registered for AdMob or something like this, i don't know. will see what the logs say.

thanx
 
Upvote 0

tufanv

Expert
Licensed User
Longtime User
i will check the logs in the FailToReceiveAd event as Erel suggested and see what it says. it is really weird, if i use a different ad id it is also not working, if i use a different package name for the same app it is working fine. it's like the app is still not registered for AdMob or something like this, i don't know. will see what the logs say.

thanx
It will probably give you error no 3 - no ads to show but yes if you can check failedtorecieve logs, it will be better
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
Is the FailToReceiveAd event raised? What is the error message?

ok so i remembered correctly, the InterstitialAd has only 1 event

B4X:
Sub iad_Ready (Success As Boolean)
    Log(Success)
End Sub

the adview has a FailToReceiveAd event but i dont use any adview in my app only interstitial ad.
anyway i create a banner and added an adview to my app only to see if it works and what i get in the logs is this:

Error Domain=com.google.admob Code=1 "Request Error: No ad to show." UserInfo={NSLocalizedDescription=Request Error: No ad to show., gad_response_info=<GADResponseInfo: 0x2812183f0>}

 
Last edited:
Upvote 0

ilan

Expert
Licensed User
Longtime User
btw if i set:

B4X:
iad.SetTestDevices(Array("5dec977df6729bbbd3e80exxxxxxxxx")) 'TEST

then everything works and from i read if you receive ads with a test device set then everything is fine with your code. this is what i read today in AdMob community.
they say it may be because of a new app or new ad unit but i never had to wait more than a few hours after everything started to work.

EDIT: i also need to mention that in my admob console if i want to connect the ad unit to my app in the store i need to put the name or id or my dev name and choose the app from the list. but on new added apps it takes few days until the app appears in the list. until now admob still cannot find it. this is normal in all of my apps it took a while until the app appeared in the list but still ads were working not like now :)

1608058692811.png
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
You are correct about the interstitial events. You can however see the error message with:
B4X:
Sub iad_Ready (Success As Boolean)
    If Success Then
        Log("iad is ready.")
        'iad.Show(Page1)
    Else
        Log("Failed to load full screen ad: " & LastException)
    End If
End Sub

The "no fill" error usually resolves automatically after a few days.
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
ok thanx erel, so you suggest to wait few days? or should i check what the LastException returns and post it here?
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
btw according to admob there are more events for interstitial ads:


B4X:
/// Tells the delegate an ad request succeeded.
- (void)interstitialDidReceiveAd:(GADInterstitial *)ad {
  NSLog(@"interstitialDidReceiveAd");
}

/// Tells the delegate an ad request failed.
- (void)interstitial:(GADInterstitial *)ad
    didFailToReceiveAdWithError:(GADRequestError *)error {
  NSLog(@"interstitial:didFailToReceiveAdWithError: %@", [error localizedDescription]);
}

/// Tells the delegate that an interstitial will be presented.
- (void)interstitialWillPresentScreen:(GADInterstitial *)ad {
  NSLog(@"interstitialWillPresentScreen");
}

/// Tells the delegate the interstitial is to be animated off the screen.
- (void)interstitialWillDismissScreen:(GADInterstitial *)ad {
  NSLog(@"interstitialWillDismissScreen");
}

/// Tells the delegate the interstitial had been animated off the screen.
- (void)interstitialDidDismissScreen:(GADInterstitial *)ad {
  NSLog(@"interstitialDidDismissScreen");
}

/// Tells the delegate that a user click will open another app
/// (such as the App Store), backgrounding the current app.
- (void)interstitialWillLeaveApplication:(GADInterstitial *)ad {
  NSLog(@"interstitialWillLeaveApplication");
}

should be possible to implement it in b4i.
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
You should of course check the error message.

ok so i checked with the old Mobile Ad Framework i had on my mac and i got the same error as i posted above:

Error Domain=com.google.admob Code=1 "Request Error: No ad to show." UserInfo={NSLocalizedDescription=Request Error: No ad to show., gad_response_info=<GADResponseInfo: 0x2812183f0>}

then i have uploaded the new framework you posted above and now i get also the same error but i got 3 more errors:

Application_Start
<Google> To get test ads on this device, set: GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers = @[ @"5dec977df6729bbbd3e80e4xxxxxxx" ];
Application_Active
itiled: 510 : 1080
Class (b4i_xml2map) instance released.
false
Failed to load full screen ad: <B4IExceptionWrapper: Error Domain=com.google.admob Code=1 "Request Error: No ad to show." UserInfo={NSLocalizedDescription=Request Error: No ad to show., gad_response_info= ** Response Info **
Response ID: (null)
Network: (null)
** Mediation line items **
}>

responce ID: (null)
Network: (null)
** Mediation line items **
??? what does it mean?

thanx
 
Upvote 0
Top