The In-App
Subscriptions

Platform

Glassfy open-source SDK provides you with subscription infrastructure, real-time subscription events and out-of-the-box monetization tools on iOS, Android, Stripe and Paddle.
a purple background graphic
100%
uptime in the last 30 days
2h
average implementation time
15k+
apps chose an app subscription management tool in the last 12 months
Loved by our users,
everywhere a fox with a badge
Why use Glassfy?
Free your team from the ongoing burden of maintenance. With Glassfy you get:
Multi-store Support
Glassfy provides infrastructure and support for multiple app stores and web so you can build a true multi-store experience and sell to your users wherever they are
Complete Infrastructure, Zero Cost
Glassfy's backend powers rapid deployment at no charge, handling everything from permission verification to subscription management, with no MTR commissions taken.
Accelerate your Growth
Glassfy provides a suite of Growth tools such as Paywalls, Redemption Codes, and User Event Triggers that all maximize revenue along the user journey
You own your data, forever
Glassfy provides you your user data, but also all the store data as well including receipts, its your data to keep, forever
Advanced Analytics
Managing all the data across stores is a pain, with Glassfy we unify all of that for you and provide it in real-time along with over a dozen out-of-the-box reports such as ARPU, churn rate, and more
Flexibility
Use Glassfy functions to transform app revenue data to fit how you operate your business. Using Glassy Functions it allows you to build to scale your business and create a totally flexible monetization strategy
Why use Glassfy?
Free your team from the ongoing burden of maintenance. With Glassfy you get:
Multi-store Support
Glassfy provides infrastructure and support for multiple app stores and web so you can build a true multi-store experience and sell to your users wherever they are
Complete Infrastructure, Zero Cost
Glassfy's backend powers rapid deployment at no charge, handling everything from permission verification to subscription management, with no MTR commissions taken.
Accelerate your Growth
Glassfy provides a suite of Growth tools such as Paywalls, Promotional Codes, and User Event Triggers that all maximize revenue along the user journey
You own your data, forever
Glassfy provides you your user data, but also all the store data as well including receipts, its your data to keep, forever
Advanced Analytics
Managing all the data across stores is a pain, with Glassfy we unify all of that for you and provide it in real-time along with over a dozen out-of-the-box reports such as ARPU, churn rate, and more
Flexibility
Use Glassfy functions to transform app revenue data to fit how you operate your business. Using Glassy Functions it allows you to build to scale your business and create a totally flexible monetization strategy
Supporting 3rd-Party Frameworks
Your app runs on Flutter, Ionic or React Native? No problem. We fully support them. Documentation on Github.
Glassfy.initialize(apiKey:"8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3")
              
              Glassfy.offerings { (offers, error) in
                guard let offer = offers?["my_offering"],
                  let sku = offer.skus.first else { return }
              
              Glassfy.purchase(sku: sku) {(t, error) in
                if let permission = t?.permissions["premium"],
                    permission.isValid {
                      // unlock premium
                    }
                }
              }
              
[Glassfy initializeWithAPIKey:@"8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3" watcherMode:NO];
              
              [Glassfy offeringsWithCompletion:^(GYOfferings *offers, NSError *err) {
              GYOffering *offering = offers[@"my_offering"];
              if (offering == nil)
              return;
              GYSku *sku = offering.skus.firstObject;
              
                  [Glassfy purchaseSku:sku completion:^(GYTransaction *t,NSError *error) {
                      if (t == nil)
                          return;
                      GYPermission *p = t.permissions[@"premium"];
                      if (p != nil && p.isValid) {
                          // unlock premium
                      }
                  }];
              
              }];
              
Glassfy.initialize(this, "8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3", false, null)
              Glassfy.offerings { offers, error ->
                  val offer = offers?.all?.find {  o -> o.offeringId == "my_offering" }
                  val sku = offer?.skus?.firstOrNull() ?: return@offerings
              
                  Glassfy.purchase(this, sku) { transaction, err ->
                      transaction?.permissions
                          ?.all
                          ?.find { p -> p.permissionId == "premium" && p.isValid }
                          ?.let {
                              // unlock premium
                          }
                  }
              }
              
Glassfy.initialize(this, "8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3", false, null);
              Glassfy.offerings((offers, error) -> {
                  Sku sku = null;
                  if (offers != null) {
                      for (Offering o : offers.getAll()) {
                          if (o.getOfferingId().equals("my_offering") && o.getSkus().size() > 0) {
                              sku = o.getSkus().get(0);
                              break;
                          }
                      }
                  }
                  if (sku == null) { return; }
                  Glassfy.purchase(this, sku, (transaction, err) -> {
                      if (transaction != null) {
                          for (Permission p : transaction.getPermissions().getAll()) {
                              if (p.getPermissionId().equals("premium") && p.isValid()) {
                                  // unlock premium
                              }
                          }
                      }
                  });
              });
              
await Glassfy.initialize("8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3");
              var offerings = await Glassfy.offerings();
              var offering = offerings.all
                ?.singleWhere((offering) => offering.offeringId == "my_offering");
              var sku = offering?.skus?.first;
              if (sku != null) {
              var transaction = await Glassfy.purchaseSku(sku);
              var permission = transaction.permissions?.all
                  ?.singleWhere((permission) => permission.permissionId== "premium");
              if (permission?.isValid==true) {
                // unlock premium
              }
              
await Glassfy.initialize("8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3", false);
              
              const offerings = await Glassfy.offerings();
              const offering = offerings.all.find(
                (off) => off.identifier === "my_offering"
              );
              if (!offering) return;
              const sku = offering.skus[0];
              const transaction = await Glassfy.purchaseSku(sku);
              const permission = transaction.permissions.all.find(
                (p) => p.permissionIdentifier === "premium"
              );
              if (permission?.isValid) {
                // unlock premium
              }
              
await Glassfy.initialize({
                  apiKey: "8NOV6FQBHHRJ4F9N2HV0HUXOQ5LL0QA3",
                  watcherMode: false
              });
              
              const offerings = await Glassfy.offerings();
              const offering = offerings.all.
              find((offering) => offering.offeringId == "my_offering");
              if (!offering)
                  return;
              const sku = offering.skus[0];
              const transaction = await Glassfy.purchaseSku({ sku });
              const permission = transaction.permissions.all.
              find((permission) => permission.permissionId == "premium");
              
              if (permission?.isValid) {
                  // unlock premium
              }
              
Real-time and accurate data, at last!
Data is there, you deserve to receive it in real-time without waiting for platforms’ delays. Have full transparency on what’s happening. Make use of advanced analytics with pre-defined reporting such as ARPU, Churn, etc.
Connect with any third-party services and integrators
Send real-time events to your server or any third-party tool you use.
Validate Glassfy in just 1 hour
You can trial and validate our SDK and Growth tools in less than an hour of your time
Step 1
Discover Glassfy
Step 2
Sign up
Step 3
Install SDK
Step 4
Release app