Android Market, Search results position Mystery - android

How is an app's position in the Android Market search results determined? Is it as mysterious and complex as Google Web search results?
We obviously don't want to change any words in our app's title or description that would hurt our position.
Same question applies for not only search results, but when clicking on a Category in the Android Market. How is the order of the list determined?
Hopefully someone here can help. I would think that Google would have published some guidelines at least that could help, but I haven't found anything yet.

My theory is that the total to active install ratio is very important. So, the obvious approach is to target customers who don't know how to uninstall apps :)

Search result ranking— there is purposefully no publicized documentation, to minimize the chances of gaming the system.
Category top paid/free ranking— again, there is purposefully no publicized documentation, but it's a combination of several metrics, several of which quantify application 'popularity.'

Related

Android app isn't found when searching for its title

I published my first app "FitFit Gym & Fitness Notebook" on friday and it can be found when searching for the full title.
But when I only enter "gym" or "fitness" it isn't found at all, even if I scroll down to the bottom of the page. I understand that it isn't listed at the top results because it is new and has not enough downloads, but I think it should be listed somewhere.
Is it possible Google filters my app out of the results for any reason?
My understanding is the the mechanism Google Play Store uses for ranking apps is proprietary and closely held. It is some algorithm based on key words in the description, popularity (rankings and downloads), etc. You can influence it a bit with repeated key words in the description but not much, and too many repeated keywords may or may not hurt, but it won't help.
Get some users to start giving good feedback and high ranking and that should help your search favorability.

Why my app is as "hidden" on Google play?

First sorry for my bad English : I'm French and I may make a few mistakes.
I created an app and I uploaded it last month on the Google Play store. You can find it here without problems : https://play.google.com/store/apps/details?id=com.malerbati.fourInAMine.
The problem is : my app is almost impossible to find with the search engine ! When I search "4 in a mine", my app name, in Google Play, it only appears at the 20th result !
Besides, the app didn't appear at the "Top news" when I uploaded it.
I remember that the last app I created counted 200 downloads 1 day after its release, obviously thanks to the "Top news" thing... whereas this app has only 65 downloads, 1 month after ! And when I look at the statistics, I see that 100% of the downloaders are French (my country), which means that ALL the persons who got my app found it with word of mouth ! That's quite inefficient...
Therefore, here are my questions : why the hell can't we see my app easily, like the others ? Did anyone else encounter the same problem ? I have some suppositions about the origin of the problem :
The last app I created was a big failure : 95% of the people uninstalled it, essentially because the game was too hard. Does Google Play search engine take this into account ?
I created my last app last year. There must be much more apps now. Is my app simply hidden by the (too) big number of other apps ?
My app is very smaller than the last one (only 300 ko, against 3 Mo). Is that taken in account too ?
Thank you in anticipation. I really want to know where the problem is.
Here are a few resources to help:
How Android Developers Can Thrive with Google Play
Maximize search potential in your app title: identify your most successful keywords and make sure to include them in your app title. In fact, this is so critical to success (potentially 80 to 100 places in your search ranking), that you should seriously consider removing your app name from your title and focus your description on the best keywords. Include the app name in the body of the app description – users will still be able to find it by name. Unlike iOS, the body description is searched under Google Play.
Use, but don’t overuse, keywords: try to use the best keywords at five times the body of your app description. This can affect search ranking from 10 to 20 places. Anything over five times has no additional benefit, so don’t overdo it.
Test your search parameters: the above recommendations are guidelines based on accumulated experience, but search results can vary based on many factors.
Steady efforts work best: Google Play’s ranking algorithm is tilted towards long term user acquisition – apps that acquire and retain satisfied users are rewarded with higher ranks. Advertising campaigns should be run over a longer term and sustained over two to three months, as opposed to the short bursts of activity often seen in the iOS market.
Use closed loop attribution and target long term users: since retained users have an important impact in ranking, use closed loop marketing to ensure you are identifying and utilizing ad sources that bring loyal users.
Don’t be afraid to experiment and test market your strategy with Android. You can apply these learnings to your iOS versions and reduce your costs and risks.
Google Play Optimization Secrets - 5 Helpful Tips
The second link contains more information that leans more towards marketing and sales strategy than practical steps.
Your application contains a number of very common words. Some of the most common, smallest little auxiliary words are probably discarded because they return a hit on everything.
If you put quotes around it, then Google Play will search for the whole sequence. When I search 4 in a mine then I basically don't see your app. When I search "4 in a mine", then your app is the only result.
I understand that this information doesn't really help you because, while it answers your question, you cannot control users' behavior. You would do better to make your title unique. That of course also makes it less descriptive and harder for users to remember. It's an unavoidable tradeoff.
Responding to your other questions:
I would be surprised if the success or failure of your other game had anything to do with the search relevance of this one. I could believe the uninstall rate affects the search relevance of the uninstalled title.
The huge number of new apps being published does mean that you want to get onto the virtuous cycle of installs quickly. So, the same day that you upload the app, get onto your social networks and tell all your friends and followers that you have a new game to try out. Make sure it works on most of the devices they are using. :-)
A listing page that describes your app well helps you get some collateral benefit from the "Users also viewed" lists for searches that lead to similar games. You gain a little more collateral benefit by publishing additional apps that appear under "More from developer". It may not be a big boost, but it is a feedback path -- probably the only one that you directly control.
I would be surprised if app size made any difference at all.
To sum up:
I think your problem is your title is composed entirely of either tiny words that get discarded, or common words that match lots of other games. You can easily locate your app by searching for the phrase all in one piece, but users won't do that. So work on combining unique terms that only you use, with descriptive terms that help the search engine determine your relevance in searches. And follow it up with some marketing.

