Skip to content
This repository has been archived by the owner on Jul 23, 2024. It is now read-only.

appcraftconsulting/buymeacoffee

Repository files navigation

Swift

A supporter is worth a thousand followers.

Buy Me a Coffee is a modern creator platform. It takes two minutes to start your page and has all the features that you need to build your creative business.

Donations 💰
Give your audience a friendly way to thank you.

Memberships 🗓️
Earn recurring revenue by offering a monthly or yearly membership.

Sell Extras ✨
A new, creative way to offer Zoom calls, art commissions, anything.


Features

  • Apple Pay
  • iCloud Keychain

Requirements

CocoaPods Swift Package Manager
Swift 5.0 Swift 5.3
Xcode 11.x Xcode 12.x

App Store Review

These are the two App Store Review Guidelines articles you have to know before using this framework:

3.1.1 In-App Purchase

  • Apps may use in-app purchase currencies to enable customers to “tip” digital content providers in the app.

3.2.1 Acceptable:

(vii) Apps may enable individual users to give a monetary gift to another individual without using in-app purchase, provided that (a) the gift is a completely optional choice by the giver, and (b) 100% of the funds go to the receiver of the gift. However, a gift that is connected to or associated at any point in time with receiving digital content or services must use in-app purchase.

Implement Buy Me a Coffee

  1. Import the BuyMeACoffee framework in your UIApplicationDelegate:
import BuyMeACoffee
  1. Configure the BMCManager shared instance with the username you've chosen on www.buymeacoffee.com, typically in your app's application:didFinishLaunchingWithOptions: method:
BMCManager.shared.configure(username: "appcraftstudio")
  1. In the view controller, override the viewDidLoad method to set the presenting view controller of the BMCManager object.
BMCManager.shared.presentingViewController = self
// You can also set a custom thank you message
BMCManager.shared.thankYouMessage = "Thank you for supporting 🎉 App Craft Studio !"
  1. Add a BMCButton to your storyboard, XIB file, or instantiate it programmatically. To add the button to your storyboard or XIB file, add a View and set its custom class to BMCButton.
  2. Optional: If you want to customize the button, do the following:
let configuration = BMCButton.Configuration(color: .orange, font: .cookie)
let button = BMCButton(configuration: configuration)
// or set the burtton configuration later
button.configure(with: configuration)


(Optional) Configure In-App Purchase

Depending the legal receiver of the gift configured on Buy Me a Coffee, App Store reviewers can ask for In-App Purchase implementation.
If the following In-App Purchase if configured for your application, it will be displayed as primary flow when user tap on the BMCButton.

If the framework can't retrieve In-App Purchase informations, the web flow will be used as fallback.

App Store Connect

Go to App Store Connect, search for the In-App Purchases section of your app, and then, create a new one with the following informations:

Type Consumable
Reference Name Buy Me a Coffee
Product ID your.app.bundle.identifier.buymeacoffee
Cleared for Sale
Price Tier 4
Display Name Buy Me a Coffee
Description Hey there! You can now buy me a coffee!
Promotional Image download here
Review Screenshot download here
Review Notes Buy Me a Coffee enable customers to “tip” digital content providers in the app.

Capabilities

  1. Select the current workspace in the project navigator.
  2. Then, select the app target in the left panel.
  3. Go to the Signing & Capabilities tab.
  4. Add the In-App Purchase capability.

Installation

You want to add pod 'BuyMeACoffee', '~> 1.0' similar to the following to your Podfile:

target 'MyApp' do
  pod 'BuyMeACoffee', '~> 1.0'
end

Then run a pod install inside your terminal, or from CocoaPods.app.

  1. Using Xcode 11 or above go to File > Swift Packages > Add Package Dependency
  2. Paste the project URL: https://github.com/appcraftstudio/buymeacoffee.git
  3. Click on next and select the project target

Swift Package Manager


Buy Me a Coffee framework for iOS - Embed Buy Me a Coffee framework in your applications | Product Hunt Embed

Buy Me A Coffee

Copyright © 2020 App Craft Studio. All rights reserved.