apphud 1.0.0 copy "apphud: ^1.0.0" to clipboard
apphud: ^1.0.0 copied to clipboard

outdated

Apphud SDK is a lightweight open-source library to manage auto-renewable subscriptions and other in-app purchases in your Flutter app.

Flutter SDK #

Apphud SDK for Flutter

Installation #

##Usage

Initialize SDK #

To initialize Apphud SDK you will need SDK Token. It is a unique identifier of your Apphud application. You can get it in your Apphud application settings under General tab

Basic initialization looks like this:

await AppHud.start(
          apiKey: "apiKey");

Initialization Options

property type platform required
apiKey String iOS, Android yes
userId String iOS, Android no
deviceId String Android no
observerMode Bool iOS no

You can also initialize SDK with custom Device ID. This should be used if you plan to use logout / login features. You can pass the same identifier to Device ID and User ID:

await AppHud.startManually(
          apiKey: "apiKey",
          userID: "userID",
          deviceID: "deviceID",
          observerMode: true,
        );

Log out method will clear all saved data and reset SDK to uninitialised state:

await AppHud.logout();

Purchase using Apphud Billing Client #

To make a purchase call:

await AppHud.purchase("productId");

Check Subscription Status #

await AppHud.hasActiveSubscription();

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

Get Products #

Apphud automatically fetches SKProduct/SKDetails objects upon launch. Make sure products identifiers are added in Apphud products. To get your products call:

await Apphud.products();

Get Subscription Details #

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

await Apphud.subscription();

Check Non-renewing Purchase Status #

Use this method to check whether the user has purchased in-app purchase and it's not refunded. Returns false if was never purchased or is refunded.

await Apphud.isNonRenewingPurchaseActive("productIdentifier")

Get Non-renewing Purchase Details #

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

await Apphud.nonRenewingPurchases();

Get User ID #

To get user id you can use this method:

await Apphud.userId();

Integrations #

Submit attribution data to Apphud from your attribution network provider.

 Map<String,dynamic> data = {"key":"value"};
 ApphudAttributionProvider provider = ApphudAttributionProvider.appsFlyer;

await AppHud.addAttribution(data: data, provider: provider);

Restore Purchases (only iOS) #

If your app doesn't have a login system, which identifies a premium user by his credentials, then you need a "restore" mechanism.

await AppHud.restorePurchases();

Basically it just sends App Store Receipt to Apphud and returns subscriptions (or nil, if subscriptions are never purchased), non-renewing purchases (or nil, if there are no any) and an optional error.

Observer Mode (Android) #

If you use your own billing then you should sync purchases each time user makes any purchase or restoration. Just call after purchase or restore:

await Apphud.syncPurchases();

Keep in mind, that you are responsible for acknowledging or consuming all purchases in observer mode!

Migrate existing purchases (Android) #

If you need to migrate existing purchases in case you already have a live app or if you need to restore purchases when user hits Restore button, just call syncPurchases() method.

await Apphud.syncPurchases();

Do not migrate purchases on every app launch. One successful time is enough. Store flag in your app if purchases were successfully migrated

Contributing #

See the contributing guide to learn how to contribute to the repository and the development workflow.

License #

MIT

11
likes
0
pub points
86%
popularity

Publisher

unverified uploader

Apphud SDK is a lightweight open-source library to manage auto-renewable subscriptions and other in-app purchases in your Flutter app.

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, json_annotation

More

Packages that depend on apphud