Popularity
1.6
Stable
Activity
7.9
Growing
68
1
4

Programming language: Swift
Tags: App Store    
Latest version: v0.9.1

Apphud alternatives and similar libraries

Based on the "App Store" category

Do you think we are missing an alternative of Apphud or a related project?

Add another 'App Store' Library

README

Apphud SDK

Apphud SDK is a lightweight open-source Swift library to manage auto-renewable subscriptions and other in-app purchases in your iOS app. No backend required.

Visit our website for details: https://apphud.com

Features

๐Ÿ‘ Integrating subscriptions using our SDK is very easy.Apphud takes care of a subscription purchase process. Integrate SDK in just a few lines of code.

๐Ÿงพ App Store receipts validation.Apphud validates and periodically refreshes App Store receipts to give you real-time data.

๐Ÿ•— View subscription details and transactions history.Get expiration date, autorenew status in our SDK.

๐Ÿ•— View non-renewing purchase details and transactions history.

๐Ÿ” Determine for trial, introductory and promotional offer eligibility using our SDK.

๐Ÿ”” Receive a real-time notification when a user gets billed.We will send you a message to Slack and Telegram immediately when a user gets billed or started trial.

๐Ÿ“Š View key subscription metrics in our dashboard.Apphud has a convenient dashboard with key metrics of your subscriptions.

๐Ÿ”Œ Integrations. Are available on all plans. Send subscription renewal events to other mobile analytics.Apphud reduces pain in sending all subscription events to external mobile analytics: Amplitude, Mixpanel, AppsFlyer, etc.

๐ŸŽจ Create subscription purchase screens without coding in our visual web editor.You don't need to develop purchase screens. Just pick a template and modify it. So easy! For now only promotional purchase screen are available, initial purchase screens will be available soon.

โœ” Promotional subscription offers support.Use Apphud to easily give a discount for existing and lapsed customers. No backend required.

๐Ÿ’ฑ User local currency real-time conversion.

๐Ÿ† Increase app revenue using our Rules.Apphud will automatically offer a promotional discount based subscription events.

๐Ÿ•ต๏ธ Subscription cancellation insights tool.Understand why you customers cancel a subscription to make right product decisions.

๐Ÿ’ธ Handle billing grace period and billing issues.Apphud will automatically ask a user to update his billing details in case of billing issue during renewal.

๐Ÿ‘ Great documentation.

๐Ÿƒโ€โ™‚๏ธ Fast support. We are online.

SDK Requirements

Apphud SDK requires minimum iOS 11.2, Xcode 10 and Swift 4.2.

Installation

Apphud SDK can be installed via CocoaPods, Swift Package Manager or manually.

Install via CocoaPods

Add the following line to your Podfile:

pod 'ApphudSDK'

In Objective-C project make sure use_frameworks! is added in your Podfile.

And then run in the Terminal:

pod install
Install via SPM (Swift Package Manager)

Add dependecy with the following URL:

https://github.com/apphud/ApphudSDK

Manual Installation

Copy all files in Source folder to your project.

Initialize Apphud SDK

To set up Apphud SDK you will need API Key. Register your app in Apphud and get your API key.

import ApphudSDK

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

  Apphud.start(apiKey: "YOUR_API_KEY")

  // the rest of your code
  return true
}

In Objective-C project you should import like this: #import "ApphudSDK-Swift.h"

Integrations

If you want to send subscription events to third party analytics platforms, you will need to match user IDs (in case of Amplitude or Mixpanel). The full list of available integrations is available here.

Push Notifications

To handle push notifications you need to provide Apphud with device tokens and handle incoming notifications. This is highly recommended in order to use Rules โ€“ a powerful feature that lets you increase your app revenue by automatically offering a discount to a user at the specified moment.

Handle Subscriptions

If you have a live app and already implemented subscription purchasing, it is not necessary to rewrite your subscription purchase flow with Apphud methods. Apphud SDK will still automatically track all purchases in your app.

Apphud SDK provides a set of methods to manage subscriptions. All these methods can be used regardless how you purchased the subscription (via Apphud SDK or your existing code).

Fetch Products

Apphud automatically fetches SKProduct objects upon launch. Products identifiers must be added in our dashboard. To get your products call:

Apphud.products()

When products are fetched from the App Store you will also receive a notification from Notification Center along with Apphud delegate method call (use what fits better your needs).

Make a Purchase

To make a purchase:

Apphud.purchase(product) { result in
   // handle result
}

This method will return an ApphudPurchaseResult object, which contains subscription model with all info about your subscription. ApphudPurchaseResult may also contain transaction, error and nonRenewingPurchase objects in case user purchased non-renewing purchase. See ApphudPurchaseResult.swift and ApphudSubscription.swift files for details.

Check Subscription Status

Apphud.hasActiveSubscription()

Returns true if the user has active subscription. Use this method to determine whether or not to unlock premium functionality to the user.

Get Subscription Details

To get subscription object (which contains expiration date, autorenew status, etc.) use the following method:

Apphud.subscription()

See ApphudSubscription.swift file for details.

### Check Non-renewing Purchase Status

let active = Apphud.isNonRenewingPurchaseActive(productIdentifier: "productID")

Prints true if the user has purchased in-app purchase and it's not refunded. Returns false if never purchased or refunded.

### Get Non-renewing Purchase Details

To get non-renewing purchases, which contain purchase date, product identifier and cancellation date, use the following method:

Apphud.nonRenewingPurchases()

Will return array of all non-renewing in-app purchases, user has ever purchased. In-app purchases are sorted by purchase date.

Restore Purchases

If your app doesn't have a login system, which identifies a premium user by his credentials, then you need a restore mechanism. If you already have a restore purchases mechanism by calling SKPaymentQueue.default().restoreCompletedTransactions(), then you have nothing to worry about โ€“ Apphud SDK will automatically intercept and send latest App Store Receipt to Apphud servers when your restoration is completed. However, better to call our restore method from SDK:

Apphud.restorePurchases{ subscriptions, purchases, error in 
   // handle here
}

Basically it just sends App Store Receipt to Apphud and returns subscriptions in callback (or nil if nothing was ever purchased).

Migrate Existing Subscribers

If you already have a live app with paying users and you want Apphud to track their subscriptions or non-renewing purchases, you should import their App Store receipts into Apphud. Apphud SDK doesn't automatically submit App Store receipts of your existing paying users. Run this code at launch of your app:

// hasPurchases - is your own boolean value indicating that current user is paying user.
if hasPurchases {
    Apphud.migratePurchasesIfNeeded {_, _, _ in}
}

Determing Eligibility for Introductory or Promotional Offer

You can use Apphud SDK to determine if a user is eligible for an introductory or promotional offer:

// Checking eligibility for introductory offer
Apphud.checkEligibilityForIntroductoryOffer(product: myProduct) { result in
  if result {
    // User is eligible for introductory offer
  }
}

// Checking eligibility for promotional offer
Apphud.checkEligibilityForPromotionalOffer(product: myProduct) { result in
  if result {
    // User is eligible for promotional offer
  }
}

You may also check eligibility for multiple offers at one call: checkEligibilitiesForPromotionalOffers(products: [SKProduct], callback: ApphudEligibilityCallback) or checkEligibilitiesForIntroductoryOffers(products: [SKProduct], callback: ApphudEligibilityCallback)

Pricing

Apphud is absolutely free unless you make $10K per month. You can check our pricing here.

Having troubles?

If you have any questions or troubles with SDK integration feel free to contact us. We are online.

https://apphud.com/contacts

Like Apphud? Place a star at the top ๐Ÿ˜Š