what is the way to get app rating and user reviews of an app on Google Play, if I have it´s Id?
You don't really have any means for this in Android.
There are some libraries however, that give you some options to check info from Google play. Not sure if they're actually updated since the time it was actually Market place and if any breaking changes were made since then.
You could try these;
https://code.google.com/p/android-market-api/
https://code.google.com/p/android-query/wiki/Service
Since there is no official API, here is the quick and dirty way:
Use HttpClient to get the requested page, i.e. "https://play.google.com/store/apps/details?id=com.poncho.yapm".
View the page source and learn how to parse the page and get what you want from the response.
For example, for rating:
Search for the first "About This App".
Start from previous result, search for the first 'ratingValue'
Start from previous result, search for the first 'content="'
Start from previous result, search for '"'.
The rating is located between the last two locations.
The major drawback: if Google change the page layout you will need to change your implementation.
However, this often happen also when you use formal API.
If this is a real application, running a daily test that verifies your code would save you time and customers.
Hope this helps, Yaron
There is an Open Source application titled Andlytics available on the Google Play store. It is updated frequently enough, but mostly yo accommodate any changes that might be made to the Google Play store's back-end.
I am not sure if it can be coded to bring in details specific to a particular application. At the moment, how it works is, a user must log in with a valid Developer Account. Then authorize it to access your Google account. And once done, it then gets all applications on the developers account. Not a specific account.
This, however, I think (I think because I have never had the opportunity of actually using the source) can be modified to accommodate your specific requirements.
You can get the entire Source Code here.
You can also try the link mentioned in Stefan's post. Though a cursory look suggests that it has not been updated after the first quarter of 2012. But if you can bring the code up to speed, that could work too.
Since I am linking to an app on Google Play as also it's source code, for the sake of clarity, I have nothing to do with Andlytics, the project or the app.
Related
When creating a new app release on Google Play, you are asked to give instructions on how to use the app if necessary.
I am working on an app that requires login. So I entered the information on how to acquire login credentials, and moved on. Only after I was done I realized that I could simplify this a lot by just providing test credentials for the reviewers.
Is there any way to edit these instructions again? I can't seem to find them anywhere...
Using the new Play console design by the way (but can still switch to the old one if necessary)
I've found out myself. It looks like the new Play console has a bug here, so I believe this information could be helpful for others.
What you want to do is:
Go to Publishing Overview
Scroll down to the App Content section. App access instructions are not available here.
Click on any item in the section
Go back
You end up on a different screen which shows you a detailed overview of the app content
Here you will find that you can select App access where the instructions can be changed.
Currently, I'm looking to see if there is a way to sync the information we've obtained through an online site with the information we use on a phone application.
All I need to know is that the user that visited our site is the same user that is using our phone application, No stats and preferably no one needs to enter a thing.
You won't get that from Apple, because of their history with privacy concerns, but you could do something like generate an identifying number in your app, that your web site asks for, that would tie the two together. Of course, you'd have to make allowances if your app is deleted from the device, then re-installed, to either make sure you're generating the same number, or other such solution as befits your requirements.
The first thing that would come to my mind is Google Analytics, available for different platforms and services (i.e. Youtube, etc). You would have to go through Google Analytics API to figure out a way on how to track a particular customer visit across several location/platforms.
See Hello Analytics example of Google Analytics API
See Data Feed API
Ok, so far I've answered my own question for androids. Apparently you can pass a referrer param through google play which actually allows your app to receive the parameter and they even have an app that test this functionality.
https://play.google.com/store/apps/details?id=net.stevemiller.android.referrertest
now I have yet to test this, nor is it a possible solution for iOS.
I'm looking for a way to make a trial version of my app.
I found this post that describes tree ways of doing it.
I thought about another way, if I could get the time the application was installed (from Google Play) I could make a period of time starting form this date and it won't matter if the user change the device or clear the data or do anything else.
Is it possible to do this... How can I do this?
You can't get such time from Google Play.
Simple question, as i can remember there was an option at the developers console in the Play Store to make an app only visible to a set of email addresses. Or at least the app would be free for that set of emails.
So is there an option to make an app only visible to a specific set of email addresses on the Play Store?
I'm asking this because i want to test my app, therefor i have to email it to like 50 people (not a problem). But when i update the app in the "beta" stage i don't want to resend those emails, and ask the test users to update the current install. Using the Play Store updates would be more seamless and automatic.
Does anyone have experience with this situation?
Edit:
It seems that there is at the moment only one simple answer:
No, using Google Play it's not (yet) possible. But there are some alternatives out there, see accepted answer.
It would be great if Google could add this functionality to the developers console, this would allow developers to simply bring out new updates, and easily see crash rapports without having to publish the app in public.
Edit 2:
Now it is possible to Alpha and Beta test your applications! I believe since the 15 of may 2013.
https://support.google.com/googleplay/android-developer/answer/3131213?hl=nl
Google Play now has alpha and beta testing built in:
https://support.google.com/googleplay/android-developer/answer/3131213?hl=en
I personally don't remember seeing the option you mentioned, specifying email addresses for private delivery and therefore, I have no experience on that matter. In fact, a quick check in the Developer Console, revealed that the option is no longer available, which I am sure you already know since you posted a question for the same.
That being said, there is a web service I am aware of (never used it personally, but is recommended by quite a few of my developer friends and colleagues).
The website is: The Beta Family. A cursory look at their website so far hasn't mentioned any fees or payments for creating an account or uploading an app for testing.
They also have the email feature you mention in the OP which they call SuperSend where you specify a set of email addresses and the app is delivered to them.
You can get more information about the same here: http://thebetafamily.com/supersend/
It may not be useful if you are looking specifically for a solution with Google Play. But if you open to alternatives, I think this looks promising.
Hope this helps.
EDIT: Their FAQ's mentions that their service is, in fact, free.
I'm considering asking users to submit a review to the Android Marketplace (Google Play I guess now, but...) ocassionally, but I would like to know before I ask them to if they have submitted a review. Is this even possible?
There is no API for the Play Market, which is what you really need.
As others have mentioned, you can always keep track if a user has pressed a button to launch the Play Market, but you can't tell what they did once there.
There is a 3rd party Market API, but it is not reliable (certainly not there fault - it is a workaround, since an official API doesn't exist).
It is possible to create a "Campaign" using AdWords. This allows you to track referral URLs (which would allow you to track entry points to the app from external resources). I found a good post about that here: http://gyurigrell.com/2012/2/21/tracking-install-sources-android-apps
Bottom line, I am pretty sure you can't do what you are asking.
Googling gave me this link - http://code.google.com/p/android-market-api/. I haven't tried it but it claims that it can get the comments according to your app ID. There are other ports listed there.
What you can try is that get all the comments for your app. Then get the user account details using the AccountManager. Check if any details here match those with the author name in the comments. You will need to add a permission in your manifest to get data from the AccountManager and it's a pretty creepy permission.
It seems like a lot of work though and I think you would be better off just using a dialog box once and then making sure it does not pop up again after someone has clicked on it through a stored preference.
if you have a button for them to press to leave you the review, you could always put a preference when they click it, and then check later to remove the button.
It would be nice if Google/Android, one day, would allow for a custom rate-my-app dialog where that user information could be known server side and not popup the developer/app dialog if it doesn't need to (the user has already rated the app). Wishful thinking Feature Request
Unfortunately this is not possible at the moment. See How to know if a specific user has rated a Android App?
Also, although a suggestion might be to use something like android-market-api please note that it does violate absent licenses and you could lose your developer account although I doubt it, but the app may mysteriously get banned one day!
I think the biggest issue is that of privacy.
As far as workarounds, it may be better to wait for something official. All unofficial APIs often are unreliable as to changes Google makes and the unofficial APIs have to catch up and fix problems while the service no longer works, with no way of continuing to run until it is fixed. Therefore, simply setting a SharedPreference may be the most you can comfortably achieve at this point. Either on first run, at delayed and specified intervals, or if a user has already checked a 'don't ask again/already rated' box.