Important: Glassfy SDKs are deprecated. Glassfy will be ceasing operations by the end of 2024. Read the blog post here
Warning
These plugin is for Capacitor 6. For Capacitor 5, use the 3.x version.
CapacitorJS Glassfy Plugin
Glassfy is a subscription revenue optimisation infrastructure for mobile applications.
Check the documentation at docs.glassfy.io to learn details on implementing and using Glassfy SDK.
npm install capacitor-plugin-glassfy
npx cap sync
be sure to have ionic cli installed following instructions here
npm install
npm run build
cd example
npm install
ionic capacitor sync ios
ionic capacitor open ios
sdkVersion() => Promise<GlassfyVersion>
Returns: Promise<GlassfyVersion>
initialize(options: { apiKey: string; watcherMode: boolean; }) => Promise<void>
For more details, follow instruction at https://docs.glassfy.io/get-started/configuration
Param |
Type |
options |
{ apiKey: string; watcherMode: boolean; } |
setLogLevel(options: { logLevel: GLASSFY_LOGLEVEL; }) => Promise<void>
offerings() => Promise<GlassfyOfferings>
For more details, check the documentation https://docs.glassfy.io/dashboard/configure-offerings
Returns: Promise<GlassfyOfferings>
purchaseHistory() => Promise<GlassfyPurchasesHistory>
For more details, check the documentation https://docs.glassfy.io/dashboard/configure-offerings
Returns: Promise<GlassfyPurchasesHistory>
permissions() => Promise<GlassfyPermissions>
For more details, check the documentation https://docs.glassfy.io/dashboard/configure-permissions.html
Returns: Promise<GlassfyPermissions>
skuWithId(options: { identifier: string; }) => Promise<GlassfySku>
For more details, check the documentation https://docs.glassfy.io/dashboard/configure-products
Param |
Type |
options |
{ identifier: string; } |
Returns: Promise<GlassfySku>
skuWithIdAndStore(options: { identifier: string; store: GLASSFY_STORE; }) => Promise<GlassfySkuBase>
Returns: Promise<GlassfySkuBase>
connectCustomSubscriber(...)
connectCustomSubscriber(options: { subscriberId: string; }) => Promise<void>
Param |
Type |
options |
{ subscriberId: string; } |
connectPaddleLicenseKey(...)
connectPaddleLicenseKey(options: { licenseKey: string; force: boolean; }) => Promise<void>
Param |
Type |
options |
{ licenseKey: string; force: boolean; } |
connectGlassfyUniversalCode(...)
connectGlassfyUniversalCode(options: { universalCode: string; force: boolean; }) => Promise<void>
Param |
Type |
options |
{ universalCode: string; force: boolean; } |
setEmailUserProperty(...)
setEmailUserProperty(options: { email: string; }) => Promise<void>
Param |
Type |
options |
{ email: string; } |
setDeviceToken(options: { token: string; }) => Promise<void>
Param |
Type |
options |
{ token: string; } |
setExtraUserProperty(...)
setExtraUserProperty(options: { extra: GlassfyExtraProperty; }) => Promise<void>
getUserProperty() => Promise<GlassfyUserProperties>
Returns: Promise<GlassfyUserProperties>
purchaseSku(options: { sku: GlassfySku; skuToUpgrade?: GlassfySku; replacementMode?: GLASSFY_REPLACEMENT_MODE; }) => Promise<GlassfyTransaction>
Returns: Promise<GlassfyTransaction>
restorePurchases() => Promise<GlassfyPermissions>
Returns: Promise<GlassfyPermissions>
storeInfo() => Promise<GlassfyStoresInfo>
Returns: Promise<GlassfyStoresInfo>
setAttribution(options: { type: GLASSFY_ATTRIBUTION; value: string; }) => Promise<void>
setAttributions(options: { items: GlassfyAttributionItem[]; }) => Promise<void>
Param |
Type |
options |
{ items: GlassfyAttributionItem[]; } |
_paywall(options: { remoteConfig: string; awaitLoading: boolean; }) => Promise<void>
Param |
Type |
options |
{ remoteConfig: string; awaitLoading: boolean; } |
_closePaywall() => Promise<void>
_openUrl(options: { url: string; }) => Promise<void>
Param |
Type |
options |
{ url: string; } |
Prop |
Type |
all |
GlassfyOffering[] |
Prop |
Type |
offeringId |
string |
skus |
GlassfySku[] |
Prop |
Type |
title |
string |
identifier |
string |
description |
string |
price |
number |
currencyCode |
string |
period |
string |
introductoryPrice |
GlassfyProductDiscount |
discounts |
GlassfyProductDiscount[] |
basePlanId |
string |
Prop |
Type |
identifier |
string |
price |
number |
currencyCode |
string |
period |
string |
numberOfPeriods |
number |
type |
string |
Prop |
Type |
all |
GlassfyPurchaseHistory[] |
Prop |
Type |
productId |
string |
skuId |
string |
type |
GLASSFY_EVENT_TYPE |
store |
GLASSFY_STORE |
purchaseDate |
string |
expireDate |
string |
transactionId |
string |
subscriberId |
string |
currencyCode |
string |
countryCode |
string |
isInIntroOfferPeriod |
boolean |
promotionalOfferId |
string |
offerCodeRefName |
string |
licenseCode |
string |
webOrderLineItemId |
string |
Prop |
Type |
installationId |
string |
subscriberId |
string |
originalApplicationVersion |
string |
originalApplicationDate |
string |
all |
GlassfyPermission[] |
Prop |
Type |
permissionId |
string |
entitlement |
GLASSFY_ENTITLEMENT |
isValid |
boolean |
expireDate |
string |
accountableSkus |
GlassfyAccountableSku[] |
Prop |
Type |
isInIntroOfferPeriod |
boolean |
isInTrialPeriod |
boolean |
basePlanId |
string |
offerId |
string |
Prop |
Type |
store |
GLASSFY_STORE.Paddle |
extravars |
{ [key: string]: string; } |
userid |
string |
planId |
string |
subscriptionId |
string |
updateURL |
string |
cancelURL |
string |
GlassfyExtraProperty
{ [key: string]: string }
Exclude from T those types that are assignable to U
T extends U ? never : T
Members |
Value |
OFF |
0 |
ERROR |
1 |
DEBUG |
2 |
INFO |
3 |
ALL |
3 |
Members |
Value |
ELEGIBLE |
1 |
NON_ELEGIBLE |
-1 |
UNKNOWN |
0 |
Members |
Value |
InitialBuy |
5001 |
Restarted |
5002 |
Renewed |
5003 |
Expired |
5004 |
DidChangeRenewalStatus |
5005 |
IsInBillingRetryPeriod |
5006 |
ProductChange |
5007 |
InAppPurchase |
5008 |
Refund |
5009 |
Paused |
5010 |
Resumed |
5011 |
ConnectLicense |
5012 |
DisconnectLicense |
5013 |
Members |
Value |
AppStore |
1 |
PlayStore |
2 |
Paddle |
3 |
Stripe |
4 |
Glassfy |
5 |
Members |
Value |
NEVERBUY |
-9 |
OTHERREFUND |
-8 |
ISSUEREFUND |
-7 |
UPGRADED |
-6 |
EXPIREDVOLUNTARY |
-5 |
PRODUCTNOTAVAILABLE |
-4 |
FAILTOACCEPTINCREASE |
-3 |
EXPIREDFROMBILLING |
-2 |
INRETRY |
-1 |
MISSINGINFO |
0 |
EXPIREDINGRACE |
1 |
OFFPLATFORM |
2 |
NONRENEWING |
3 |
AUTORENEWOFF |
4 |
AUTORENEWON |
5 |
Members |
Value |
UNKNOWN_REPLACEMENT_MODE |
0 |
WITH_TIME_PRORATION |
1 |
CHARGE_PRORATED_PRICE |
2 |
WITHOUT_PRORATION |
3 |
CHARGE_FULL_PRICE |
5 |
DEFERRED |
6 |
Members |
Value |
AdjustID |
1 |
AppsFlyerID |
2 |
IP |
3 |
IDFA |
4 |
IDFV |
5 |
GAID |
6 |
ASID |
7 |
AID |
8 |