How to check if there are Chartboost Rewarded Ads available to display? - ios

In my Swift iOS game I have a button that I show after the player loses, this button shows a rewarded ad from Chartboost.
The problem is that sometimes, i get an error on ad retrieval (error code 6) which is "No Ad Available". So i'm running out of ads for my region, i don't know why. Sometimes i'm able to watch 2-3 ads and that's all i can watch per day.
So when im running out of ads, the button still stays there of course, but does nothing. It might be confusing for the users to press the button and not see anything happening.
So i wanted to check if there are ads available, just hide the button.
The method i'm using to check if there is an ad available is:
Chartboost.hasRewardedVideo(CBLocationDefault)
But this somehow, is returning always false, no matter what CBLocation I use.
And I trigger the showAd() like this:
Chartboost.showRewardedVideo(CBLocationDefault)
Any suggestion?
Thanks.

What region are you currently located in? Chartboost might have some trouble filling ad requests if you happen to be located in a country like Pakistan or Thailand. It may be a simple case of not having enough advertisers in your area that meet your publishing criteria.
Also, are you trying to show an ad right away on your application's bootup or is it ingame somewhere?

Related

How to stop showing AdMob banner ad correctly?

I am building an app which will display AdMob banner ad, and when user successfully purchased an IAP item, the banner ad will never show up again, and the screen area originally occupied by the banner ad will be used by the app real functions.
The question is how to dismiss the bannerView or does not init it on the next launch up? And how to insure AdMob Sdk will never refresh the ad content in the background?
I think we cannot just hide the bannerView with just a statement:
bannerView.isHidden = true
And, as we know, AdMob SDK use IDFA. But Apple will deny an app which use IDFA but not showing Ads.
Google has guides on how to show up ads, but I cannot find information about how to stop showing ads from Google.
How to get this problem out?
The question is how to dismiss the bannerView or does not init it on
the next launch up? And how to insure AdMob Sdk will never refresh the
ad content in the background?
There are multiple ways to do this. One way I can think of is to add multiple targets in your Xcode project.
And the easier way, the more practical way - at least for me, is to prevent the requests for ads through GADRequest().
You can even do this even in AppDelegate, when setting Ids to your SDK.
That's it. You may also set nil to the delegate property of your bannerView.
And like what you've mentioned, just hide the bannerView's container, and everything should be perfect. I've worked on lots of applications with Admob, and I believe there should be no problem doing this approach.

Does AdMob know if an ad is not visible?

I am implementing AdMob into my app. My banner is inside a UIView that is set to alpha 0.0. When the user wants to search, it fades in.
Does Google Ad Services know whether the ad is hidden and would it count as an impression? I don’t want to break any rules but I can’t find any info about this.
I have not had any problems so far, and it seems that there is code implemented to detect this. So an ad on a hidden view should not cause any problems with the AdMob account as it won't count impressions while hidden.

Show ad after certain amount of interactions

I own a simple soundboard app, which basically plays a song when a button is pushed.
I wanted to know, if it was possible to show an ad after a certain amount of user interactions.
e.g when 20 sounds have been played, a fullscreen ad would pop-up.
I've integrated RevMob in to my app, if that makes any differences :)
Thanks!
As far as I know, with any ad provider (including RevMob), you have pretty decent control on when an ad should appear.
For RevMob, I see you can call "[[RevMobAds session] showFullscreen];" when you want to show a full screen ad (or RevMobAds.session().showFullscreen(); if you're using Swift -- you didn't specify).
So just add a counter property in your view controller and increment the number of user interactions you want to keep track of and then show the full screen ad when you're ready.

How do I put Admob interstitials on a timer for ios?

I am trying to implement Admob interstitials into my Xcode project and I want to set it so an ad pops up every 70 seconds or so while a user is using the app. If anyone could explain how to do this, or respond with a link to a guide it would be much appreciated.
Load the ad when starting the app/activity/scene. Keep a timer of 70 seconds after which show the ad.
The ad will be displayed. If user presses it or cancels it, in both cases you will have to create new adRequest for the ad to be shown after 140 seconds. Maybe you can have a loop. But i am not sure this is the recommended way to use interstitials. I think they should be shown once during one screen. Show it at a stage when the user will definitely read the ad.

Setting up full page ads

I am using Admob Mediation service with an Interstitial ad type for a full page ad.
Documentation here: https://developers.google.com/mobile-ads-sdk/docs/admob/advanced#ios
I am trying to replicate the full page ad setup in Words with Friends and other game apps. Where the full screen ad is shown then a delayed close button is shown. Can this be completed with the above setup?
In an ideal world I would like to delay the close button being shown and also randomly place the close button in one of the four corners.
Yes, the setup displayed in the GADInterstitial documentation should create and display an interstitial ad such as you describe. You shouldn't have to do anything special to make the close box show up after a delay -- that's something that the ad will implement if it's what the advertiser wants. Just follow the directions in the docs -- wait for the ad to finish loading, and then call:
[interstitial_ presentFromRootViewController:self];
(Substitute your own variable name if you use something other than interstitial_, of course).
In an ideal world I would like to delay the close button being shown and also randomly place the close button in one of the four corners.
You shouldn't try to control the placement or display of ad controls like the close button. Again, the ad itself will manage that. I'm sure your goal is to increase your app's click-through rate, or more generally to maximize your advertising income. But there's a reason beyond ease of use that ad networks make their SDK's very simple to integrate: they don't want you to mess with the way ads are displayed. At all. Not even a little bit.
You can add a timer that creates and adds a button to your view after x-time

Resources