How can I check that my iOS app is reviewed & rated by a user or not from my code - iphone

If someone reviews my application, is it possible to get an event? I am using a third party library for managing app ratings. It is the most popular iOS rating library called iRate. iRate has an method:
[[iRate sharedInstance] ratedThisVersion]
But it seems, it is not working when I tried to test. Is there any native way to check that my app is reviewed by user or not?

The library iRate stores the fact that a user rated an app in it's user defaults. As a result, you will only be able to tell if a user rated the version once you've actually set the value, using assignment.
Just as a matter of interest, ratedThisVersion is a BOOL property, not a message - so it's [iRate sharedInstance].ratedThisVersion and [iRate sharedInstance].ratedThisVersion = YES; for assignment.
There's no current mechanism in the apple store to determine if the user has rated the app. You can ask for the number of reviews for an app by using the itunes search api (e.g. getting the output from https://itunes.apple.com/lookup?id=364147881 would get the json data for the BBC news app, which as of my checking had an "averageUserRating": 4 and "userRatingCount": 30937).

Related

Interface to the AppStore?

I have a requirement that a client wants to be able to allow users to download apps from within an app (which I will call the main app), based on a user's score (when a user achieves a certain score, they can have an app). We would like to do this without linking to the app store directly, so that users of the main app can be granted access to another app.
So, is there a way to interface to the app store while hiding the official app store from the user? I have seen similar functionality in Passbook, but not exactly what we are looking for. Any ideas? Thanks! Viv
Possible duplicate
How to link to apps on the app store
If your app is in Apple appstore, you can use itms:// service to install apps directly. Check the above link that tells awesome stuff about the apple app store itms services.

Any way to detect who all use iPhones in the phone contact list using iMessage related or some similar logic?

