Your own advertisements

How does everyone deal with advertising their own products ?

Problem: most handsets have different markets installed. A lot don’t even have the Google Market installed !

How do I get an advertisement (eg: from another one of my games) to figure out which market link to send the user to ?

Or do you just put up a mobile landing page with a bunch of icons to each market and hope that:
a) the user knows which market they have installed
b) is still interested enough to click a second time (and on the CORRECT link!)


I have a boolean field “amazon” in my application that changes url of the link to my application to one from Amazon Store (normally it’s Google Play). I didn’t bother with adding one for SlideMe or other markets. Maybe I’ll do that later.
The disadvantage is that I have to build different version for Google Play and Amazon AppStore (takes one second though, by sometimes I forget and get rejected on Amazon AppStore because of linking to GooglePlay).

for google play you can just try to load “market://…” adress. That will fail if google play is not installed.

I don’t know if something similar does work for amazon, but if play is not available you can always link to a small landing page.

This way you do not have to update your app, when you add new stores. That would also have the benefit, that on this landing page you can also show more of your apps

I have a bit of code in my Application class that looks like this:

/** Destination targets */
final static int TARGET_NONE = 0;
final static int TARGET_GOOGLE = 1;
final static int TARGET_AMAZON = 2;
final static int TARGET_SLIDEME = 3;

//Compilation target - determines which app store it's released in
final static int TARGET = TARGET_GOOGLE;

Then whenever I have a button (such as “Rate this app” or “More apps”) which links back to the market, I’ll use a switch statement to check which market we’re targeting, and choose a URL to display appropriately. Something like this:

String marketUri = "";
switch(MyApp.TARGET) {
    case MyApp.TARGET_GOOGLE:
        marketUri = ""
    case MyApp.TARGET_AMAZON:
        marketUri = ""
if(marketUri != "") {
    startActivity(new Intent(this, Uri.parse(marketUri)));

Using this method, when it comes time to release, I export the package multiple times, once for each TARGET. So I’ll export with TARGET set to TARGET_GOOGLE, then edit my Application class and export again for TARGET_AMAZON.

It involves a bit of manual effort, but this has worked pretty well for me so far.

Ok, you guys all went off on a tangent. I do what you are talking about already for google, amazon, slideme, blackberry, getjar, etc, etc.

What I want to know is. If I pay for advertising (or use all those nice Swapitt credits!!!), htf do I ensure the advert links to something actually installable on the users’s device when some users may only have one market installed ?

Ah ok, I misinterpreted your original post. :slight_smile: In this case, the only real solution I can imagine is the one you already mentioned - put up a landing page, which links to the various markets.

Of course, you could also link to a direct APK download for those who don’t have/want any market at all. And I suspect once the user clicks an advert, the conversion rate from landing page to market listing should be pretty high. After all, they’re already interested in your app enough to go seeking more info.

Another alternative might be to target your ads only at devices which you know have the official Google Play store (e.g. Samsung Galaxy Nexus, HTC One X…). Depends whether the advertising network you’re using gives you this fine level of control.

Why not checking, if the respective market app package is installed?

Well, because this is an advert I am running… I don’t think an HTML advert has access to app packages ?

no, the advert can’t but the webview is able too (not of much help maybe g) - go for PacketManager to find installed packages.

Same should be true for all the other market apps like amazon slideme getjar and so on - they all have different packages for their markets


Do you export each APK with the same package name, but different filenames for the APK? And I understand you shouldn’t change the package name for Google Play, but uploading a different APK filename is OK? And it will work with the same keystore?


APK filename doesn’t matter.

once uploaded you cannot change the package name afterwards, it has to be the same. (filename does not matter)

I have seen package names consisting off 100s of characters. If you name them uniquely you can better track something.

especially amazon needs many modifications, so I use a different package name there (have to disable many features, like truncating scoreloop social/market and such things to get approved at amazon :slight_smile: