How to handle submit button action in SKstoreviewcontroller ios - ios

I have implimented SKStoreReviewController in My app. I just want to know how the functionality works. I need to satisfy below requirements.
I need to disply popup in all the 3 cases
For first 10 successful logins
After every 90 days
I don't want to disply rating popup never if he provide the rating.
How do I know if a user gave the rating and also I need to send
response to server if user gave the rating.

SKStoreReviewController submit button is active after your app is live in appStore. The submit button is automatically disable when you're running in debug mode. It's only active when you're launching your app in appStore. That is not mistake from apple or Xcode.
Thank you.

Apple provides some suggested best practices and sample code for requesting reviews.
In answer to your requirements:
This is definitely not best practice; after 10 successful logins might be a reasonable time to ask for a review, but asking each time the user logs in will probably just be annoying.
Again, asking after 90 days is probably a reasonable interval.
By design there is no indication to your app as to whether the review request was shown, nor whether a review was left.
You can link directly to the App Store page where the user can provide a review, however you still have no indication of whether the user actually left a review or simply cancelled out of the web page.
The sample code I linked to shows how to track whether you have requested a review for the current version of your app. You cannot know whether the user has actually reviewed the current version.

Related

Unity iOS RequestStoreReview more info

I want ask my users to rate my Unity iOS app using the following code
Device.RequestStoreReview()
But this function returns true when the library is present and false otherwise. I want to know whether the user
Allready rated
Clicked "cancel" or clicked "not now"
So that I don't have to ask that to the user every single session
You can make a custom UI with buttons to check if the user wants to review the app or not. If the user decides to give the review you can open the app store with Application.OpenURL. You can then save user action (reviewed, ask later, don't ask again) as a flag in PlayerPrefs. Use this flag in your app to decide when and how often ask the user for a review.
As far as I know there is no way to check if the user left the review or not but if they decide to go to app store, most will leave the review and even if they don't the app just won't ask them again. It is good enough for me.
This approach is also platform independent (as long as you can use Application.OpenURL you can forward your user to any app store/website for a review).

When I use requestReview function of StoreKit, is there any way to know if the user has clicked on Submit or Not Now or Cancel button?

I am using the SKStoreKitReviewController in 10.3 and above to request a rating of the app. The alert is displayed. However, I need to implement a logic, wherein, if the user has already rated the app for one major release then I should not ask the user again for rating. Hence, is there a way to know that the user has successfully submitted the rating? Also, I would want to know if the user clicked on "Not now", so that I can prompt them again for rating after a few days. Is there a way to know this?
According to this Apple Developer page, you cannot prompt a user more than three times in a year.
Give users an easy way to provide feedback on the App Store without leaving your app using the SKStoreReviewController API. You can prompt for ratings up to three times in a 365-day period.

SKStore​Review​Controller: How to get written reviews?

At first SKStore​Review​Controller looks great: An easy and standardized way to ask users for a review. However SKStore​Review​Controller only allows the user to rate the app by giving it 1 to 5 stars. But am I supposed to engage the user to leave a written review in the store? Is this possible using SKStore​Review​Controller as well?
Or do I have to do this manually, e.g. by prompting something like "Thanks for rating the App, would you like to write a review as well"? I doubt that many users would be happy to perform another action after they just rated the app...
Wouldn't prompting for a written review would conflict with Apples guidelines not to prompt the user without using SKStore​Review​Controller?
Users cannot add a review though SKStoreReviewController.
It is also not possible for you to know if your requestReview() call actually resulted in a rate alert being presented. If the user has already rated the app recently, requestReview() will silently fail. Because of this, it is not advised to perform UI changes relying on the existence of an SKStoreReviewController.
I believe the suggested method for letting users review your app is to add a dedicated "Review App" button that deep links to your app in the App Store. This should be prompted by the user, and not the product of an alert.
To automatically open a page on which users can write a review in the App Store, append the query parameter action=write-review to your product URL.

SKStoreReviewController requestReview doesn't prompt for review

I want to use the new feature added in 10.3 to ask users for reviews. In the docs, apple states that when this method is called "a rating/review request view is displayed".
I am getting the rating view( where you can select how many stars to rate), but I am not able to write a review. I have to mention that I only tested in simulator.
Is this the correct behaviour?
In development mode the “Submit” button is disabled. Once your app is in the App Store, this button becomes active and the user is given the option to write a review after they hit “Submit”.
On development mode it always displays the prompt but doesn't actually do anything.
If you want to point people to write a review about your app:
To automatically open a page on which users can write a review in the
App Store, append the query parameter action=write-review to your
product URL.
Docs.
EDIT: The comment below is correct.

Where is the iPhone app EULA displayed for the user?

I am planning to submit an iPhone app for certain special purpose calculations. I want to add a legal disclaimer about the calculations somewhere so that the user can see it atleast once before starting to use the app. Should this go into the EULA that may be submitted as part of app submission process? Or should that be a one time screen shown when the app is started first time? What is the right way?
Thanks for responses.
The EULA would be submitted as part of your delivery to the App Store, so as to be displayed alongside the app’s entry in the Store (so the user can read prior to purchase).
But you’d also be well-advised to display the very same language the first time the app is launched, prompting the user to “Accept”. (Ideally, if it’s more than one page, you can make it so the Accept button is disabled until the user scrolls to the bottom of the text.)
If you want to be even more thorough, you could prompt the user to accept the EULA the first TWO times the app is run, just to be safe.
Hope this helps!
Show it first time the app is shown, or if it isn't crucial, add a mention in the app description.

Resources