10 September 2011

How to (not) win money with AIR for mobile

Last week, I analized the ads fill rate for my games on several market.
I was very surprised to find a poor 8% max for my Android games while almost 25% for the WillNa website and Poulpytris Flash Lite.

So I tried to find the difference, using my own ads request log....and found it:
This is the UserAgent I receive from some guys on Poulpytris
 mozilla/5.0 (android; u; en-us) applewebkit/531.9 (khtml, like gecko) adobeair/2.7
When you look first, nothing strange...but then I looked at my log about WillNa.com and found this one
Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Well, it seems there is a lot of differences, no ?
For whatever reason, AIR use its own UserAgent.
It wouldn't be a problem if it didn't use a partial UserAgent!
In AIR default UserAgent, no android version, no device ID.
These 2 points are a MAJOR problem when you monetize your app throught ads : Ads network use these info to give you the ads ! No info, no ads or a basic one times to times.

Hopefully, there is a solution : you can override the defaut UserAgent with URLRequestDefaults.userAgent = newUA;
Now, we need to find a solution to detect the AndroidOS version and device ID.
And again, AIR failed to help us to make money : there is NO way to get these values using AS3 !

After some googleing, I find someone who made a fantastic discovery : these values are available on an .ini file !
Using his NativeDeviceInfo class, I updated my apps everywhere, hoping users will update them quickly.

It's been a week and about half of them update it.
For them, I saw a BIG increase of the ads fill rate which confirm the problem's origin : user agent !

A big thanks to Sidney for his class so !
and another buggy feature for AIR to report, helas ...

No comments: