mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-14 04:05:23 +08:00
71 lines
2.9 KiB
TypeScript
71 lines
2.9 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
|
|
|
/**
|
|
* @name Launch Review
|
|
* @description
|
|
*
|
|
* Assists in leaving user reviews/ratings in the App Stores.
|
|
* - Launches the platform's App Store page for the current app in order for the user to leave a review.
|
|
* - On iOS (10.3 and above) invokes the native in-app rating dialog which allows a user to rate your app without needing to open the App Store.
|
|
*
|
|
* @usage
|
|
* ```typescript
|
|
* import { LaunchReview } from '@ionic-native/launch-review';
|
|
*
|
|
* constructor(private launchReview: LaunchReview) { }
|
|
*
|
|
* ...
|
|
*
|
|
* this.launchReview.launch()
|
|
* .then(() => console.log('Successfully launched store app');
|
|
*
|
|
* if(this.launchReview.isRatingSupported()){
|
|
* this.launchReview.rating()
|
|
* .then(() => console.log('Successfully launched rating dialog');
|
|
* }
|
|
* ```
|
|
*/
|
|
@Plugin({
|
|
pluginName: 'LaunchReview',
|
|
plugin: 'cordova-launch-review',
|
|
pluginRef: 'LaunchReview',
|
|
repo: 'https://github.com/dpa99c/cordova-launch-review',
|
|
platforms: ['Android', 'iOS']
|
|
})
|
|
@Injectable()
|
|
export class LaunchReview extends IonicNativePlugin {
|
|
|
|
/**
|
|
* Launches App Store on current platform in order to leave a review for given app.
|
|
* @param appId {string} - (optional) the platform-specific app ID to use to open the page in the store app.
|
|
* If not specified, the plugin will use the app ID for the app in which the plugin is contained.
|
|
* On Android this is the full package name of the app. For example, for Google Maps: `com.google.android.apps.maps`
|
|
* On iOS this is the Apple ID of the app. For example, for Google Maps: `585027354`
|
|
* @returns {Promise<void>}
|
|
*/
|
|
@Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' })
|
|
launch(appId?: string): Promise<void> { return; }
|
|
|
|
/**
|
|
* Invokes the native in-app rating dialog which allows a user to rate your app without needing to open the App Store.
|
|
* Requires iOS 10.3 and above: Calling this on any platform/version other than iOS 10.3+ will result in the error callback.
|
|
* Success callback will be called up to 3 times:
|
|
* - First: after `LaunchReview.rating()` is called and the request to show the dialog is successful. Will be passed the value `requested`.
|
|
* - Second: if and when the Rating dialog is actually displayed. Will be passed the value `shown`.
|
|
* - Third: if and when the Rating dialog is dismissed. Will be passed the value `dismissed`.
|
|
* @returns {Promise<string>}
|
|
*/
|
|
@Cordova({ platforms: ['iOS'] })
|
|
rating(): Promise<string> { return; }
|
|
|
|
/**
|
|
* Indicates if the current platform/version supports in-app ratings dialog, i.e. calling LaunchReview.rating().
|
|
* Will return true if current platform is iOS 10.3 or above.
|
|
* @returns {boolean}
|
|
*/
|
|
@Cordova({ platforms: ['Android', 'iOS'], sync: true })
|
|
isRatingSupported(): boolean { return; }
|
|
|
|
}
|