@qonversion/react-native-sdk 10.0.0-RC1

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.
Files changed (290) hide show
  1. package/README.md +129 -0
  2. package/android/build.gradle +92 -0
  3. package/android/gradle.properties +6 -0
  4. package/android/src/main/AndroidManifest.xml +2 -0
  5. package/android/src/main/java/com/qonversion/reactnativesdk/EntitiesConverter.kt +135 -0
  6. package/android/src/main/java/com/qonversion/reactnativesdk/NoCodesModule.kt +76 -0
  7. package/android/src/main/java/com/qonversion/reactnativesdk/QonversionModule.kt +278 -0
  8. package/android/src/main/java/com/qonversion/reactnativesdk/QonversionPackage.kt +43 -0
  9. package/android/src/main/java/com/qonversion/reactnativesdk/Utils.kt +32 -0
  10. package/ios/RNNoCodes.h +5 -0
  11. package/ios/RNNoCodes.mm +61 -0
  12. package/ios/RNNoCodesImpl.swift +69 -0
  13. package/ios/RNQonversion.h +5 -0
  14. package/ios/RNQonversion.mm +189 -0
  15. package/ios/RNQonversionImpl.swift +250 -0
  16. package/ios/qonversion-react-native-sdk-Bridging-Header.h +6 -0
  17. package/lib/module/NoCodes.js +32 -0
  18. package/lib/module/NoCodes.js.map +1 -0
  19. package/lib/module/NoCodesApi.js +2 -0
  20. package/lib/module/NoCodesApi.js.map +1 -0
  21. package/lib/module/NoCodesConfig.js +10 -0
  22. package/lib/module/NoCodesConfig.js.map +1 -0
  23. package/lib/module/NoCodesConfigBuilder.js +35 -0
  24. package/lib/module/NoCodesConfigBuilder.js.map +1 -0
  25. package/lib/module/Qonversion.js +35 -0
  26. package/lib/module/Qonversion.js.map +1 -0
  27. package/lib/module/QonversionApi.js +4 -0
  28. package/lib/module/QonversionApi.js.map +1 -0
  29. package/lib/module/QonversionConfig.js +16 -0
  30. package/lib/module/QonversionConfig.js.map +1 -0
  31. package/lib/module/QonversionConfigBuilder.js +90 -0
  32. package/lib/module/QonversionConfigBuilder.js.map +1 -0
  33. package/lib/module/dto/Entitlement.js +24 -0
  34. package/lib/module/dto/Entitlement.js.map +1 -0
  35. package/lib/module/dto/EntitlementsUpdateListener.js +4 -0
  36. package/lib/module/dto/EntitlementsUpdateListener.js.map +1 -0
  37. package/lib/module/dto/Experiment.js +11 -0
  38. package/lib/module/dto/Experiment.js.map +1 -0
  39. package/lib/module/dto/ExperimentGroup.js +11 -0
  40. package/lib/module/dto/ExperimentGroup.js.map +1 -0
  41. package/lib/module/dto/IntroEligibility.js +9 -0
  42. package/lib/module/dto/IntroEligibility.js.map +1 -0
  43. package/lib/module/dto/NoCodesAction.js +11 -0
  44. package/lib/module/dto/NoCodesAction.js.map +1 -0
  45. package/lib/module/dto/NoCodesError.js +13 -0
  46. package/lib/module/dto/NoCodesError.js.map +1 -0
  47. package/lib/module/dto/NoCodesListener.js +4 -0
  48. package/lib/module/dto/NoCodesListener.js.map +1 -0
  49. package/lib/module/dto/Offering.js +14 -0
  50. package/lib/module/dto/Offering.js.map +1 -0
  51. package/lib/module/dto/Offerings.js +13 -0
  52. package/lib/module/dto/Offerings.js.map +1 -0
  53. package/lib/module/dto/Product.js +114 -0
  54. package/lib/module/dto/Product.js.map +1 -0
  55. package/lib/module/dto/PromoPurchasesListener.js +4 -0
  56. package/lib/module/dto/PromoPurchasesListener.js.map +1 -0
  57. package/lib/module/dto/PromotionalOffer.js +10 -0
  58. package/lib/module/dto/PromotionalOffer.js.map +1 -0
  59. package/lib/module/dto/PurchaseModel.js +26 -0
  60. package/lib/module/dto/PurchaseModel.js.map +1 -0
  61. package/lib/module/dto/PurchaseOptions.js +15 -0
  62. package/lib/module/dto/PurchaseOptions.js.map +1 -0
  63. package/lib/module/dto/PurchaseOptionsBuilder.js +117 -0
  64. package/lib/module/dto/PurchaseOptionsBuilder.js.map +1 -0
  65. package/lib/module/dto/PurchaseUpdateModel.js +32 -0
  66. package/lib/module/dto/PurchaseUpdateModel.js.map +1 -0
  67. package/lib/module/dto/QonversionError.js +15 -0
  68. package/lib/module/dto/QonversionError.js.map +1 -0
  69. package/lib/module/dto/RemoteConfig.js +11 -0
  70. package/lib/module/dto/RemoteConfig.js.map +1 -0
  71. package/lib/module/dto/RemoteConfigList.js +18 -0
  72. package/lib/module/dto/RemoteConfigList.js.map +1 -0
  73. package/lib/module/dto/RemoteConfigurationSource.js +13 -0
  74. package/lib/module/dto/RemoteConfigurationSource.js.map +1 -0
  75. package/lib/module/dto/ScreenPresentationConfig.js +22 -0
  76. package/lib/module/dto/ScreenPresentationConfig.js.map +1 -0
  77. package/lib/module/dto/SubscriptionPeriod.js +26 -0
  78. package/lib/module/dto/SubscriptionPeriod.js.map +1 -0
  79. package/lib/module/dto/Transaction.js +18 -0
  80. package/lib/module/dto/Transaction.js.map +1 -0
  81. package/lib/module/dto/User.js +10 -0
  82. package/lib/module/dto/User.js.map +1 -0
  83. package/lib/module/dto/UserProperties.js +71 -0
  84. package/lib/module/dto/UserProperties.js.map +1 -0
  85. package/lib/module/dto/UserProperty.js +17 -0
  86. package/lib/module/dto/UserProperty.js.map +1 -0
  87. package/lib/module/dto/enums.js +425 -0
  88. package/lib/module/dto/enums.js.map +1 -0
  89. package/lib/module/dto/storeProducts/ProductInAppDetails.js +16 -0
  90. package/lib/module/dto/storeProducts/ProductInAppDetails.js.map +1 -0
  91. package/lib/module/dto/storeProducts/ProductInstallmentPlanDetails.js +25 -0
  92. package/lib/module/dto/storeProducts/ProductInstallmentPlanDetails.js.map +1 -0
  93. package/lib/module/dto/storeProducts/ProductOfferDetails.js +76 -0
  94. package/lib/module/dto/storeProducts/ProductOfferDetails.js.map +1 -0
  95. package/lib/module/dto/storeProducts/ProductPrice.js +37 -0
  96. package/lib/module/dto/storeProducts/ProductPrice.js.map +1 -0
  97. package/lib/module/dto/storeProducts/ProductPricingPhase.js +52 -0
  98. package/lib/module/dto/storeProducts/ProductPricingPhase.js.map +1 -0
  99. package/lib/module/dto/storeProducts/ProductStoreDetails.js +114 -0
  100. package/lib/module/dto/storeProducts/ProductStoreDetails.js.map +1 -0
  101. package/lib/module/dto/storeProducts/SKPaymentDiscount.js +13 -0
  102. package/lib/module/dto/storeProducts/SKPaymentDiscount.js.map +1 -0
  103. package/lib/module/dto/storeProducts/SKProduct.js +22 -0
  104. package/lib/module/dto/storeProducts/SKProduct.js.map +1 -0
  105. package/lib/module/dto/storeProducts/SKProductDiscount.js +16 -0
  106. package/lib/module/dto/storeProducts/SKProductDiscount.js.map +1 -0
  107. package/lib/module/dto/storeProducts/SKSubscriptionPeriod.js +10 -0
  108. package/lib/module/dto/storeProducts/SKSubscriptionPeriod.js.map +1 -0
  109. package/lib/module/dto/storeProducts/SkuDetails.js +30 -0
  110. package/lib/module/dto/storeProducts/SkuDetails.js.map +1 -0
  111. package/lib/module/index.js +40 -0
  112. package/lib/module/index.js.map +1 -0
  113. package/lib/module/internal/Mapper.js +676 -0
  114. package/lib/module/internal/Mapper.js.map +1 -0
  115. package/lib/module/internal/NoCodesInternal.js +70 -0
  116. package/lib/module/internal/NoCodesInternal.js.map +1 -0
  117. package/lib/module/internal/QonversionInternal.js +237 -0
  118. package/lib/module/internal/QonversionInternal.js.map +1 -0
  119. package/lib/module/internal/specs/NativeNoCodesModule.js +5 -0
  120. package/lib/module/internal/specs/NativeNoCodesModule.js.map +1 -0
  121. package/lib/module/internal/specs/NativeQonversionModule.js +5 -0
  122. package/lib/module/internal/specs/NativeQonversionModule.js.map +1 -0
  123. package/lib/module/internal/utils.js +10 -0
  124. package/lib/module/internal/utils.js.map +1 -0
  125. package/lib/module/package.json +1 -0
  126. package/lib/typescript/package.json +1 -0
  127. package/lib/typescript/src/NoCodes.d.ts +23 -0
  128. package/lib/typescript/src/NoCodes.d.ts.map +1 -0
  129. package/lib/typescript/src/NoCodesApi.d.ts +20 -0
  130. package/lib/typescript/src/NoCodesApi.d.ts.map +1 -0
  131. package/lib/typescript/src/NoCodesConfig.d.ts +8 -0
  132. package/lib/typescript/src/NoCodesConfig.d.ts.map +1 -0
  133. package/lib/typescript/src/NoCodesConfigBuilder.d.ts +26 -0
  134. package/lib/typescript/src/NoCodesConfigBuilder.d.ts.map +1 -0
  135. package/lib/typescript/src/Qonversion.d.ts +26 -0
  136. package/lib/typescript/src/Qonversion.d.ts.map +1 -0
  137. package/lib/typescript/src/QonversionApi.d.ts +285 -0
  138. package/lib/typescript/src/QonversionApi.d.ts.map +1 -0
  139. package/lib/typescript/src/QonversionConfig.d.ts +14 -0
  140. package/lib/typescript/src/QonversionConfig.d.ts.map +1 -0
  141. package/lib/typescript/src/QonversionConfigBuilder.d.ts +65 -0
  142. package/lib/typescript/src/QonversionConfigBuilder.d.ts.map +1 -0
  143. package/lib/typescript/src/dto/Entitlement.d.ts +22 -0
  144. package/lib/typescript/src/dto/Entitlement.d.ts.map +1 -0
  145. package/lib/typescript/src/dto/EntitlementsUpdateListener.d.ts +10 -0
  146. package/lib/typescript/src/dto/EntitlementsUpdateListener.d.ts.map +1 -0
  147. package/lib/typescript/src/dto/Experiment.d.ts +9 -0
  148. package/lib/typescript/src/dto/Experiment.d.ts.map +1 -0
  149. package/lib/typescript/src/dto/ExperimentGroup.d.ts +9 -0
  150. package/lib/typescript/src/dto/ExperimentGroup.d.ts.map +1 -0
  151. package/lib/typescript/src/dto/IntroEligibility.d.ts +7 -0
  152. package/lib/typescript/src/dto/IntroEligibility.d.ts.map +1 -0
  153. package/lib/typescript/src/dto/NoCodesAction.d.ts +10 -0
  154. package/lib/typescript/src/dto/NoCodesAction.d.ts.map +1 -0
  155. package/lib/typescript/src/dto/NoCodesError.d.ts +12 -0
  156. package/lib/typescript/src/dto/NoCodesError.d.ts.map +1 -0
  157. package/lib/typescript/src/dto/NoCodesListener.d.ts +34 -0
  158. package/lib/typescript/src/dto/NoCodesListener.d.ts.map +1 -0
  159. package/lib/typescript/src/dto/Offering.d.ts +11 -0
  160. package/lib/typescript/src/dto/Offering.d.ts.map +1 -0
  161. package/lib/typescript/src/dto/Offerings.d.ts +9 -0
  162. package/lib/typescript/src/dto/Offerings.d.ts.map +1 -0
  163. package/lib/typescript/src/dto/Product.d.ts +95 -0
  164. package/lib/typescript/src/dto/Product.d.ts.map +1 -0
  165. package/lib/typescript/src/dto/PromoPurchasesListener.d.ts +12 -0
  166. package/lib/typescript/src/dto/PromoPurchasesListener.d.ts.map +1 -0
  167. package/lib/typescript/src/dto/PromotionalOffer.d.ts +9 -0
  168. package/lib/typescript/src/dto/PromotionalOffer.d.ts.map +1 -0
  169. package/lib/typescript/src/dto/PurchaseModel.d.ts +19 -0
  170. package/lib/typescript/src/dto/PurchaseModel.d.ts.map +1 -0
  171. package/lib/typescript/src/dto/PurchaseOptions.d.ts +15 -0
  172. package/lib/typescript/src/dto/PurchaseOptions.d.ts.map +1 -0
  173. package/lib/typescript/src/dto/PurchaseOptionsBuilder.d.ts +84 -0
  174. package/lib/typescript/src/dto/PurchaseOptionsBuilder.d.ts.map +1 -0
  175. package/lib/typescript/src/dto/PurchaseUpdateModel.d.ts +25 -0
  176. package/lib/typescript/src/dto/PurchaseUpdateModel.d.ts.map +1 -0
  177. package/lib/typescript/src/dto/QonversionError.d.ts +11 -0
  178. package/lib/typescript/src/dto/QonversionError.d.ts.map +1 -0
  179. package/lib/typescript/src/dto/RemoteConfig.d.ts +10 -0
  180. package/lib/typescript/src/dto/RemoteConfig.d.ts.map +1 -0
  181. package/lib/typescript/src/dto/RemoteConfigList.d.ts +10 -0
  182. package/lib/typescript/src/dto/RemoteConfigList.d.ts.map +1 -0
  183. package/lib/typescript/src/dto/RemoteConfigurationSource.d.ts +11 -0
  184. package/lib/typescript/src/dto/RemoteConfigurationSource.d.ts.map +1 -0
  185. package/lib/typescript/src/dto/ScreenPresentationConfig.d.ts +18 -0
  186. package/lib/typescript/src/dto/ScreenPresentationConfig.d.ts.map +1 -0
  187. package/lib/typescript/src/dto/SubscriptionPeriod.d.ts +21 -0
  188. package/lib/typescript/src/dto/SubscriptionPeriod.d.ts.map +1 -0
  189. package/lib/typescript/src/dto/Transaction.d.ts +16 -0
  190. package/lib/typescript/src/dto/Transaction.d.ts.map +1 -0
  191. package/lib/typescript/src/dto/User.d.ts +7 -0
  192. package/lib/typescript/src/dto/User.d.ts.map +1 -0
  193. package/lib/typescript/src/dto/UserProperties.d.ts +49 -0
  194. package/lib/typescript/src/dto/UserProperties.d.ts.map +1 -0
  195. package/lib/typescript/src/dto/UserProperty.d.ts +13 -0
  196. package/lib/typescript/src/dto/UserProperty.d.ts.map +1 -0
  197. package/lib/typescript/src/dto/enums.d.ts +343 -0
  198. package/lib/typescript/src/dto/enums.d.ts.map +1 -0
  199. package/lib/typescript/src/dto/storeProducts/ProductInAppDetails.d.ts +13 -0
  200. package/lib/typescript/src/dto/storeProducts/ProductInAppDetails.d.ts.map +1 -0
  201. package/lib/typescript/src/dto/storeProducts/ProductInstallmentPlanDetails.d.ts +20 -0
  202. package/lib/typescript/src/dto/storeProducts/ProductInstallmentPlanDetails.d.ts.map +1 -0
  203. package/lib/typescript/src/dto/storeProducts/ProductOfferDetails.d.ts +63 -0
  204. package/lib/typescript/src/dto/storeProducts/ProductOfferDetails.d.ts.map +1 -0
  205. package/lib/typescript/src/dto/storeProducts/ProductPrice.d.ts +29 -0
  206. package/lib/typescript/src/dto/storeProducts/ProductPrice.d.ts.map +1 -0
  207. package/lib/typescript/src/dto/storeProducts/ProductPricingPhase.d.ts +44 -0
  208. package/lib/typescript/src/dto/storeProducts/ProductPricingPhase.d.ts.map +1 -0
  209. package/lib/typescript/src/dto/storeProducts/ProductStoreDetails.d.ts +97 -0
  210. package/lib/typescript/src/dto/storeProducts/ProductStoreDetails.d.ts.map +1 -0
  211. package/lib/typescript/src/dto/storeProducts/SKPaymentDiscount.d.ts +10 -0
  212. package/lib/typescript/src/dto/storeProducts/SKPaymentDiscount.d.ts.map +1 -0
  213. package/lib/typescript/src/dto/storeProducts/SKProduct.d.ts +21 -0
  214. package/lib/typescript/src/dto/storeProducts/SKProduct.d.ts.map +1 -0
  215. package/lib/typescript/src/dto/storeProducts/SKProductDiscount.d.ts +15 -0
  216. package/lib/typescript/src/dto/storeProducts/SKProductDiscount.d.ts.map +1 -0
  217. package/lib/typescript/src/dto/storeProducts/SKSubscriptionPeriod.d.ts +8 -0
  218. package/lib/typescript/src/dto/storeProducts/SKSubscriptionPeriod.d.ts.map +1 -0
  219. package/lib/typescript/src/dto/storeProducts/SkuDetails.d.ts +27 -0
  220. package/lib/typescript/src/dto/storeProducts/SkuDetails.d.ts.map +1 -0
  221. package/lib/typescript/src/index.d.ts +41 -0
  222. package/lib/typescript/src/index.d.ts.map +1 -0
  223. package/lib/typescript/src/internal/Mapper.d.ts +312 -0
  224. package/lib/typescript/src/internal/Mapper.d.ts.map +1 -0
  225. package/lib/typescript/src/internal/NoCodesInternal.d.ts +14 -0
  226. package/lib/typescript/src/internal/NoCodesInternal.d.ts.map +1 -0
  227. package/lib/typescript/src/internal/QonversionInternal.d.ts +60 -0
  228. package/lib/typescript/src/internal/QonversionInternal.d.ts.map +1 -0
  229. package/lib/typescript/src/internal/specs/NativeNoCodesModule.d.ts +17 -0
  230. package/lib/typescript/src/internal/specs/NativeNoCodesModule.d.ts.map +1 -0
  231. package/lib/typescript/src/internal/specs/NativeQonversionModule.d.ts +56 -0
  232. package/lib/typescript/src/internal/specs/NativeQonversionModule.d.ts.map +1 -0
  233. package/lib/typescript/src/internal/utils.d.ts +3 -0
  234. package/lib/typescript/src/internal/utils.d.ts.map +1 -0
  235. package/package.json +151 -0
  236. package/qonversion-react-native-sdk.podspec +21 -0
  237. package/src/NoCodes.ts +37 -0
  238. package/src/NoCodesApi.ts +22 -0
  239. package/src/NoCodesConfig.ts +16 -0
  240. package/src/NoCodesConfigBuilder.ts +40 -0
  241. package/src/Qonversion.ts +40 -0
  242. package/src/QonversionApi.ts +318 -0
  243. package/src/QonversionConfig.ts +32 -0
  244. package/src/QonversionConfigBuilder.ts +102 -0
  245. package/src/dto/Entitlement.ts +57 -0
  246. package/src/dto/EntitlementsUpdateListener.ts +11 -0
  247. package/src/dto/Experiment.ts +15 -0
  248. package/src/dto/ExperimentGroup.ts +15 -0
  249. package/src/dto/IntroEligibility.ts +11 -0
  250. package/src/dto/NoCodesAction.ts +21 -0
  251. package/src/dto/NoCodesError.ts +26 -0
  252. package/src/dto/NoCodesListener.ts +39 -0
  253. package/src/dto/Offering.ts +20 -0
  254. package/src/dto/Offerings.ts +17 -0
  255. package/src/dto/Product.ts +159 -0
  256. package/src/dto/PromoPurchasesListener.ts +13 -0
  257. package/src/dto/PromotionalOffer.ts +17 -0
  258. package/src/dto/PurchaseModel.ts +29 -0
  259. package/src/dto/PurchaseOptions.ts +33 -0
  260. package/src/dto/PurchaseOptionsBuilder.ts +127 -0
  261. package/src/dto/PurchaseUpdateModel.ts +43 -0
  262. package/src/dto/QonversionError.ts +24 -0
  263. package/src/dto/RemoteConfig.ts +16 -0
  264. package/src/dto/RemoteConfigList.ts +23 -0
  265. package/src/dto/RemoteConfigurationSource.ts +26 -0
  266. package/src/dto/ScreenPresentationConfig.ts +24 -0
  267. package/src/dto/SubscriptionPeriod.ts +33 -0
  268. package/src/dto/Transaction.ts +40 -0
  269. package/src/dto/User.ts +11 -0
  270. package/src/dto/UserProperties.ts +78 -0
  271. package/src/dto/UserProperty.ts +21 -0
  272. package/src/dto/enums.ts +389 -0
  273. package/src/dto/storeProducts/ProductInAppDetails.ts +17 -0
  274. package/src/dto/storeProducts/ProductInstallmentPlanDetails.ts +28 -0
  275. package/src/dto/storeProducts/ProductOfferDetails.ts +102 -0
  276. package/src/dto/storeProducts/ProductPrice.ts +46 -0
  277. package/src/dto/storeProducts/ProductPricingPhase.ts +71 -0
  278. package/src/dto/storeProducts/ProductStoreDetails.ts +151 -0
  279. package/src/dto/storeProducts/SKPaymentDiscount.ts +23 -0
  280. package/src/dto/storeProducts/SKProduct.ts +53 -0
  281. package/src/dto/storeProducts/SKProductDiscount.ts +38 -0
  282. package/src/dto/storeProducts/SKSubscriptionPeriod.ts +13 -0
  283. package/src/dto/storeProducts/SkuDetails.ts +68 -0
  284. package/src/index.ts +43 -0
  285. package/src/internal/Mapper.ts +1221 -0
  286. package/src/internal/NoCodesInternal.ts +84 -0
  287. package/src/internal/QonversionInternal.ts +370 -0
  288. package/src/internal/specs/NativeNoCodesModule.ts +20 -0
  289. package/src/internal/specs/NativeQonversionModule.ts +74 -0
  290. package/src/internal/utils.ts +9 -0
