From e6140aaaeef735731a292aabb3972624754f10c3 Mon Sep 17 00:00:00 2001 From: Daniel Sogl Date: Thu, 27 Jan 2022 08:32:31 +0000 Subject: [PATCH] feat(market): add plugin --- .../plugins/market/index.ts | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/@awesome-cordova-plugins/plugins/market/index.ts diff --git a/src/@awesome-cordova-plugins/plugins/market/index.ts b/src/@awesome-cordova-plugins/plugins/market/index.ts new file mode 100644 index 00000000..dd29b813 --- /dev/null +++ b/src/@awesome-cordova-plugins/plugins/market/index.ts @@ -0,0 +1,57 @@ +import { Injectable } from '@angular/core'; +import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core'; +/** + * @name Market + * @description + * Opens an app's page in the market place (Google Play, App Store) + * + * @usage + * ```typescript + * import { Market } from '@awesome-cordova-plugins/market/ngx'; + * + * constructor(private market: Market) { } + * + * ... + * + * this.market.open('your.package.name'); + * + * ``` + */ +@Plugin({ + pluginName: 'Market', + plugin: 'cordova-plugin-market', + pluginRef: 'cordova.plugins.market', + repo: 'https://github.com/xmartlabs/cordova-plugin-market', + platforms: ['Android', 'iOS'], +}) +@Injectable() +export class Market extends AwesomeCordovaNativePlugin { + /** + * Opens an app in Google Play / App Store + * @param appId {string} Package name + * @return {Promise} + */ + @Cordova({ + callbackStyle: 'object', + successName: 'success', + errorName: 'failure', + }) + open(appId: string): Promise { + return; + } + + /** + * Search apps by keyword + * @param keyword {string} Keyword + * @return {Promise} + */ + @Cordova({ + callbackStyle: 'object', + successName: 'success', + errorName: 'failure', + platforms: ['Android'], + }) + search(keyword: string): Promise { + return; + } +}