It is notorious the growth of mobile adverstising in the last years, since mobile devices are more connected to internet. More and more publishers are investing on it, in order to sell their products/services, based on a huge number of potential consumers, which use their devices everyday to read e-mails, news, chat, etc. It is a market of millions of dollars a year.
Who makes possible all this mobile advertising are specialized companies known as Ad Networks. They are responsible for connecting publishers to advertisers. In our scenery, Mobile Ad Networks. Regarding us, developers, those companies provide a variety of means for us to integrate our apps with their ads platform. They provide SDKs for the main mobile platform in the market, e.g., iOS
But I believe you may be wondering: Do they not support Java ME
Recently, I have been searching for an ad platform in order to provide ads from our app, M-Stocks App. For our iOS and Android versions it was easy to find, but for Java ME, it took awhile. For instance, we tested AdMob, Adfonic, Jumptap but no success. Even their RESTful API did not work for us. We were about to create our own ad platform, when we finally encountered Millennial Media. On their website, they state Java ME support. So I decided to give it a shot.
We sign it up and then started to read the documentation. Actually, they do not provide a Java SDK, in fact they provide a RESTful API, called Server-Side API. This API is very easy to work with. They just require a few paremeters (i.e. UID, IP, User-agent and App ID). By default, they return a HTML
The workaround is simple. As in the HTML content there are an ad's image url and link, you just need to parse it and get those information. Once you have the ad's image url just download the image using HttpConnection and display it using ImageItem or Canvas. To open the ad's link, do it using MIDlet.platformRequest(String), which will open up the device's browser.
On the other hand, Server-Side API also enables you to receive an ad in XML format, which contain more data about the ad, e.g., image type and size. To enable this, you need to send an e-mail to Millenial Media's support and requesting it for your app. However, I actually tried that, but I got no reponse from them so far. Because of that, I am parsing the HTML.
Other interesting feature by Millenial Media is the ability of integrating with other ad networks. You can set up your AdMob account, for instance, and then receive ads from Millenial and AdMob in your app. Particularly, I am using this approach.
By now, we are going good with Millenial Media. I hope it brings good revenues for us. Mobile advertising is a very good approach for free apps developers. It is a good alternative, since we do have many options to charge for Java ME apps.
See you in the next post...