@@ -0,0 +1,56 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import type { QPromotionalOffer, QOfferings, QUser, QUserProperties, QRemoteConfig, QRemoteConfigList } from '../Mapper';
3
+ import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes';
4
+ export type QPromoOfferDetails = {
5
+ productDiscountId: string | undefined;
6
+ keyIdentifier: string | undefined;
7
+ nonce: string | undefined;
8
+ signature: string | undefined;
9
+ timestamp: number | undefined;
10
+ };
11
+ export interface Spec extends TurboModule {
12
+ storeSDKInfo(sdkName: string, sdkVersion: string): void;
13
+ initializeSdk(projectKey: string, launchMode: string, environment: string, entitlementsCacheLifetime: string, proxyUrl: string | undefined, kidsMode: boolean): void;
14
+ syncHistoricalData(): void;
15
+ syncStoreKit2Purchases(): void;
16
+ isFallbackFileAccessible(): Promise<{
17
+ success: boolean;
18
+ }>;
19
+ getPromotionalOffer(product: string, discount: string | undefined): Promise<QPromotionalOffer | null>;
20
+ purchase(productId: string, quantity: number, // iOS only
21
+ contextKeys: string[] | null | undefined, promoOffer: QPromoOfferDetails | undefined, // iOS only
22
+ offerId: string | null | undefined, // Android only
23
+ applyOffer: boolean, // Android only
24
+ oldProductId: string | null | undefined, // Android only
25
+ updatePolicyKey: string | null | undefined): Promise<Object | null | undefined>;
26
+ updatePurchase(productId: string, offerId: string | null | undefined, applyOffer: boolean, oldProductId: string | null | undefined, updatePolicyKey: string | null | undefined): Promise<Object>;
27
+ promoPurchase(productId: string): Promise<Object>;
28
+ products(): Promise<Object>;
29
+ offerings(): Promise<QOfferings | null>;
30
+ checkTrialIntroEligibilityForProductIds(ids: string[]): Promise<Object>;
31
+ checkEntitlements(): Promise<Object>;
32
+ restore(): Promise<Object>;
33
+ syncPurchases(): void;
34
+ identify(userId: string): Promise<QUser>;
35
+ logout(): void;
36
+ userInfo(): Promise<QUser>;
37
+ addAttributionData(data: Object, provider: string): void;
38
+ setDefinedProperty(property: string, value: string): void;
39
+ setCustomProperty(property: string, value: string): void;
40
+ userProperties(): Promise<QUserProperties>;
41
+ collectAdvertisingId(): void;
42
+ collectAppleSearchAdsAttribution(): void;
43
+ presentCodeRedemptionSheet(): void;
44
+ remoteConfig(contextKey: string | undefined): Promise<QRemoteConfig>;
45
+ remoteConfigList(): Promise<QRemoteConfigList>;
46
+ remoteConfigListForContextKeys(contextKeys: string[], includeEmptyContextKey: boolean): Promise<QRemoteConfigList>;
47
+ attachUserToExperiment(experimentId: string, groupId: string): Promise<void>;
48
+ detachUserFromExperiment(experimentId: string): Promise<void>;
49
+ attachUserToRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
50
+ detachUserFromRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
51
+ readonly onEntitlementsUpdated: EventEmitter<Object>;
52
+ readonly onPromoPurchaseReceived: EventEmitter<string>;
53
+ }
54
+ declare const _default: Spec;
55
+ export default _default;
56
+ //# sourceMappingURL=NativeQonversionModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeQonversionModule.d.ts","sourceRoot":"","sources":["../../../../../src/internal/specs/NativeQonversionModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const isIos: () => boolean;
2
+ export declare const isAndroid: () => boolean;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,QAAO,OAExB,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,151 @@
1
+ {
2
+ "name": "@qonversion/react-native-sdk",
3
+ "title": "React Native Qonversion",
4
+ "version": "10.0.0-RC1",
5
+ "description": "Qonversion provides full in-app purchases infrastructure, so you do not need to build your own server for receipt validation. Implement in-app subscriptions, validate user receipts, check subscription status, and provide access to your app features and content using our StoreKit wrapper and Google Play Billing wrapper.",
6
+ "main": "./lib/module/index.js",
7
+ "types": "./lib/typescript/src/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "source": "./src/index.ts",
11
+ "types": "./lib/typescript/src/index.d.ts",
12
+ "default": "./lib/module/index.js"
13
+ },
14
+ "./package.json": "./package.json"
15
+ },
16
+ "files": [
17
+ "src",
18
+ "lib",
19
+ "android",
20
+ "ios",
21
+ "cpp",
22
+ "*.podspec",
23
+ "react-native.config.js",
24
+ "!ios/build",
25
+ "!android/build",
26
+ "!android/gradle",
27
+ "!android/gradlew",
28
+ "!android/gradlew.bat",
29
+ "!android/local.properties",
30
+ "!**/__tests__",
31
+ "!**/__fixtures__",
32
+ "!**/__mocks__",
33
+ "!**/.*"
34
+ ],
35
+ "scripts": {
36
+ "example": "yarn workspace @qonversion/react-native-sdk-example",
37
+ "test": "jest",
38
+ "typecheck": "tsc",
39
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
40
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
41
+ "prepare": "bob build",
42
+ "codegenAndroid": "cd example/android && ./gradlew generateCodegenArtifactsFromSchema",
43
+ "codegenIos": "node node_modules/react-native/scripts/generate-codegen-artifacts.js --targetPlatform ios --path ./ --outputPath ./generated",
44
+ "codegen": "yarn codegenAndroid && yarn codegenIos"
45
+ },
46
+ "keywords": [
47
+ "react-native",
48
+ "qonversion",
49
+ "StoreKit",
50
+ "SKStoreKit",
51
+ "Google",
52
+ "Play",
53
+ "Billing",
54
+ "in-app",
55
+ "Purchases"
56
+ ],
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/qonversion/react-native-sdk.git"
60
+ },
61
+ "author": "Qonversion <hi@qonversion.io> (https://qonversion.io)",
62
+ "license": "MIT",
63
+ "bugs": {
64
+ "url": "https://github.com/qonversion/react-native-sdk/issues"
65
+ },
66
+ "homepage": "https://github.com/qonversion/react-native-sdk#readme",
67
+ "publishConfig": {
68
+ "registry": "https://registry.npmjs.org/"
69
+ },
70
+ "devDependencies": {
71
+ "@commitlint/config-conventional": "^19.6.0",
72
+ "@eslint/compat": "^1.2.7",
73
+ "@eslint/eslintrc": "^3.3.0",
74
+ "@eslint/js": "^9.22.0",
75
+ "@react-native-community/cli": "15.0.0-alpha.2",
76
+ "@react-native/babel-preset": "0.79.2",
77
+ "@react-native/eslint-config": "^0.78.0",
78
+ "@types/jest": "^29.5.5",
79
+ "@types/react": "^19.0.0",
80
+ "commitlint": "^19.6.1",
81
+ "del-cli": "^5.1.0",
82
+ "eslint": "^9.22.0",
83
+ "eslint-config-prettier": "^10.1.1",
84
+ "eslint-plugin-prettier": "^5.2.3",
85
+ "jest": "^29.7.0",
86
+ "prettier": "^3.0.3",
87
+ "react": "19.0.0",
88
+ "react-native": "0.79.2",
89
+ "react-native-builder-bob": "0.40.13",
90
+ "turbo": "^1.10.7",
91
+ "typescript": "^5.8.3"
92
+ },
93
+ "peerDependencies": {
94
+ "react": "^16.8.1 || ^17.0.0 || ^18.0.0 || ^19.0.0",
95
+ "react-native": ">=0.60.0-rc.0 <1.0.x"
96
+ },
97
+ "workspaces": [
98
+ "example"
99
+ ],
100
+ "packageManager": "yarn@3.6.1",
101
+ "jest": {
102
+ "preset": "react-native",
103
+ "modulePathIgnorePatterns": [
104
+ "<rootDir>/example/node_modules",
105
+ "<rootDir>/lib/"
106
+ ]
107
+ },
108
+ "commitlint": {
109
+ "extends": [
110
+ "@commitlint/config-conventional"
111
+ ]
112
+ },
113
+ "prettier": {
114
+ "quoteProps": "consistent",
115
+ "singleQuote": true,
116
+ "tabWidth": 2,
117
+ "trailingComma": "es5",
118
+ "useTabs": false
119
+ },
120
+ "react-native-builder-bob": {
121
+ "source": "src",
122
+ "output": "lib",
123
+ "targets": [
124
+ [
125
+ "module",
126
+ {
127
+ "esm": true
128
+ }
129
+ ],
130
+ [
131
+ "typescript",
132
+ {
133
+ "project": "tsconfig.build.json"
134
+ }
135
+ ]
136
+ ]
137
+ },
138
+ "codegenConfig": {
139
+ "name": "QonversionSdkSpec",
140
+ "type": "modules",
141
+ "jsSrcsDir": "src/internal/specs",
142
+ "android": {
143
+ "javaPackageName": "com.qonversion.reactnativesdk"
144
+ }
145
+ },
146
+ "create-react-native-library": {
147
+ "languages": "kotlin-objc",
148
+ "type": "turbo-module",
149
+ "version": "0.52.0"
150
+ }
151
+ }
@@ -0,0 +1,21 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "qonversion-react-native-sdk"
7
+ s.version = package["version"]
8
+ s.summary = package["description"]
9
+ s.homepage = package["homepage"]
10
+ s.license = package["license"]
11
+ s.authors = package["author"]
12
+
13
+ s.platforms = { :ios => "13.0" }
14
+ s.source = { :git => "https://github.com/qonversion/qonversion-react-native.git", :tag => "#{s.version}" }
15
+
16
+ s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
17
+ s.private_header_files = "ios/**/*.h"
18
+
19
+ s.dependency "QonversionSandwich", "6.0.10"
20
+ install_modules_dependencies(s)
21
+ end
package/src/NoCodes.ts ADDED
@@ -0,0 +1,37 @@
1
+ import type NoCodesApi from "./NoCodesApi";
2
+ import NoCodesConfig from "./NoCodesConfig";
3
+ import NoCodesInternal from "./internal/NoCodesInternal";
4
+
5
+ export default class NoCodes {
6
+ private constructor() {}
7
+
8
+ private static backingInstance: NoCodesApi | undefined;
9
+
10
+ /**
11
+ * Use this variable to get a current initialized instance of the NoCodes SDK.
12
+ * Please, use the property only after calling {@link NoCodes.initialize}.
13
+ * Otherwise, trying to access the variable will cause an exception.
14
+ *
15
+ * @return Current initialized instance of the NoCodes SDK.
16
+ * @throws error if the instance has not been initialized
17
+ */
18
+ static getSharedInstance(): NoCodesApi {
19
+ if (!this.backingInstance) {
20
+ throw "No-Codes has not been initialized. You should call " +
21
+ "the initialize method before accessing the shared instance of NoCodes."
22
+ }
23
+
24
+ return this.backingInstance;
25
+ }
26
+
27
+ /**
28
+ * An entry point to use No-Codes SDK. Call to initialize No-Codes SDK with required configs.
29
+ *
30
+ * @param config a config that contains key SDK settings.
31
+ * @return Initialized instance of the No-Codes SDK.
32
+ */
33
+ static initialize(config: NoCodesConfig): NoCodesApi {
34
+ this.backingInstance = new NoCodesInternal(config);
35
+ return this.backingInstance;
36
+ }
37
+ }
@@ -0,0 +1,22 @@
1
+ import ScreenPresentationConfig from './dto/ScreenPresentationConfig';
2
+
3
+ export default interface NoCodesApi {
4
+ /**
5
+ * Set the configuration of screen representation.
6
+ * @param config a configuration to apply.
7
+ * @param contextKey the context key of the screen, to which a config should be applied.
8
+ * If not provided, the config is used for all the screens.
9
+ */
10
+ setScreenPresentationConfig(config: ScreenPresentationConfig, contextKey?: string): void;
11
+
12
+ /**
13
+ * Show the screen using its context key.
14
+ * @param contextKey the context key of the screen which must be shown
15
+ */
16
+ showScreen(contextKey: string): void;
17
+
18
+ /**
19
+ * Close the current opened No-Code screen.
20
+ */
21
+ close(): void;
22
+ }
@@ -0,0 +1,16 @@
1
+ import type { NoCodesListener } from './dto/NoCodesListener';
2
+
3
+ class NoCodesConfig {
4
+ readonly projectKey: string;
5
+ readonly noCodesListener: NoCodesListener | undefined;
6
+
7
+ constructor(
8
+ projectKey: string,
9
+ noCodesListener: NoCodesListener | undefined = undefined
10
+ ) {
11
+ this.projectKey = projectKey;
12
+ this.noCodesListener = noCodesListener;
13
+ }
14
+ }
15
+
16
+ export default NoCodesConfig;
@@ -0,0 +1,40 @@
1
+ import type {NoCodesListener} from './dto/NoCodesListener';
2
+ import NoCodesConfig from './NoCodesConfig';
3
+
4
+ class NoCodesConfigBuilder {
5
+ private readonly projectKey: string;
6
+ private noCodesListener: NoCodesListener | undefined = undefined;
7
+
8
+ constructor(projectKey: string) {
9
+ this.projectKey = projectKey;
10
+ }
11
+
12
+ /**
13
+ * Provide a listener to be notified about NoCodes events.
14
+ *
15
+ * Make sure you provide this listener for being up-to-date with the NoCodes events.
16
+ * Else you can lose some important updates. Also, please, consider that this listener
17
+ * should live for the whole lifetime of the application.
18
+ *
19
+ * @param noCodesListener listener to be called when NoCodes events occur.
20
+ * @return builder instance for chain calls.
21
+ */
22
+ setNoCodesListener(noCodesListener: NoCodesListener): NoCodesConfigBuilder {
23
+ this.noCodesListener = noCodesListener;
24
+ return this;
25
+ }
26
+
27
+ /**
28
+ * Generate {@link NoCodesConfig} instance with all the provided configurations.
29
+ *
30
+ * @return the complete {@link NoCodesConfig} instance.
31
+ */
32
+ build(): NoCodesConfig {
33
+ return new NoCodesConfig(
34
+ this.projectKey,
35
+ this.noCodesListener
36
+ );
37
+ }
38
+ }
39
+
40
+ export default NoCodesConfigBuilder;
@@ -0,0 +1,40 @@
1
+ import QonversionConfig from './QonversionConfig';
2
+ import type { QonversionApi } from './QonversionApi';
3
+ import QonversionInternal from './internal/QonversionInternal';
4
+
5
+ export default class Qonversion {
6
+ private constructor() {}
7
+
8
+ private static backingInstance: QonversionApi | undefined;
9
+
10
+ /**
11
+ * Use this variable to get a current initialized instance of the Qonversion SDK.
12
+ * Please, use the property only after calling {@link Qonversion.initialize}.
13
+ * Otherwise, trying to access the variable will cause an exception.
14
+ *
15
+ * @return Current initialized instance of the Qonversion SDK.
16
+ * @throws error if the instance has not been initialized
17
+ */
18
+ static getSharedInstance(): QonversionApi {
19
+ if (!this.backingInstance) {
20
+ throw "Qonversion has not been initialized. You should call " +
21
+ "the initialize method before accessing the shared instance of Qonversion."
22
+ }
23
+
24
+ return this.backingInstance;
25
+ }
26
+
27
+ /**
28
+ * An entry point to use Qonversion SDK. Call to initialize Qonversion SDK with required and extra configs.
29
+ * The function is the best way to set additional configs you need to use Qonversion SDK.
30
+ * You still have an option to set a part of additional configs later via calling separate setters.
31
+ *
32
+ * @param config a config that contains key SDK settings.
33
+ * Call {@link QonversionConfigBuilder.build} to configure and create a QonversionConfig instance.
34
+ * @return Initialized instance of the Qonversion SDK.
35
+ */
36
+ static initialize(config: QonversionConfig): QonversionApi {
37
+ this.backingInstance = new QonversionInternal(config);
38
+ return this.backingInstance;
39
+ }
40
+ }