How can I detect if an Android app is being used in Korea?

I have a game in the Google Play Store that has an option to change the scoring system from points to $'s. Apparently this is a simulation of gambling and illegal in South Korea. I got a official reprimand from Google and they took my app off of the Korean market and raised my maturity rating to "Mature". This extra feature is totally unnecessary for the game play though many users enjoy it. I would like to disable it only in Korea. However I need some way that is reliable.
I though about using locale but the user could change that.
context.getResources().getConfiguration().locale.getDisplayCountry(Locale locale);
I found this:
android.telephony.TelephonyManager.getNetworkCountryIso()
Would the country ISO be guaranteed to be correct? Is there a different method that I am overlooking?
Also, I don't have GPS permission for my app. I think it would be wrong to enable it just for this use case. In addition I have thought about multiple APKs. This would be a last resort. I believe that they would be treated as two separate apps. I would not have all my good ratings and downloads.
Hopefully if I get this working I can have Google reconsider their decision.
Edit: #Nobu Games brings up an excellent point. This does need to work for tablet also.
android.telephony.TelephonyManager.getNetworkCountryIso()
Absolutely
I think locale option is not good, as one can change locale manually, there is a app to do it.
I tried it once. for testing multiple language support for my app.
This answer can help you more.

Android: Improve app search results ranking

