Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/space-code/flare

In-app purchases and subscriptions made easy. Support for iOS, iPadOS, watchOS, and macOS.
https://github.com/space-code/flare

appstore hacktoberfest iap in-app-purchase in-app-purchases inapp ios macos payment purchases receipt sdk storekit subscription subscriptions swift swift-package-manager tvos visionos watchos

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

![Flare: In-app purchases and subscriptions made easy](https://raw.githubusercontent.com/space-code/flare/dev/Resources/flare.png)

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](#features)
- [Usage](#usage)
- [Documentation](#documentation)
- [Requirements](#requirements)
- [Installation](#installation)
- [Communication](#communication)
- [Contributing](#contributing)
- [Have a Question](#have-a-question)
- [Author](#author)
- [License](#license)

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

## Usage

### Quick Start
```swift
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](https://space-code.github.io/flare/).

- [**Flare Docs**](https://space-code.github.io/flare/flare/documentation/flare/) describe how to integrate the main framework
- [**FlareUI Docs**](https://space-code.github.io/flare/flareui/documentation/flareui/) 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](https://swift.org/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`.

```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](https://github.com/space-code/flare/issues).

## Author
Nikita Vasilev, [email protected]

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