react-native-purchasely
Version:
Purchasely is a solution to ease the integration and boost your In-App Purchase & Subscriptions on the App Store, Google Play Store and Huawei App Gallery.
357 lines (356 loc) • 11.7 kB
JavaScript
import { NativeEventEmitter, NativeModules } from 'react-native';
import { PLYPresentationView } from './components/PLYPresentationView';
import { LogLevels, RunningMode } from './enums';
const purchaselyVersion = '5.2.0';
const constants = NativeModules.Purchasely.getConstants();
const PurchaselyEventEmitter = new NativeEventEmitter(NativeModules.Purchasely);
const start = ({
apiKey,
androidStores = ['Google'],
storeKit1,
userId = null,
logLevel = LogLevels.ERROR,
runningMode = RunningMode.FULL
}) => {
return NativeModules.Purchasely.start(apiKey, androidStores, storeKit1, userId, logLevel, runningMode, purchaselyVersion);
};
function setUserAttributeWithDate(key, value) {
const dateAsString = value.toISOString();
return NativeModules.Purchasely.setUserAttributeWithDate(key, dateAsString);
}
const addEventListener = callback => {
return PurchaselyEventEmitter.addListener('PURCHASELY_EVENTS', callback);
};
const removeEventListener = () => {
return PurchaselyEventEmitter.removeAllListeners('PURCHASELY_EVENTS');
};
const addPurchasedListener = callback => {
return PurchaselyEventEmitter.addListener('PURCHASE_LISTENER', callback);
};
const removePurchasedListener = () => {
return PurchaselyEventEmitter.removeAllListeners('PURCHASE_LISTENER');
};
const addUserAttributeSetListener = callback => {
return PurchaselyEventEmitter.addListener('USER_ATTRIBUTE_SET_LISTENER', callback);
};
const removeUserAttributeSetListener = () => {
return PurchaselyEventEmitter.removeAllListeners('USER_ATTRIBUTE_SET_LISTENER');
};
const addUserAttributeRemovedListener = callback => {
return PurchaselyEventEmitter.addListener('USER_ATTRIBUTE_REMOVED_LISTENER', callback);
};
const removeUserAttributeRemovedListener = () => {
return PurchaselyEventEmitter.removeAllListeners('USER_ATTRIBUTE_REMOVED_LISTENER');
};
const setDefaultPresentationResultCallback = callback => {
Purchasely.setDefaultPresentationResultHandler().then(result => {
setDefaultPresentationResultCallback(callback);
try {
callback(result);
} catch (e) {
console.warn('[Purchasely] Error with callback for default presentation result', e);
}
});
};
const setPaywallActionInterceptorCallback = callback => {
Purchasely.setPaywallActionInterceptor().then(result => {
setPaywallActionInterceptorCallback(callback);
try {
callback(result);
} catch (e) {
console.warn('[Purchasely] Error with paywall interceptor callback', e);
}
});
};
const fetchPresentation = ({
placementId = null,
presentationId = null,
contentId = null
}) => {
return NativeModules.Purchasely.fetchPresentation(placementId, presentationId, contentId);
};
const presentPresentation = ({
presentation = null,
isFullscreen = false,
loadingBackgroundColor = null
}) => {
return NativeModules.Purchasely.presentPresentation(presentation, isFullscreen, loadingBackgroundColor);
};
const presentPresentationWithIdentifier = ({
presentationVendorId = null,
contentId = null,
isFullscreen = false,
loadingBackgroundColor = null
}) => {
return NativeModules.Purchasely.presentPresentationWithIdentifier(presentationVendorId, contentId, isFullscreen, loadingBackgroundColor);
};
const presentPresentationForPlacement = ({
placementVendorId = null,
contentId = null,
isFullscreen = false,
loadingBackgroundColor = null
}) => {
return NativeModules.Purchasely.presentPresentationForPlacement(placementVendorId, contentId, isFullscreen, loadingBackgroundColor);
};
const presentProductWithIdentifier = ({
productVendorId = null,
presentationVendorId = null,
contentId = null,
isFullscreen = false,
loadingBackgroundColor = null
}) => {
return NativeModules.Purchasely.presentProductWithIdentifier(productVendorId, presentationVendorId, contentId, isFullscreen, loadingBackgroundColor);
};
const presentPlanWithIdentifier = ({
planVendorId = null,
presentationVendorId = null,
contentId = null,
isFullscreen = false,
loadingBackgroundColor = null
}) => {
return NativeModules.Purchasely.presentPlanWithIdentifier(planVendorId, presentationVendorId, contentId, isFullscreen, loadingBackgroundColor);
};
const purchaseWithPlanVendorId = ({
planVendorId,
offerId = null,
contentId = null
}) => {
return NativeModules.Purchasely.purchaseWithPlanVendorId(planVendorId, offerId, contentId);
};
const signPromotionalOffer = ({
storeProductId,
storeOfferId
}) => {
return NativeModules.Purchasely.signPromotionalOffer(storeProductId, storeOfferId);
};
const closePresentation = () => {
return NativeModules.Purchasely.closePresentation();
};
const hidePresentation = () => {
return NativeModules.Purchasely.hidePresentation();
};
const showPresentation = () => {
return NativeModules.Purchasely.showPresentation();
};
const incrementUserAttribute = ({
key,
value
}) => {
const nonNullValue = value ?? 1;
return NativeModules.Purchasely.incrementUserAttribute(key, nonNullValue);
};
const decrementUserAttribute = ({
key,
value
}) => {
const nonNullValue = value ?? 1;
return NativeModules.Purchasely.decrementUserAttribute(key, nonNullValue);
};
const getConstants = () => {
return constants;
};
const close = () => {
return NativeModules.Purchasely.close();
};
const getAnonymousUserId = () => {
return NativeModules.Purchasely.getAnonymousUserId();
};
const userLogin = userId => {
return NativeModules.Purchasely.userLogin(userId);
};
const userLogout = () => {
return NativeModules.Purchasely.userLogout();
};
const setLogLevel = logLevel => {
return NativeModules.Purchasely.setLogLevel(logLevel);
};
const readyToOpenDeeplink = ready => {
return NativeModules.Purchasely.readyToOpenDeeplink(ready);
};
const setAttribute = (attribute, value) => {
return NativeModules.Purchasely.setAttribute(attribute, value);
};
const allProducts = () => {
return NativeModules.Purchasely.allProducts();
};
const productWithIdentifier = vendorId => {
return NativeModules.Purchasely.productWithIdentifier(vendorId);
};
const planWithIdentifier = vendorId => {
return NativeModules.Purchasely.planWithIdentifier(vendorId);
};
const restoreAllProducts = () => {
return NativeModules.Purchasely.restoreAllProducts();
};
const silentRestoreAllProducts = () => {
return NativeModules.Purchasely.silentRestoreAllProducts();
};
const userSubscriptions = ({
invalidateCache = false
} = {}) => {
return NativeModules.Purchasely.userSubscriptions(invalidateCache);
};
const userSubscriptionsHistory = () => {
return NativeModules.Purchasely.userSubscriptionsHistory();
};
const presentSubscriptions = () => {
return NativeModules.Purchasely.presentSubscriptions();
};
const isDeeplinkHandled = deeplink => {
return NativeModules.Purchasely.isDeeplinkHandled(deeplink);
};
const synchronize = () => {
return NativeModules.Purchasely.synchronize();
};
const setDefaultPresentationResultHandler = () => {
return NativeModules.Purchasely.setDefaultPresentationResultHandler();
};
const setPaywallActionInterceptor = () => {
return NativeModules.Purchasely.setPaywallActionInterceptor();
};
const onProcessAction = processAction => {
return NativeModules.Purchasely.onProcessAction(processAction);
};
const setLanguage = language => {
return NativeModules.Purchasely.setLanguage(language);
};
const userDidConsumeSubscriptionContent = () => {
return NativeModules.Purchasely.userDidConsumeSubscriptionContent();
};
const setUserAttributeWithString = (key, value) => {
return NativeModules.Purchasely.setUserAttributeWithString(key, value);
};
const setUserAttributeWithNumber = (key, value) => {
return NativeModules.Purchasely.setUserAttributeWithNumber(key, value);
};
const setUserAttributeWithBoolean = (key, value) => {
return NativeModules.Purchasely.setUserAttributeWithBoolean(key, value);
};
const setUserAttributeWithStringArray = (key, value) => {
return NativeModules.Purchasely.setUserAttributeWithStringArray(key, value);
};
const setUserAttributeWithNumberArray = (key, value) => {
return NativeModules.Purchasely.setUserAttributeWithNumberArray(key, value);
};
const setUserAttributeWithBooleanArray = (key, value) => {
return NativeModules.Purchasely.setUserAttributeWithBooleanArray(key, value);
};
const userAttributes = () => {
return NativeModules.Purchasely.userAttributes();
};
const userAttribute = key => {
return NativeModules.Purchasely.userAttribute(key);
};
const clearUserAttribute = key => {
return NativeModules.Purchasely.clearUserAttribute(key);
};
const clearUserAttributes = () => {
return NativeModules.Purchasely.clearUserAttributes();
};
const clientPresentationDisplayed = presentation => {
return NativeModules.Purchasely.clientPresentationDisplayed(presentation);
};
const clientPresentationClosed = presentation => {
return NativeModules.Purchasely.clientPresentationClosed(presentation);
};
const isAnonymous = () => {
return NativeModules.Purchasely.isAnonymous();
};
const isEligibleForIntroOffer = planVendorId => {
return NativeModules.Purchasely.isEligibleForIntroOffer(planVendorId);
};
const setThemeMode = theme => {
return NativeModules.Purchasely.setThemeMode(theme);
};
const clearBuiltInAttributes = () => {
return NativeModules.Purchasely.clearBuiltInAttributes();
};
const setDynamicOffering = offering => {
return NativeModules.Purchasely.setDynamicOffering(offering.reference, offering.planVendorId, offering.offerVendorId);
};
const getDynamicOfferings = () => {
return NativeModules.Purchasely.getDynamicOfferings();
};
const removeDynamicOffering = reference => {
return NativeModules.Purchasely.removeDynamicOffering(reference);
};
const clearDynamicOfferings = () => {
return NativeModules.Purchasely.clearDynamicOfferings();
};
const Purchasely = {
start,
addEventListener,
removeEventListener,
addPurchasedListener,
removePurchasedListener,
addUserAttributeSetListener,
removeUserAttributeSetListener,
addUserAttributeRemovedListener,
removeUserAttributeRemovedListener,
setDefaultPresentationResultCallback,
setPaywallActionInterceptorCallback,
fetchPresentation,
presentPresentation,
presentPresentationWithIdentifier,
presentPresentationForPlacement,
presentProductWithIdentifier,
presentPlanWithIdentifier,
purchaseWithPlanVendorId,
setUserAttributeWithDate,
showPresentation,
closePresentation,
hidePresentation,
signPromotionalOffer,
incrementUserAttribute,
decrementUserAttribute,
getConstants,
close,
getAnonymousUserId,
userLogin,
userLogout,
setLogLevel,
readyToOpenDeeplink,
setAttribute,
allProducts,
productWithIdentifier,
planWithIdentifier,
restoreAllProducts,
silentRestoreAllProducts,
userSubscriptions,
userSubscriptionsHistory,
presentSubscriptions,
isDeeplinkHandled,
synchronize,
setLanguage,
userDidConsumeSubscriptionContent,
setUserAttributeWithString,
setUserAttributeWithNumber,
setUserAttributeWithBoolean,
setUserAttributeWithStringArray,
setUserAttributeWithNumberArray,
setUserAttributeWithBooleanArray,
userAttributes,
userAttribute,
clearUserAttribute,
clearUserAttributes,
setDefaultPresentationResultHandler,
setPaywallActionInterceptor,
onProcessAction,
clientPresentationDisplayed,
clientPresentationClosed,
isAnonymous,
isEligibleForIntroOffer,
setThemeMode,
clearBuiltInAttributes,
setDynamicOffering,
getDynamicOfferings,
removeDynamicOffering,
clearDynamicOfferings
};
export * from './types';
export * from './enums';
export * from './interfaces';
export { PLYPresentationView };
export default Purchasely;
//# sourceMappingURL=index.js.map
;