Impressions are there but no revenue !!

Hi

I have developed couple of games in unity engine 5.5. And has used unityads, admob ads and chartboost ads.

Please look into below code:

void Awake(){
if (PlayerPrefs.GetInt (“noAdGamePurchased”) != 1 || PlayerPrefs.GetInt (“unlimitedVersionPurchased”) != 1) {
Advertisement.Initialize (gameID, true);

int x = PlayerPrefs.GetInt (“adRound”);
switch (x) {
case 0:
StartAppWrapper.loadAd ();
break;
case 1:
generateGoogleVideoAds ();
break;
case 2:
Chartboost.cacheInterstitial (CBLocation.LevelComplete);
break;
case 3:
Chartboost.cacheRewardedVideo (CBLocation.LevelComplete);
break;

}
}
}

// Rest code of game

private void ShowAd(){
int x = PlayerPrefs.GetInt (“adRound”);
switch (x) {
case 0:
StartAppWrapper.showAd ();
x++;
PlayerPrefs.SetInt (“adRound”,x);
break;
case 1:
showGoogleVideoAds ();
x++;
PlayerPrefs.SetInt (“adRound”,x);
break;
case 2:
if(Chartboost.hasInterstitial(CBLocation.LevelComplete)){
Chartboost.showInterstitial (CBLocation.LevelComplete);
}
x++;
PlayerPrefs.SetInt (“adRound”,x);
break;
case 3:
if (Chartboost.hasRewardedVideo (CBLocation.LevelComplete)) {
Chartboost.showRewardedVideo (CBLocation.LevelComplete);
}
x++;
PlayerPrefs.SetInt (“adRound”, x);
break;
case 4:
showUnitySimpleAd ();
x = 0;
PlayerPrefs.SetInt (“adRound”, x);
break;
}
}

///At game over points I call ShowAd(). During test mode, test ad appeared. When ever a user plays new level, other ad than previous one appear. But the problem is, since the day, this way I implemented, I didnt get a single penny revenue. I am wondering, is there any thing wrong with this approach. I dont remember exactly but I read using switch case, some has implemented many ads in his game. It is more than thirty days, I am wondering what is the wrong.

(Sorry for my bad english, hope you understand)

First, I’d point you towards the unity ad forum. Unity Services - Unity Discussions

Your question doesn’t really seem related to the script since you are playing ads and you are seeing impressions, that should be fine. The only thing I can say is it can take a lot of impressions to see any return. Most ad services pay very little for just having an ad viewed (the brand ads I think pay more, such as commercials for shows, movies, physical products). Game ads usually only pay well on installs. In other words, if you see 100 impressions and no revenue, this is normal. Even 1000 impressions may not show any return.

1 Like

Brathnann…Thanks for your response. I posted this in this forum because of the code. I am not asking about low revenue. What I am trying to know, is it okay to show various ads from various ad networks in turn? In turn I mean. If a player plays first level, then one ad from one ad network, then if plays second level then another ad from another ad network . And so on… Please look into the codes. I want to know, such things are not illegal? And I also want to know, whether the switch case code is not blocking any ad from appearing but impressions are generating only.

There is nothing wrong with showing ads from different services. Several games already do this very thing. It can even be encouraged in same cases, just keep in mind that your impressions will be spread out if you do it this way.

The unity ad forum is still your better place to check probably. I’m not aware of impressions being generated if an ad isn’t fully viewed, but you’d have to know when an impression is generated to know. I’m guessing it’s not until the ad is finished, but not sure. We currently use only unity ads for our purpose and it has worked fine for us.

As far as your code goes, Using code tags properly - Unity Engine - Unity Discussions use code tags or it’s very hard to read. The switch statement itself should not impact if an ad does or does not play. If the call to play an ad is wrong, you will not get an impression. So assuming all your calls are correct, you should be fine.