mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-22 09:23:01 +08:00
feat(inAppPurchase): add inAppPurchase
This commit is contained in:
parent
2fe37c461c
commit
f1988f67f5
@ -47,6 +47,7 @@ import {Httpd} from './plugins/httpd';
|
|||||||
import {IBeacon} from './plugins/ibeacon';
|
import {IBeacon} from './plugins/ibeacon';
|
||||||
import {ImagePicker} from './plugins/imagepicker';
|
import {ImagePicker} from './plugins/imagepicker';
|
||||||
import {InAppBrowser} from './plugins/inappbrowser';
|
import {InAppBrowser} from './plugins/inappbrowser';
|
||||||
|
import {InAppPurchase} from './plugins/inapppurchase';
|
||||||
import {Insomnia} from './plugins/insomnia';
|
import {Insomnia} from './plugins/insomnia';
|
||||||
import {Keyboard} from './plugins/keyboard';
|
import {Keyboard} from './plugins/keyboard';
|
||||||
import {LaunchNavigator} from './plugins/launchnavigator';
|
import {LaunchNavigator} from './plugins/launchnavigator';
|
||||||
@ -125,6 +126,7 @@ export {
|
|||||||
GooglePlus,
|
GooglePlus,
|
||||||
GoogleAnalytics,
|
GoogleAnalytics,
|
||||||
Hotspot,
|
Hotspot,
|
||||||
|
InAppPurchase,
|
||||||
Insomnia,
|
Insomnia,
|
||||||
Keyboard,
|
Keyboard,
|
||||||
Network,
|
Network,
|
||||||
@ -187,6 +189,7 @@ window['IonicNative'] = {
|
|||||||
IBeacon: IBeacon,
|
IBeacon: IBeacon,
|
||||||
ImagePicker: ImagePicker,
|
ImagePicker: ImagePicker,
|
||||||
InAppBrowser: InAppBrowser,
|
InAppBrowser: InAppBrowser,
|
||||||
|
InAppPurchase: InAppPurchase,
|
||||||
Keyboard: Keyboard,
|
Keyboard: Keyboard,
|
||||||
LaunchNavigator: LaunchNavigator,
|
LaunchNavigator: LaunchNavigator,
|
||||||
LocalNotifications: LocalNotifications,
|
LocalNotifications: LocalNotifications,
|
||||||
|
109
src/plugins/inapppurchase.ts
Normal file
109
src/plugins/inapppurchase.ts
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
import {Plugin, Cordova} from './plugin';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name InAppPurchase
|
||||||
|
* @description
|
||||||
|
* A lightweight Cordova plugin for in app purchases on iOS/Android.
|
||||||
|
*
|
||||||
|
* For more info, please see the [InAppPurchase plugin docs](https://github.com/AlexDisler/cordova-plugin-inapppurchase).
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
* ```ts
|
||||||
|
* import {InAppPurchase} from 'ionic-native';
|
||||||
|
*
|
||||||
|
* InAppPurchase
|
||||||
|
* .getProducts(['com.yourapp.prod1', 'com.yourapp.prod2', ...])
|
||||||
|
* .then((products) => {
|
||||||
|
* console.log(products);
|
||||||
|
* // [{ productId: 'com.yourapp.prod1', 'title': '...', description: '...', price: '...' }, ...]
|
||||||
|
* })
|
||||||
|
* .catch((err) => {
|
||||||
|
* console.log(err);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* InAppPurchase
|
||||||
|
* .buy('com.yourapp.prod1')
|
||||||
|
* .then((data)=> {
|
||||||
|
* console.log(data);
|
||||||
|
* // {
|
||||||
|
* // transactionId: ...
|
||||||
|
* // receipt: ...
|
||||||
|
* // signature: ...
|
||||||
|
* // }
|
||||||
|
* })
|
||||||
|
* .catch((err)=> {
|
||||||
|
* console.log(err);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* @advanced
|
||||||
|
*
|
||||||
|
* ```ts
|
||||||
|
* // fist buy the product...
|
||||||
|
* InAppPurchase
|
||||||
|
* .buy('com.yourapp.consumable_prod1')
|
||||||
|
* .then(data => InAppPurchase.consume(data.productType, data.receipt, data.signature))
|
||||||
|
* .then(() => console.log('product was successfully consumed!'))
|
||||||
|
* .catch( err=> console.log(err))
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Plugin({
|
||||||
|
plugin: 'cordova-plugin-inapppurchase',
|
||||||
|
pluginRef: 'inAppPurchase',
|
||||||
|
platforms: ['Android', 'iOS']
|
||||||
|
})
|
||||||
|
export class InAppPurchase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves a list of full product data from Apple/Google. This method must be called before making purchases.
|
||||||
|
* @param {array<string>} productId an array of product ids.
|
||||||
|
* @returns {Promise} Returns a Promise that resolves with an array of objects.
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
static getProducts(productId: array<string>): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Buy a product that matches the productId.
|
||||||
|
* @param {string} productId A string that matches the product you want to buy.
|
||||||
|
* @returns {Promise} Returns a Promise that resolves with the transaction details.
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
static buy(productId: string): Promise<{transactionId: string, receipt: string, signature: string, productType: string}> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as buy, but for subscription based products.
|
||||||
|
* @param {string} productId A string that matches the product you want to subscribe to.
|
||||||
|
* @returns {Promise} Returns a Promise that resolves with the transaction details.
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
static subscribe(productId: string): Promise<{transactionId: string, receipt: string, signature: string, productType: string}> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Call this function after purchasing a "consumable" product to mark it as consumed. On Android, you must consume products that you want to let the user purchase multiple times. If you will not consume the product after a purchase, the next time you will attempt to purchase it you will get the error message:
|
||||||
|
* @param {string} productType
|
||||||
|
* @param {string} receipt
|
||||||
|
* @param {string} signature
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
static consume(productType: string, receipt: string, signature: string): void { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore all purchases from the store
|
||||||
|
* @returns {Promise} Returns a promise with an array of purchases.
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
static restorePurchases(): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the receipt.
|
||||||
|
* @returns {Promise<string>} Returns a promise that contains the string for the receipt
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
static getReceipt(): Promise<string> { return; }
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user