Comments (9)
Although I haven't tested this scenario, I am almost certain that the request will fail silently in these cases.
The StoreKit SDK function which requests the rating dialog returns no result, hence the only way it could indicate an error is by throwing an exception and this is not a methodology which iOS APIs commonly subscribe to.
So my prediction is that if the user has already rated the app or dismissed the prompt 3 times, there will be no abnormal response from the iOS API and therefore this plugin's success callback will be invoked.
This is something that I will confirm by testing and if so will add a caveat to the documentation for the plugin.
from cordova-launch-review.
@ScottMBerger I did find a possible solution which involves checking if the dialog UI element is present. However, to do so required indirectly referencing the publicly-inaccessible class name of the review dialog. This goes against Apple guidelines, so may lead to rejection during review. However, it might be possible to justify the usage to Apple reviewers in this case.
I might go ahead and add the functionality, but leave it switched off by default. Those willing to try it can turn it on and submit for Apple review at their own risk.
from cordova-launch-review.
This appears to only be testable if the plugin is included in a release build downloaded via the App Store.
In debug builds or locally-installed release builds, the popup continues to appear no matter how many times you dismiss it. The "Submit" button for the popup is also disabled so you cannot actually submit the rating.
Since I don't currently have a live app in the App Store using this functionality, I'm not able to confirm my assumptions above.
from cordova-launch-review.
I have an app live with this and that seems to be the case. So after it is used 3 times I have a button that does nothing. Would be nice if we had a way to fallback to going to the review page in this case.
Here is the app for reference. https://itunes.apple.com/us/app/sleep-orbit-relaxing-3d-sound-white-noise-asmr/id1215043393?ls=1&mt=8
from cordova-launch-review.
I've tested this in a live app and, as expected, the StoreKit API function fails silently in the error cases: no exception thrown, no error code returned. So this plugin has no way to know if the dialog was successfully shown or not. On that basis, for now, I think the best that can be done is to document this as a caveat.
However! I've recently been doing some automated device testing with Appium and using the Appium Inspector to find native elements using XPaths. So it just occurs to me whether something similar could be done to detect the presence of the dialog programmatically from within the target app: i.e. have the plugin use an XPath query to confirm the presence of the native dialog. Will look into this...
from cordova-launch-review.
Please let me know if you have found anything new out about this
from cordova-launch-review.
Hey, this would be cool if it could be set to launch the app store, but not go right to reviews. Instead go to the app so we could direct them from our phonegap app to 'update this app" when necessary.
from cordova-launch-review.
v3 of the plugin (just published) invokes the success callback for LaunchReview.rating()
twice:
- Once after
LaunchReview.rating()
is called and the request to show the dialog is successful - Once if and when the Rating dialog is actually displayed.
Detection of the display of the Rating dialog is done using inspection of the private class name.
This is not officially sanctioned by Apple, so while it should pass App Store review, it may break if the class name is changed in a future iOS version.
Note the major version bump due to backwardly-incompatible API changes. See the updated docs for details and updated examples.
from cordova-launch-review.
v3 of the plugin (just published) invokes the success callback for
LaunchReview.rating()
twice:
- Once after
LaunchReview.rating()
is called and the request to show the dialog is successful- Once if and when the Rating dialog is actually displayed.
Detection of the display of the Rating dialog is done using inspection of the private class name. This is not officially sanctioned by Apple, so while it should pass App Store review, it may break if the class name is changed in a future iOS version.
Note the major version bump due to backwardly-incompatible API changes. See the updated docs for details and updated examples.
How to get the cancel button event of the star rating dialog alert?
from cordova-launch-review.
Related Issues (20)
- Predefined rating value HOT 1
- Why "Submit" button is disabled? HOT 4
- App rating dialog takes a bit of time to appear HOT 1
- The donate button in the github readme is broken. HOT 3
- rating() function returns no other results than "requested" HOT 2
- Multi-language supported ? HOT 1
- display a review dialog after x time of use / lunch - Android - HOT 1
- how can i call the review after x lunchs HOT 1
- Add support for in-app reviews on Android HOT 4
- Android inapp review - optional comment HOT 1
- If the rating dialog is displayed successfully on iOS, the result will not be returned. HOT 3
- Unable to have the rating() function working for android HOT 8
- New 4.0.0 rating(result) is returning 0, dialog not opening. HOT 5
- Ionic 5 using native api capacitor HOT 1
- how to open the "write review"tab on iOS ? HOT 1
- ERROR NullInjectorError: R3InjectorError(Or)[t -> t -> t]: NullInjectorError: No provider for t! HOT 1
- Android doesn't open the Google Play In-App Reviews APIs of the app. HOT 1
- Error after posting review (android)
- iOS `requestReview` API was deprecated. HOT 3
- package.json missing dependency HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cordova-launch-review.