react-native-iap 12.9.0 → 12.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/play/java/com/dooboolab/rniap/RNIapModule.kt +25 -0
- package/lib/commonjs/modules/android.js +14 -1
- package/lib/commonjs/modules/android.js.map +1 -1
- package/lib/commonjs/types/android.js +13 -1
- package/lib/commonjs/types/android.js.map +1 -1
- package/lib/module/modules/android.js +13 -1
- package/lib/module/modules/android.js.map +1 -1
- package/lib/module/types/android.js +12 -0
- package/lib/module/types/android.js.map +1 -1
- package/lib/typescript/src/modules/android.d.ts +7 -0
- package/lib/typescript/src/modules/android.d.ts.map +1 -1
- package/lib/typescript/src/types/android.d.ts +15 -0
- package/lib/typescript/src/types/android.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/modules/android.ts +20 -1
- package/src/types/android.ts +16 -0
|
@@ -87,6 +87,31 @@ class RNIapModule(
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
@ReactMethod
|
|
91
|
+
fun isFeatureSupported(feature: String, promise: Promise) {
|
|
92
|
+
ensureConnection(
|
|
93
|
+
promise,
|
|
94
|
+
) { billingClient ->
|
|
95
|
+
val f = when (feature) {
|
|
96
|
+
"IN_APP_MESSAGING" ->
|
|
97
|
+
BillingClient.FeatureType.IN_APP_MESSAGING
|
|
98
|
+
"PRICE_CHANGE_CONFIRMATION" ->
|
|
99
|
+
BillingClient.FeatureType.PRICE_CHANGE_CONFIRMATION
|
|
100
|
+
"PRODUCT_DETAILS" ->
|
|
101
|
+
BillingClient.FeatureType.PRODUCT_DETAILS
|
|
102
|
+
"SUBSCRIPTIONS" ->
|
|
103
|
+
BillingClient.FeatureType.SUBSCRIPTIONS
|
|
104
|
+
"SUBSCRIPTIONS_UPDATE" ->
|
|
105
|
+
BillingClient.FeatureType.SUBSCRIPTIONS_UPDATE
|
|
106
|
+
else -> {
|
|
107
|
+
promise.safeReject("Invalid Feature name")
|
|
108
|
+
return@ensureConnection
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
promise.safeResolve(billingClient.isFeatureSupported(f))
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
90
115
|
@ReactMethod
|
|
91
116
|
fun initConnection(promise: Promise) {
|
|
92
117
|
if (googleApiAvailability.isGooglePlayServicesAvailable(reactContext)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.validateReceiptAndroid = exports.getInstallSourceAndroid = exports.deepLinkToSubscriptionsAndroid = exports.acknowledgePurchaseAndroid = exports.AndroidModule = void 0;
|
|
6
|
+
exports.validateReceiptAndroid = exports.isFeatureSupported = exports.getInstallSourceAndroid = exports.deepLinkToSubscriptionsAndroid = exports.acknowledgePurchaseAndroid = exports.AndroidModule = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _internal = require("../internal");
|
|
9
9
|
var _types = require("../types");
|
|
@@ -79,5 +79,18 @@ const acknowledgePurchaseAndroid = _ref3 => {
|
|
|
79
79
|
} = _ref3;
|
|
80
80
|
return (0, _internal.getAndroidModule)().acknowledgePurchase(token, developerPayload);
|
|
81
81
|
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Acknowledge a product (on Android.) No-op on iOS.
|
|
85
|
+
* @param {Android.FeatureType} feature to be checked
|
|
86
|
+
* @returns {Promise<boolean>}
|
|
87
|
+
*/
|
|
82
88
|
exports.acknowledgePurchaseAndroid = acknowledgePurchaseAndroid;
|
|
89
|
+
const isFeatureSupported = feature => {
|
|
90
|
+
if (!(_internal.isAndroid && RNIapModule)) {
|
|
91
|
+
return Promise.reject('This is only available on Android clients');
|
|
92
|
+
}
|
|
93
|
+
return AndroidModule.isFeatureSupported(feature);
|
|
94
|
+
};
|
|
95
|
+
exports.isFeatureSupported = isFeatureSupported;
|
|
83
96
|
//# sourceMappingURL=android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_internal","_types","RNIapModule","NativeModules","AndroidModule","exports","getInstallSourceAndroid","InstallSourceAndroid","GOOGLE_PLAY","AMAZON","deepLinkToSubscriptionsAndroid","_ref","sku","checkNativeAndroidAvailable","Linking","openURL","getPackageName","validateReceiptAndroid","_ref2","packageName","productId","productToken","accessToken","isSub","type","url","response","fetch","method","headers","ok","Object","assign","Error","statusText","statusCode","status","json","acknowledgePurchaseAndroid","_ref3","token","developerPayload","getAndroidModule","acknowledgePurchase"],"sourceRoot":"../../../src","sources":["modules/android.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_internal","_types","RNIapModule","NativeModules","AndroidModule","exports","getInstallSourceAndroid","InstallSourceAndroid","GOOGLE_PLAY","AMAZON","deepLinkToSubscriptionsAndroid","_ref","sku","checkNativeAndroidAvailable","Linking","openURL","getPackageName","validateReceiptAndroid","_ref2","packageName","productId","productToken","accessToken","isSub","type","url","response","fetch","method","headers","ok","Object","assign","Error","statusText","statusCode","status","json","acknowledgePurchaseAndroid","_ref3","token","developerPayload","getAndroidModule","acknowledgePurchase","isFeatureSupported","feature","isAndroid","Promise","reject"],"sourceRoot":"../../../src","sources":["modules/android.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAaA,MAAM;EAACG;AAAW,CAAC,GAAGC,0BAAa;AAuD5B,MAAMC,aAAa,GAAGD,0BAAa,CAACD,WAAiC;AAACG,OAAA,CAAAD,aAAA,GAAAA,aAAA;AAEtE,MAAME,uBAAuB,GAAGA,CAAA,KAA4B;EACjE,OAAOJ,WAAW,GACdK,2BAAoB,CAACC,WAAW,GAChCD,2BAAoB,CAACE,MAAM;AACjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAJ,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAKO,MAAMI,8BAA8B,GAAG,MAAAC,IAAA,IAIzB;EAAA,IAJgC;IACnDC;EAGF,CAAC,GAAAD,IAAA;EACC,IAAAE,qCAA2B,GAAE;EAE7B,OAAOC,oBAAO,CAACC,OAAO,CACnB,+DAA8D,MAAMb,WAAW,CAACc,cAAc,EAAG,QAAOJ,GAAI,EAAC,CAC/G;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVAP,OAAA,CAAAK,8BAAA,GAAAA,8BAAA;AAWO,MAAMO,sBAAsB,GAAG,MAAAC,KAAA,IAYF;EAAA,IAZS;IAC3CC,WAAW;IACXC,SAAS;IACTC,YAAY;IACZC,WAAW;IACXC;EAOF,CAAC,GAAAL,KAAA;EACC,MAAMM,IAAI,GAAGD,KAAK,GAAG,eAAe,GAAG,UAAU;EAEjD,MAAME,GAAG,GACP,0EAA0E,GACzE,IAAGN,WAAY,cAAaK,IAAK,IAAGJ,SAAU,EAAC,GAC/C,WAAUC,YAAa,iBAAgBC,WAAY,EAAC;EAEvD,MAAMI,QAAQ,GAAG,MAAMC,KAAK,CAACF,GAAG,EAAE;IAChCG,MAAM,EAAE,KAAK;IACbC,OAAO,EAAE;MACP,cAAc,EAAE;IAClB;EACF,CAAC,CAAC;EAEF,IAAI,CAACH,QAAQ,CAACI,EAAE,EAAE;IAChB,MAAMC,MAAM,CAACC,MAAM,CAAC,IAAIC,KAAK,CAACP,QAAQ,CAACQ,UAAU,CAAC,EAAE;MAClDC,UAAU,EAAET,QAAQ,CAACU;IACvB,CAAC,CAAC;EACJ;EAEA,OAAOV,QAAQ,CAACW,IAAI,EAAE;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAhC,OAAA,CAAAY,sBAAA,GAAAA,sBAAA;AAKO,MAAMqB,0BAA0B,GAAGC,KAAA,IAMM;EAAA,IANL;IACzCC,KAAK;IACLC;EAIF,CAAC,GAAAF,KAAA;EACC,OAAO,IAAAG,0BAAgB,GAAE,CAACC,mBAAmB,CAACH,KAAK,EAAEC,gBAAgB,CAAC;AACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJApC,OAAA,CAAAiC,0BAAA,GAAAA,0BAAA;AAKO,MAAMM,kBAAkB,GAC7BC,OAA4B,IACP;EACrB,IAAI,EAAEC,mBAAS,IAAI5C,WAAW,CAAC,EAAE;IAC/B,OAAO6C,OAAO,CAACC,MAAM,CAAC,2CAA2C,CAAC;EACpE;EACA,OAAO5C,aAAa,CAACwC,kBAAkB,CAACC,OAAO,CAAC;AAClD,CAAC;AAACxC,OAAA,CAAAuC,kBAAA,GAAAA,kBAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.singleProductAndroidMap = exports.AndroidPurchaseType = exports.AndroidPurchaseState = exports.AndroidConsumptionState = exports.AndroidAcknowledgementState = void 0;
|
|
6
|
+
exports.singleProductAndroidMap = exports.FeatureType = exports.AndroidPurchaseType = exports.AndroidPurchaseState = exports.AndroidConsumptionState = exports.AndroidAcknowledgementState = void 0;
|
|
7
7
|
let AndroidPurchaseState = /*#__PURE__*/function (AndroidPurchaseState) {
|
|
8
8
|
AndroidPurchaseState[AndroidPurchaseState["purchased"] = 0] = "purchased";
|
|
9
9
|
AndroidPurchaseState[AndroidPurchaseState["canceled"] = 1] = "canceled";
|
|
@@ -44,7 +44,19 @@ let AndroidAcknowledgementState = /*#__PURE__*/function (AndroidAcknowledgementS
|
|
|
44
44
|
* @param {string} kind
|
|
45
45
|
*/
|
|
46
46
|
exports.AndroidAcknowledgementState = AndroidAcknowledgementState;
|
|
47
|
+
/** Based on
|
|
48
|
+
* https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType
|
|
49
|
+
*/
|
|
50
|
+
let FeatureType = /*#__PURE__*/function (FeatureType) {
|
|
51
|
+
FeatureType["IN_APP_MESSAGING"] = "IN_APP_MESSAGING";
|
|
52
|
+
FeatureType["PRICE_CHANGE_CONFIRMATION"] = "PRICE_CHANGE_CONFIRMATION";
|
|
53
|
+
FeatureType["PRODUCT_DETAILS"] = "PRODUCT_DETAILS";
|
|
54
|
+
FeatureType["SUBSCRIPTIONS"] = "SUBSCRIPTIONS";
|
|
55
|
+
FeatureType["SUBSCRIPTIONS_UPDATE"] = "SUBSCRIPTIONS_UPDATE";
|
|
56
|
+
return FeatureType;
|
|
57
|
+
}({});
|
|
47
58
|
/** Added to maintain backwards compatibility */
|
|
59
|
+
exports.FeatureType = FeatureType;
|
|
48
60
|
const singleProductAndroidMap = originalProd => {
|
|
49
61
|
var _originalProd$oneTime, _originalProd$oneTime2, _originalProd$oneTime3;
|
|
50
62
|
const prod = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AndroidPurchaseState","exports","AndroidPurchaseType","AndroidConsumptionState","AndroidAcknowledgementState","singleProductAndroidMap","originalProd","_originalProd$oneTime","_originalProd$oneTime2","_originalProd$oneTime3","prod","price","oneTimePurchaseOfferDetails","formattedPrice","localizedPrice","currency","priceCurrencyCode"],"sourceRoot":"../../../src","sources":["types/android.ts"],"mappings":";;;;;;IAEYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAAC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAAA,IAMpBE,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAAD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAAA,IAMnBC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAAAF,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AAAA,IAKvBC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;AAKvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbAH,OAAA,CAAAG,2BAAA,GAAAA,2BAAA;AA8BA;AACO,MAAMC,uBAAuB,GAClCC,YAA4B,IACT;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACnB,MAAMC,IAAoB,GAAG;IAC3B,GAAGJ,YAAY;IACf;IACAK,KAAK,EACH,EAAAJ,qBAAA,GAAAD,YAAY,CAACM,2BAA2B,cAAAL,qBAAA,uBAAxCA,qBAAA,CAA0CM,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBG,cAAc,EACZ,EAAAN,sBAAA,GAAAF,YAAY,CAACM,2BAA2B,cAAAJ,sBAAA,uBAAxCA,sBAAA,CAA0CK,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBI,QAAQ,EACN,EAAAN,sBAAA,GAAAH,YAAY,CAACM,2BAA2B,cAAAH,sBAAA,uBAAxCA,sBAAA,CAA0CO,iBAAiB,KAC3DV,YAAY,CAACS;EACjB,CAAC;EACD,OAAOL,IAAI;AACb,CAAC;
|
|
1
|
+
{"version":3,"names":["AndroidPurchaseState","exports","AndroidPurchaseType","AndroidConsumptionState","AndroidAcknowledgementState","FeatureType","singleProductAndroidMap","originalProd","_originalProd$oneTime","_originalProd$oneTime2","_originalProd$oneTime3","prod","price","oneTimePurchaseOfferDetails","formattedPrice","localizedPrice","currency","priceCurrencyCode"],"sourceRoot":"../../../src","sources":["types/android.ts"],"mappings":";;;;;;IAEYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAAC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAAA,IAMpBE,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAAD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAAA,IAMnBC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAAAF,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AAAA,IAKvBC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;AAKvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbAH,OAAA,CAAAG,2BAAA,GAAAA,2BAAA;AA8BA;AACA;AACA;AAFA,IAGYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAavB;AAAAJ,OAAA,CAAAI,WAAA,GAAAA,WAAA;AACO,MAAMC,uBAAuB,GAClCC,YAA4B,IACT;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACnB,MAAMC,IAAoB,GAAG;IAC3B,GAAGJ,YAAY;IACf;IACAK,KAAK,EACH,EAAAJ,qBAAA,GAAAD,YAAY,CAACM,2BAA2B,cAAAL,qBAAA,uBAAxCA,qBAAA,CAA0CM,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBG,cAAc,EACZ,EAAAN,sBAAA,GAAAF,YAAY,CAACM,2BAA2B,cAAAJ,sBAAA,uBAAxCA,sBAAA,CAA0CK,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBI,QAAQ,EACN,EAAAN,sBAAA,GAAAH,YAAY,CAACM,2BAA2B,cAAAH,sBAAA,uBAAxCA,sBAAA,CAA0CO,iBAAiB,KAC3DV,YAAY,CAACS;EACjB,CAAC;EACD,OAAOL,IAAI;AACb,CAAC;AAACV,OAAA,CAAAK,uBAAA,GAAAA,uBAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Linking, NativeModules } from 'react-native';
|
|
2
|
-
import { checkNativeAndroidAvailable, getAndroidModule } from '../internal';
|
|
2
|
+
import { checkNativeAndroidAvailable, getAndroidModule, isAndroid } from '../internal';
|
|
3
3
|
import { InstallSourceAndroid } from '../types';
|
|
4
4
|
const {
|
|
5
5
|
RNIapModule
|
|
@@ -69,4 +69,16 @@ export const acknowledgePurchaseAndroid = _ref3 => {
|
|
|
69
69
|
} = _ref3;
|
|
70
70
|
return getAndroidModule().acknowledgePurchase(token, developerPayload);
|
|
71
71
|
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Acknowledge a product (on Android.) No-op on iOS.
|
|
75
|
+
* @param {Android.FeatureType} feature to be checked
|
|
76
|
+
* @returns {Promise<boolean>}
|
|
77
|
+
*/
|
|
78
|
+
export const isFeatureSupported = feature => {
|
|
79
|
+
if (!(isAndroid && RNIapModule)) {
|
|
80
|
+
return Promise.reject('This is only available on Android clients');
|
|
81
|
+
}
|
|
82
|
+
return AndroidModule.isFeatureSupported(feature);
|
|
83
|
+
};
|
|
72
84
|
//# sourceMappingURL=android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","NativeModules","checkNativeAndroidAvailable","getAndroidModule","InstallSourceAndroid","RNIapModule","AndroidModule","getInstallSourceAndroid","GOOGLE_PLAY","AMAZON","deepLinkToSubscriptionsAndroid","_ref","sku","openURL","getPackageName","validateReceiptAndroid","_ref2","packageName","productId","productToken","accessToken","isSub","type","url","response","fetch","method","headers","ok","Object","assign","Error","statusText","statusCode","status","json","acknowledgePurchaseAndroid","_ref3","token","developerPayload","acknowledgePurchase"],"sourceRoot":"../../../src","sources":["modules/android.ts"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,aAAa,QAAO,cAAc;AAEnD,
|
|
1
|
+
{"version":3,"names":["Linking","NativeModules","checkNativeAndroidAvailable","getAndroidModule","isAndroid","InstallSourceAndroid","RNIapModule","AndroidModule","getInstallSourceAndroid","GOOGLE_PLAY","AMAZON","deepLinkToSubscriptionsAndroid","_ref","sku","openURL","getPackageName","validateReceiptAndroid","_ref2","packageName","productId","productToken","accessToken","isSub","type","url","response","fetch","method","headers","ok","Object","assign","Error","statusText","statusCode","status","json","acknowledgePurchaseAndroid","_ref3","token","developerPayload","acknowledgePurchase","isFeatureSupported","feature","Promise","reject"],"sourceRoot":"../../../src","sources":["modules/android.ts"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,aAAa,QAAO,cAAc;AAEnD,SACEC,2BAA2B,EAC3BC,gBAAgB,EAChBC,SAAS,QACJ,aAAa;AACpB,SACEC,oBAAoB,QAOf,UAAU;AAKjB,MAAM;EAACC;AAAW,CAAC,GAAGL,aAAa;AAuDnC,OAAO,MAAMM,aAAa,GAAGN,aAAa,CAACK,WAAiC;AAE5E,OAAO,MAAME,uBAAuB,GAAGA,CAAA,KAA4B;EACjE,OAAOF,WAAW,GACdD,oBAAoB,CAACI,WAAW,GAChCJ,oBAAoB,CAACK,MAAM;AACjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,GAAG,MAAAC,IAAA,IAIzB;EAAA,IAJgC;IACnDC;EAGF,CAAC,GAAAD,IAAA;EACCV,2BAA2B,EAAE;EAE7B,OAAOF,OAAO,CAACc,OAAO,CACnB,+DAA8D,MAAMR,WAAW,CAACS,cAAc,EAAG,QAAOF,GAAI,EAAC,CAC/G;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,sBAAsB,GAAG,MAAAC,KAAA,IAYF;EAAA,IAZS;IAC3CC,WAAW;IACXC,SAAS;IACTC,YAAY;IACZC,WAAW;IACXC;EAOF,CAAC,GAAAL,KAAA;EACC,MAAMM,IAAI,GAAGD,KAAK,GAAG,eAAe,GAAG,UAAU;EAEjD,MAAME,GAAG,GACP,0EAA0E,GACzE,IAAGN,WAAY,cAAaK,IAAK,IAAGJ,SAAU,EAAC,GAC/C,WAAUC,YAAa,iBAAgBC,WAAY,EAAC;EAEvD,MAAMI,QAAQ,GAAG,MAAMC,KAAK,CAACF,GAAG,EAAE;IAChCG,MAAM,EAAE,KAAK;IACbC,OAAO,EAAE;MACP,cAAc,EAAE;IAClB;EACF,CAAC,CAAC;EAEF,IAAI,CAACH,QAAQ,CAACI,EAAE,EAAE;IAChB,MAAMC,MAAM,CAACC,MAAM,CAAC,IAAIC,KAAK,CAACP,QAAQ,CAACQ,UAAU,CAAC,EAAE;MAClDC,UAAU,EAAET,QAAQ,CAACU;IACvB,CAAC,CAAC;EACJ;EAEA,OAAOV,QAAQ,CAACW,IAAI,EAAE;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGC,KAAA,IAMM;EAAA,IANL;IACzCC,KAAK;IACLC;EAIF,CAAC,GAAAF,KAAA;EACC,OAAOnC,gBAAgB,EAAE,CAACsC,mBAAmB,CAACF,KAAK,EAAEC,gBAAgB,CAAC;AACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,kBAAkB,GAC7BC,OAA4B,IACP;EACrB,IAAI,EAAEvC,SAAS,IAAIE,WAAW,CAAC,EAAE;IAC/B,OAAOsC,OAAO,CAACC,MAAM,CAAC,2CAA2C,CAAC;EACpE;EACA,OAAOtC,aAAa,CAACmC,kBAAkB,CAACC,OAAO,CAAC;AAClD,CAAC"}
|
|
@@ -36,6 +36,18 @@ export let AndroidAcknowledgementState = /*#__PURE__*/function (AndroidAcknowled
|
|
|
36
36
|
* @param {string} kind
|
|
37
37
|
*/
|
|
38
38
|
|
|
39
|
+
/** Based on
|
|
40
|
+
* https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType
|
|
41
|
+
*/
|
|
42
|
+
export let FeatureType = /*#__PURE__*/function (FeatureType) {
|
|
43
|
+
FeatureType["IN_APP_MESSAGING"] = "IN_APP_MESSAGING";
|
|
44
|
+
FeatureType["PRICE_CHANGE_CONFIRMATION"] = "PRICE_CHANGE_CONFIRMATION";
|
|
45
|
+
FeatureType["PRODUCT_DETAILS"] = "PRODUCT_DETAILS";
|
|
46
|
+
FeatureType["SUBSCRIPTIONS"] = "SUBSCRIPTIONS";
|
|
47
|
+
FeatureType["SUBSCRIPTIONS_UPDATE"] = "SUBSCRIPTIONS_UPDATE";
|
|
48
|
+
return FeatureType;
|
|
49
|
+
}({});
|
|
50
|
+
|
|
39
51
|
/** Added to maintain backwards compatibility */
|
|
40
52
|
export const singleProductAndroidMap = originalProd => {
|
|
41
53
|
var _originalProd$oneTime, _originalProd$oneTime2, _originalProd$oneTime3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AndroidPurchaseState","AndroidPurchaseType","AndroidConsumptionState","AndroidAcknowledgementState","singleProductAndroidMap","originalProd","_originalProd$oneTime","_originalProd$oneTime2","_originalProd$oneTime3","prod","price","oneTimePurchaseOfferDetails","formattedPrice","localizedPrice","currency","priceCurrencyCode"],"sourceRoot":"../../../src","sources":["types/android.ts"],"mappings":"AAEA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAMhC,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAM/B,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAKnC,WAAYC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;;AAKvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA;AACA,OAAO,MAAMC,uBAAuB,GAClCC,YAA4B,IACT;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACnB,MAAMC,IAAoB,GAAG;IAC3B,GAAGJ,YAAY;IACf;IACAK,KAAK,EACH,EAAAJ,qBAAA,GAAAD,YAAY,CAACM,2BAA2B,cAAAL,qBAAA,uBAAxCA,qBAAA,CAA0CM,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBG,cAAc,EACZ,EAAAN,sBAAA,GAAAF,YAAY,CAACM,2BAA2B,cAAAJ,sBAAA,uBAAxCA,sBAAA,CAA0CK,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBI,QAAQ,EACN,EAAAN,sBAAA,GAAAH,YAAY,CAACM,2BAA2B,cAAAH,sBAAA,uBAAxCA,sBAAA,CAA0CO,iBAAiB,KAC3DV,YAAY,CAACS;EACjB,CAAC;EACD,OAAOL,IAAI;AACb,CAAC"}
|
|
1
|
+
{"version":3,"names":["AndroidPurchaseState","AndroidPurchaseType","AndroidConsumptionState","AndroidAcknowledgementState","FeatureType","singleProductAndroidMap","originalProd","_originalProd$oneTime","_originalProd$oneTime2","_originalProd$oneTime3","prod","price","oneTimePurchaseOfferDetails","formattedPrice","localizedPrice","currency","priceCurrencyCode"],"sourceRoot":"../../../src","sources":["types/android.ts"],"mappings":"AAEA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAMhC,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAM/B,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAvBA,uBAAuB,CAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAKnC,WAAYC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAA3BA,2BAA2B,CAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;;AAKvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA;AACA;AACA;AACA,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAavB;AACA,OAAO,MAAMC,uBAAuB,GAClCC,YAA4B,IACT;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACnB,MAAMC,IAAoB,GAAG;IAC3B,GAAGJ,YAAY;IACf;IACAK,KAAK,EACH,EAAAJ,qBAAA,GAAAD,YAAY,CAACM,2BAA2B,cAAAL,qBAAA,uBAAxCA,qBAAA,CAA0CM,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBG,cAAc,EACZ,EAAAN,sBAAA,GAAAF,YAAY,CAACM,2BAA2B,cAAAJ,sBAAA,uBAAxCA,sBAAA,CAA0CK,cAAc,KACxDP,YAAY,CAACK,KAAK;IACpBI,QAAQ,EACN,EAAAN,sBAAA,GAAAH,YAAY,CAACM,2BAA2B,cAAAH,sBAAA,uBAAxCA,sBAAA,CAA0CO,iBAAiB,KAC3DV,YAAY,CAACS;EACjB,CAAC;EACD,OAAOL,IAAI;AACb,CAAC"}
|
|
@@ -21,6 +21,7 @@ export interface AndroidModuleProps extends NativeModuleProps {
|
|
|
21
21
|
/** @deprecated to be renamed to sendUnconsumedPurchases if not removed completely */
|
|
22
22
|
startListening: StartListening;
|
|
23
23
|
getPackageName: GetPackageName;
|
|
24
|
+
isFeatureSupported: (feature: Android.FeatureType) => Promise<boolean>;
|
|
24
25
|
}
|
|
25
26
|
export declare const AndroidModule: AndroidModuleProps;
|
|
26
27
|
export declare const getInstallSourceAndroid: () => InstallSourceAndroid;
|
|
@@ -59,5 +60,11 @@ export declare const acknowledgePurchaseAndroid: ({ token, developerPayload, }:
|
|
|
59
60
|
token: string;
|
|
60
61
|
developerPayload?: string | undefined;
|
|
61
62
|
}) => Promise<PurchaseResult | boolean | void>;
|
|
63
|
+
/**
|
|
64
|
+
* Acknowledge a product (on Android.) No-op on iOS.
|
|
65
|
+
* @param {Android.FeatureType} feature to be checked
|
|
66
|
+
* @returns {Promise<boolean>}
|
|
67
|
+
*/
|
|
68
|
+
export declare const isFeatureSupported: (feature: Android.FeatureType) => Promise<boolean>;
|
|
62
69
|
export {};
|
|
63
70
|
//# sourceMappingURL=android.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/modules/android.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/modules/android.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,GAAG,EACJ,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAIhD,KAAK,mCAAmC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAElE,KAAK,cAAc,GAAG,CAAC,CAAC,GAAG,OAAO,EAChC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,GAAG,EAAE,KACR,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAElB,KAAK,uBAAuB,GAAG,CAAC,CAAC,GAAG,QAAQ,EAC1C,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAElB,KAAK,wBAAwB,GAAG,CAAC,CAAC,GAAG,QAAQ,EAC3C,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EAAE,EACX,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,aAAa,EAAE,qBAAqB,GAAG,CAAC,CAAC,EACzC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,kBAAkB,EAAE,MAAM,EAAE,EAC5B,mBAAmB,EAAE,OAAO,KACzB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,KAAK,mBAAmB,GAAG,CACzB,aAAa,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,MAAM,KAC7B,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC;AAEvC,KAAK,cAAc,GAAG,CACpB,aAAa,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,MAAM,KAC7B,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC;AAEvC,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1C,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAE5C,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,mCAAmC,EAAE,mCAAmC,CAAC;IACzE,cAAc,EAAE,cAAc,CAAC;IAC/B,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,qFAAqF;IACrF,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,aAAa,oBAAkD,CAAC;AAE7E,eAAO,MAAM,uBAAuB,QAAO,oBAI1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;SAGpC,GAAG;MACN,QAAQ,IAAI,CAMf,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB;iBAOpB,MAAM;eACR,MAAM;kBACH,MAAM;iBACP,MAAM;;MAEjB,QAAQ,QAAQ,WAAW,CAsB9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;WAI9B,MAAM;;MAEX,QAAQ,cAAc,GAAG,OAAO,GAAG,IAAI,CAE1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,YACpB,QAAQ,WAAW,KAC3B,QAAQ,OAAO,CAKjB,CAAC"}
|
|
@@ -46,6 +46,21 @@ export type ReceiptType = {
|
|
|
46
46
|
acknowledgementState: AndroidAcknowledgementState;
|
|
47
47
|
kind: string;
|
|
48
48
|
} & Record<string, unknown>;
|
|
49
|
+
/** Based on
|
|
50
|
+
* https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType
|
|
51
|
+
*/
|
|
52
|
+
export declare enum FeatureType {
|
|
53
|
+
/** Show in-app messages. Included in documentation by the annotations: */
|
|
54
|
+
IN_APP_MESSAGING = "IN_APP_MESSAGING",
|
|
55
|
+
/** Launch a price change confirmation flow. */
|
|
56
|
+
PRICE_CHANGE_CONFIRMATION = "PRICE_CHANGE_CONFIRMATION",
|
|
57
|
+
/** Play billing library support for querying and purchasing with ProductDetails. */
|
|
58
|
+
PRODUCT_DETAILS = "PRODUCT_DETAILS",
|
|
59
|
+
/** Purchase/query for subscriptions. */
|
|
60
|
+
SUBSCRIPTIONS = "SUBSCRIPTIONS",
|
|
61
|
+
/** Subscriptions update/replace. */
|
|
62
|
+
SUBSCRIPTIONS_UPDATE = "SUBSCRIPTIONS_UPDATE"
|
|
63
|
+
}
|
|
49
64
|
/** Added to maintain backwards compatibility */
|
|
50
65
|
export declare const singleProductAndroidMap: (originalProd: ProductAndroid) => ProductAndroid;
|
|
51
66
|
//# sourceMappingURL=android.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/types/android.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AAEtC,oBAAY,oBAAoB;IAC9B,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,OAAO,IAAI;CACZ;AAED,oBAAY,mBAAmB;IAC7B,IAAI,IAAI;IACR,KAAK,IAAI;IACT,QAAQ,IAAI;CACb;AAED,oBAAY,uBAAuB;IACjC,GAAG,IAAI;IACP,QAAQ,IAAI;CACb;AAED,oBAAY,2BAA2B;IACrC,GAAG,IAAI;IACP,YAAY,IAAI;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,oBAAoB,EAAE,2BAA2B,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,iBACpB,cAAc,KAC3B,cAeF,CAAC"}
|
|
1
|
+
{"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/types/android.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AAEtC,oBAAY,oBAAoB;IAC9B,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,OAAO,IAAI;CACZ;AAED,oBAAY,mBAAmB;IAC7B,IAAI,IAAI;IACR,KAAK,IAAI;IACT,QAAQ,IAAI;CACb;AAED,oBAAY,uBAAuB;IACjC,GAAG,IAAI;IACP,QAAQ,IAAI;CACb;AAED,oBAAY,2BAA2B;IACrC,GAAG,IAAI;IACP,YAAY,IAAI;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,oBAAoB,EAAE,2BAA2B,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B;;GAEG;AACH,oBAAY,WAAW;IACrB,0EAA0E;IAC1E,gBAAgB,qBAAqB;IACrC,+CAA+C;IAC/C,yBAAyB,8BAA8B;IACvD,oFAAoF;IACpF,eAAe,oBAAoB;IACnC,wCAAwC;IACxC,aAAa,kBAAkB;IAC/B,oCAAoC;IACpC,oBAAoB,yBAAyB;CAC9C;AAED,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,iBACpB,cAAc,KAC3B,cAeF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-iap",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.10.0",
|
|
4
4
|
"description": "React Native In App Purchase Module.",
|
|
5
5
|
"repository": "https://github.com/dooboolab/react-native-iap",
|
|
6
6
|
"author": "dooboolab <support@dooboolab.com> (https://github.com/dooboolab)",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"@types/jest": "29.5.0",
|
|
87
87
|
"@types/react": "*",
|
|
88
88
|
"@types/react-native": "*",
|
|
89
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
90
|
-
"@typescript-eslint/parser": "5.
|
|
89
|
+
"@typescript-eslint/eslint-plugin": "5.56.0",
|
|
90
|
+
"@typescript-eslint/parser": "5.56.0",
|
|
91
91
|
"babel-jest": "29.5.0",
|
|
92
92
|
"eslint": "8.36.0",
|
|
93
93
|
"eslint-config-prettier": "8.7.0",
|
package/src/modules/android.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import {Linking, NativeModules} from 'react-native';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
checkNativeAndroidAvailable,
|
|
5
|
+
getAndroidModule,
|
|
6
|
+
isAndroid,
|
|
7
|
+
} from '../internal';
|
|
4
8
|
import {
|
|
5
9
|
InstallSourceAndroid,
|
|
6
10
|
Product,
|
|
@@ -66,6 +70,7 @@ export interface AndroidModuleProps extends NativeModuleProps {
|
|
|
66
70
|
/** @deprecated to be renamed to sendUnconsumedPurchases if not removed completely */
|
|
67
71
|
startListening: StartListening;
|
|
68
72
|
getPackageName: GetPackageName;
|
|
73
|
+
isFeatureSupported: (feature: Android.FeatureType) => Promise<boolean>;
|
|
69
74
|
}
|
|
70
75
|
|
|
71
76
|
export const AndroidModule = NativeModules.RNIapModule as AndroidModuleProps;
|
|
@@ -154,3 +159,17 @@ export const acknowledgePurchaseAndroid = ({
|
|
|
154
159
|
}): Promise<PurchaseResult | boolean | void> => {
|
|
155
160
|
return getAndroidModule().acknowledgePurchase(token, developerPayload);
|
|
156
161
|
};
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Acknowledge a product (on Android.) No-op on iOS.
|
|
165
|
+
* @param {Android.FeatureType} feature to be checked
|
|
166
|
+
* @returns {Promise<boolean>}
|
|
167
|
+
*/
|
|
168
|
+
export const isFeatureSupported = (
|
|
169
|
+
feature: Android.FeatureType,
|
|
170
|
+
): Promise<boolean> => {
|
|
171
|
+
if (!(isAndroid && RNIapModule)) {
|
|
172
|
+
return Promise.reject('This is only available on Android clients');
|
|
173
|
+
}
|
|
174
|
+
return AndroidModule.isFeatureSupported(feature);
|
|
175
|
+
};
|
package/src/types/android.ts
CHANGED
|
@@ -52,6 +52,22 @@ export type ReceiptType = {
|
|
|
52
52
|
kind: string;
|
|
53
53
|
} & Record<string, unknown>;
|
|
54
54
|
|
|
55
|
+
/** Based on
|
|
56
|
+
* https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType
|
|
57
|
+
*/
|
|
58
|
+
export enum FeatureType {
|
|
59
|
+
/** Show in-app messages. Included in documentation by the annotations: */
|
|
60
|
+
IN_APP_MESSAGING = 'IN_APP_MESSAGING',
|
|
61
|
+
/** Launch a price change confirmation flow. */
|
|
62
|
+
PRICE_CHANGE_CONFIRMATION = 'PRICE_CHANGE_CONFIRMATION',
|
|
63
|
+
/** Play billing library support for querying and purchasing with ProductDetails. */
|
|
64
|
+
PRODUCT_DETAILS = 'PRODUCT_DETAILS',
|
|
65
|
+
/** Purchase/query for subscriptions. */
|
|
66
|
+
SUBSCRIPTIONS = 'SUBSCRIPTIONS',
|
|
67
|
+
/** Subscriptions update/replace. */
|
|
68
|
+
SUBSCRIPTIONS_UPDATE = 'SUBSCRIPTIONS_UPDATE',
|
|
69
|
+
}
|
|
70
|
+
|
|
55
71
|
/** Added to maintain backwards compatibility */
|
|
56
72
|
export const singleProductAndroidMap = (
|
|
57
73
|
originalProd: ProductAndroid,
|