When I send a sms msg to a friend in my phone book which also uses an iPhone, the message goes as iMessage by default.
Using the reverse logic, is it somehow possible to programatically figure out a list of people in my phonebook who use an iPhone?
Actually I have built an iPhone app and I want to provide a feature to let the user share the info about the app with her other iPhone friends if she likes the app. Now since non iPhone friends have no interest with the msg coz they cant use the app, it makes sense to provide the user a list of only iPhone friends whom she can fwd her msg if she wants to. Therefore I want to provide a list of iPhone users from her phonebook only and then let her iMessage them.
How can I achive this?
I read your post several times and can't see a definite question. But I'll try it:
Is it possible to find out, which of my friends are using an iPhone?
Yes and no. If you want to show only persons who downloaded the app, then it's totally possible, but if you want to find this out just by their phone numbers and using official Frameworks it's impossible to reach this.
Is it possible to find out, which of my friends are using iMessage?
No, except they all download your app and enter if they're using iMessage or not.
Again: If you want to get a list of your friends which are using an iPhone, they would need to download your app which collects the data. (It's called WhatsApp)

iphone:how to implement rate the app popup for iphone app every 5th time user opens up app?

I need to implement the rate tha app popup when user every 5th time open the app
user can also give review
and then i need to redirect him to page of iTunes
Since iOS 10.3+ the right way to request app reviews is through SKStoreReviewController, which is Apple's official way of requesting App Store ratings and reviews from users.
Simply call:
[SKStoreReviewController requestReview];
More details on the class: SKStoreReviewController
Have a look at the excellent Appirater library. The APPIRATER_USES_UNTIL_PROMPT constant in Appirater.h defines often the prompt appears. The prompt reappears in new versions of your app!

Is It Possible To Add A "Rate This App" Link To My App?

Here's what I'm trying to do: I have a button on the settings page in my app - I want this to direct users to the review/rate page on the app store.
I know this is possible using [[UIApplication sharedApplication] openURL: .... ]; but my app is unreleased as of yet, so I don't have a URL to use.
Is it possible to implement this functionality for an unreleased app, or would I have to wait and include it as an update?
Thanks :)
The URL below is what you're looking for.
Just replace the 368754825 after id= with your app's Apple ID from iTunes Connect. This will take you right to the review page and won't have all the redirects like a normal link. Your App's Apple ID will not change between now and when it's on the store.
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=368754825&pageNumber=0&sortOrdering=1&type=Purple+Software&mt=8
Update:
I tested the link I posted more than a year ago. It still works. The idea is that it won't work until your app is live. I know there's some concern about putting this link in and shipping before actually verifying it works, but it's the best option for having a review link in a 1.0. You can alternatively submit a 1.0.1 update (with link) right after 1.0 (without link) is approved which means you're only missing out on about a week's worth of reviews.
This is newest format for creating review form links on iOS (only works for iOS devices) [tested on 4.2]
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=412843648
Replace the final string of 9 numbers with your app's application ID from iTunes connect or your iTunes url. This link when launched from an iOS device takes you directly to the reviews
Yes you can add a link.
What I did for one of my apps that wasnt released yet was point to a certain URL, like: http://www.wrightscs.com/ios/myapp/review.html which just contained an http redirect.
Once my app was released and I had the iTunes Store link, I just updated the review.html page with my apps URL.
So now my app opens the review.html link, but in return gets redirected to my app in the app store.
First of all you have all the data about your app when creating it on iTunes connect. The thing you need here is the "Apple ID" (you can find it on iTunes connect under the app information).
After taken this number you can use it inside your app (even hard-coded) asking users to rate it or any other thing you want to do with it.
You can use this code for doing so, This method would open the rate page for your app on the App Store without opening safari on the way like other methods here (I've put all code which seems easier to understand sometimes):
static NSString *const iOSAppStoreURLFormat=#"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%u";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:iOSAppStoreURLFormat, (unsigned int)YOUR_applicationID]]];
Where YOUR_applicationID is the one you took from the app store (Apple ID).
I suggest you test that with a working app (active on the app store, even not your, You can use this one for example: 474785950) and change it afterwards. Pay attention to download the app you are rating to your device/account (You can always know the Apple ID of working apps from the link itself : http://itunes.apple.com/us/app/i-ruler/id474785950?ls=1&mt=8 it's the number just after the "id").
Moreover, For this topic I have some other things that should be considered:
1. Apple can reject your app if you are asking users to rate your app with 5 stars, Many developers does that and don't get rejected but I've been rejected couple of times just for that. Beware!
2. Asking users for just a rating mostly doesn't have a good effect, Great feedback comes only after the user used the app and really enjoyed that (users are really used to popups asking them to rate and just skip it). Also if user want to skip this process for now you want to try asking him later, And most importantly you want to ask the user to rate your app after an update (that is super important because rating is for each version!). To solve this case I suggest using iRate (or build something custom using that as starting point) which is very easy to integrate and it can ask for rating only after several days/opening times etc. and remembers to do that for each version. Can download it from: https://github.com/nicklockwood/iRate/tree/master/iRate
I think that the direct link to 'write the review' is undocumented. It is better to give link to the app and it will be up to user to write the review.
You can get the link to your app from your account in iTunes Connect.
You will get the link once you add a new application (not necessarily upload and make it live). That link will open your app regardless of the platform (iPhone, Mac, PC).
That link will not work un till the app is live.
This method worked for me!
Swift 2 version this code works for iOS 9:
let appId = "12345678"
let url = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=\(appId)"
UIApplication.sharedApplication().openURL(NSURL(string: url)!)

Sharing application link via the same application, iphone

Possible duplicate:
How can i give app store link in my apps before approving another apps
linking to an app on the Itunes store
How to link to apps on the app store
Hi all,
I'm a littile bit confused. I need to provide the download link of my application (the iTunes link) inside my application. ie when the user would like to invite others via mail or some other means, have to provide the application link too with that.Is there any way to provide that before submitting the application to apple. Or i need to use the link as an update after getting my application approved by apple?
To be able to provide an iTunes URL, you should know the unique ID for your app and AFAIK, there's no way to get this ID before getting your app in the store first.
You can try and construct a search URL, but it doesn't always give the desired result. For example, I currently have only one app in the store, but there's another developer who uses the same developer name as me, so a search URL for my app produces two results. If this is your first app, and searching for your developer name produces no results, it could be safe for you to go with a search URL.
Even if you use a search URL, you will want to replace it with a proper iTunes URL in the first update.
Read this article by Bjango for more information on iTunes URLs and quirks of using search URLs: Dissecting iTunes links