Skip to content

In-app purchases and subscriptions made easy. Support for iOS, iPadOS, watchOS, and macOS.

License

Notifications You must be signed in to change notification settings

space-code/flare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flare: In-app purchases and subscriptions made easy

flare

Licence Swift Compatibility Platform Compatibility CI CI CodeCov GitHub release; latest by date GitHub commit activity Number of GitHub contributors Number of GitHub closed issues Number of GitHub stars Number of GitHub pull requests that are open Number of GitHub issues that are open

Description

Flare is a framework written in Swift that makes it easy for you to work with in-app purchases and subscriptions.

Features

  • Support Consumable & Non-Consumable Purchases
  • Support Subscription Purchase
  • Support Promotional & Introductory Offers
  • Support StoreKit and StoreKit 2
  • iOS, tvOS, watchOS, macOS, and visionOS compatible
  • Complete Unit, Integration & Snapshot Test Coverage
  • Offer a UI for building in-app purchase stores in SwiftUI and UIKit

Usage

Quick Start

import Flare

/// Fetch a product with the given id
guard let product = try await Flare.shared.products(productIDs: ["product_identifier"]) else { return }

/// Purchase a product
let transaction = try await Flare.shared.purchase(product: product)

/// Finish a transaction
Flare.shared.finish(transaction: transaction, completion: nil)

Documentation

Check out the documentation.

  • Flare Docs describe how to integrate the main framework
  • FlareUI Docs contains information about integrating the UI framework, displaying products and subscriptions, and customizing them.

Requirements

Package Supported Platforms XCode Minimum Swift Version
Flare iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 7.0+ / visionOS 1.0+ 14.2 5.7
FlareUI iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ 14.2 5.7

Installation

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. It is in early development, but flare does support its use on supported platforms.

Once you have your Swift package set up, adding flare as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/space-code/flare.git", .upToNextMajor(from: "3.0.2"))
]

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Contributing

Bootstrapping development environment

make bootstrap

Please feel free to help out with this project! If you see something that could be made better or want a new feature, open up an issue or send a Pull Request!

Have a Question?

Contact us via issues on GitHub.

Author

Nikita Vasilev, [email protected]

License

flare is available under the MIT license. See the LICENSE file for more info.