I recently co-authored and published a simple app to test the Android waters and get used to deving for android:
https://market.android.com/details?id=com.parp&feature=search_result
The name of the app is ‘Parp’ yet if you search ‘Parp’ it doesn’t appear until after the fourth page of results (seems to fluctuate a bit). The results above it seem to have nothing to do with the word ‘parp’ and are only there because of the spelling similarity to words in their name/description. E.g. there are a lot of apps related to finding where you parked your car. I understand the link here, but I don’t see why an exact match should be so far down in the rankings. We have tried in incorporate the words ‘parp’ and ‘park’ into the description (without making it ridiculous) to move it nearer the top (it used to be past the 10th page of results) but we have only succeeded in getting it as far as page 4. Whilst I'm not expecting it to top out the results for any related search I was hopeing to get it onto the first or second page for its own name.
Does anybody have any pointers on what more we can do, how the marketplace ranks results, or how to choose good app names that should avoid clashes like this? Getting somewhere on the first page would be great, and I don’t see why it should be unachievable given that this is the only app on the market place that has ‘Parp’ in its title (that I'm aware of)!
You are not the only one who experiences this problems: http://androinica.com/2011/07/android-market-search-problems/
It seems that the android market search was updated and now ranks keywords or similar words higher then the exact title of the app. This is very bad for developers who get their users through word of mouth marketing and hope to get downloads through users remembering a unique app name like yours. At the moment there seems to be no solution to this problem.

"To Do" list before publishing Android app to market [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm just about ready to publish my first app to the Android market, and I'd like to know if any of you have any tips about any experiences you may have encountered in regard to publishing an app that goes beyond the obvious and already documented.
Any hidden caveats and/or ideas about what to do before publishing an app to the market? For instance, a buddy of mine recommended that I remove any and all comments in my code just in case someone gets to the source code, thus making it more difficult for the would-be "code jacker" to decipher the code. I thought that was a sensible suggestion.
What are all the things to do before posting their app to the Android market?
Hope it's not too late, here is some advice:
Launch your app at the end of the week (Thursday afternoon is usually a good time). Why so? Well, no companies would like to publish an app only 1.5 day before the week end -> too dangerous (in case there is a problem that needs a quick reaction time).
Use proguard on your app (usually, you just have to add this line: proguard.config=proguard.cfg in the default.properties file). This will optimize, shrink and obfuscate your code, very useful for preventing from code thieves. You don't have to delete any comments, they are automatically deleted at compile time.
Optimize your images (using Paint.NET, PNGCrush or OptiPNG).
Optimize your layouts for most of screen sizes. You can do this by simply changing the screen size while editing a layout in AndroidStudio or Eclipse.
Try/catch all exceptions on the UI and display a simple toast which indicate to the user that something wrong happened. In the meantime, retrieve the error with Crashlytics or something similar.
Don't use too much .jar libraries, prefer library projects (optimize the code size) and add them using gradle.
Prefer using vector images since it will reduce APK size and fit correctly on all devices.
Don't use the Android preferences windows -> that's not really beautiful, even if it's in the Android guidelines, prefer making your own settings page. But if you keep Android preferences: consider adding icons and colors.
Don't show the title of your app on the main screen (this.requestWindowFeature(Window.FEATURE_NO_TITLE);): good brands don't need to take so much space on a screen to be recognized (show some icon or title in the menu or somewhere that is not always visible), and consider using the fullscreen mode (this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);) when dealing with games and very immersive content.
Use Google Analytics, Fabric Answers or Flurry for future analytics -> try to get as much information as possible, but don't grab anything that violates the anonymous identity of the customer. Don't forget to retrieve exceptions (errors and stack traces) that happens on the user side.
Ask your friends to do monkey tests, learning from users usually brings many good things (such as priorities and new ideas).
Consider publishing your app before having finished all features (most important feature only), you don't already know what your users will want or need besides your main feature .
Add a section "More apps", or "More from developer" in your app, that's free ads.
Add a section "Send feedback" to give the user the possibility to ask for a new feature or report some bug.
Ask your users to translate your app by providing the strings.xml somewhere on the web like Crowdin.
Try your app on each Android version with the emulator -> many bugs or design issues will be detected this way. For this, you can use the provided emulator, or use Genymotion instead (Genymotion has a lot of very useful features).
Think about the name of the app -> what keywords would you use to search for your app? These keywords should be the name of your app (Google will help you get discovered this way).
Consider including keywords in the app description, but in a descriptive way (make understandable sentences using your keywords). Never add a keyword list as is in the description.
Be the first to rate your app with 5 stars, and ask your family and friends to do the same -> this will likely influence the future users ratings.
Consider using Google to translate your app either for the description, either for the strings.xml or both.
Consider displaying ads in your apps and use mediation to improve your revenues AdMob.
Instead of providing a paid version, consider doing in-app billing -> users are more likely to pay in-app rather than paying for a paid version.
Add a change log in the app -> users usually like to know what changed since the last version.
Add a "Thanks" section for the users that helped you -> this will engage users to your product.
Add a "If you like this app, please rate it" link (to your Google Play description) in your app -> you will get more 5 stars (usually a popup on startup, or after a feature action).
Consider explaining your product via a "Tips" or "Instructions" section in your app.
Save your keystore and credentials information somewhere safe. You won't be able to publish an update for your app if you lose your keystore.
Make your icon really simple and clear. The icon is the first and also mainly the last thing that will make the user download your app.
Unless it's not possible, prefer external installation (android:installLocation="preferExternal" in the AndroidManifest.xml).
Read AppAnnie tips and blog posts, it will give you hints on how to improve ASO and help your better understand your users.
Really, don't bother removing code comments. Your source code doesn't make it to the user's phone - only the compiled code gets there, and that doesn't contain any reference to your comments whatsoever.
Android users tend to appreciate apps being as small as possible, so double-check you're only including resources (images, etc.) that are still being used in your app. Use OptiPNG/ PNGCrush on any .png images you have in your app - that can reduce the image file sizes by about 10%, which can be a significant part of your overall app size.
Also, use an audio editor such as Audacity to reduce the size of any audio as much as possible. Going for mono OGG Vorbis files is often best, and sounds plenty good enough on a phone.
Don't worry about comments. If you are concerned about malicious dissection of your app, though, DO run it through an obfuscator like ProGuard.
Other tips I would offer:
Have all your graphics and promotional materials ready to go ahead of time.
Time your release strategically for when you don't have a lot else going on in your life (like right before a weekend) so that you'll have time to respond FAST if the first handful of users start having problems. Low ratings early on can kill you, but fast e-mail response and fixes can totally redeem a customer's opinion of your app.
I'll agree with earlier comments on reducing image sizes as much as possible.
Get your code into source control if it's not already. You're sure to need to issue updates and fixes at some point, and source control can play a big role in that.
Not sure if you've seen this before, but you should excercise your UI with the monkey - my app has only had one crash, but it wouldn't have had any of those if I'd tested it with Monkey first.
Some points that I tend to forget:
double check your minSdkVersion in the manifest
test your app on an emulator with your minSdkVersion
let your friends test your app to see if it is self-explanatory
If you are going to provide updates in your app:
you might want to add some kind of 'Whats new in this version'-dialog
backup your old version!
don't forget to increase versionCode and versionName in your manifest
I'll add an obvious, but important one: save your signing key somewhere safe, and make a backup. If you're letting Eclipse manage this for you, pay attention to where it creates your keystore, and save a backup copy of it. And don't forget the passwords for the keystore or individual signing keys.
Why: you need to sign updates to your app with the same certificate you used to sign the original. If you lose that certificate (or lose access to it), you cannot update your app. You'll have to create a new listing in the Android market.
Don't forget to make debuggable=false in your Manifest. That's caught me out a couple of times.
I'm not totally sure but I think this would then include a lot of information making a code hackers life a bit easier.
I remember years ago I accidentally deleted the source to a java project, in horror I realised I had no backup! I used a utility called jad to decompile the jar file on the production server, it had all the variables intact and was almost perfect. I can't remember if the comments were there or not, but then I didn't put a lot of comments back in them days anyway :) This is because I was including symbols when compiling.
In addition to the great suggestions above, think about using Flurry for mobile analytics. I didn't know about that when I first started releasing my apps, but now that I've updated them to include it, I love seeing what users are actually doing with the app. This can provide valuable feedback and guidance for things that might be hard for users to find or not interesting/useful to the user.
As far as I know comments are not included in the app in any form.
The only "gotcha" for a developer that I found during app submission was the various graphics you can provide to the market. Be prepared to take several screenshots and create several app icon sizes as well as promotional graphics.
On the bright side, be prepared to have your app show up instantly in the store -- there is no approval process to go through for Android Market apps.
I would also make sure you had some sort of error reporting so you know how many users are encountering error's. You may want to keep a copy of your old version when updating your app incase you need to roll back. Its also nice to compile a checklist specific for your app that you can go over everytime.
Also to add to this you may want to use a trimmer to take pieces of code out that are unused to cut down on the overall file size(as phone space is pretty limited). You also may want to obfuscate your code for extra protection.
To get a clear idea..go through this ..
http://bewithandroid.blogspot.in/2012/05/publishing-android-application-on.html
Declare an android:process and android:sharedUserId attribute!
See sharedUserId: safe to change when app is already in market? for why.

Categories

Resources