Skip to content

Commit

Permalink
Add documentation for migrating paid-up-front apps
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeehut committed Aug 11, 2024
1 parent 4a9e2b7 commit 25646c4
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# My app is paid-up-front. How can I make it Freemium?

See how easy it is to migrate from a paid-up-front app to a Freemium model using FreemiumKit, while preserving access to your app for those who already purchased.

@Metadata {
@TitleHeading("FAQs")
@PageKind(sampleCode)
}

## Short Answer

Our SDK uses Apples [built-in solution](https://developer.apple.com/documentation/storekit/supporting_business_model_changes_by_using_the_app_transaction) in StoreKit to determine users who purchased your paid app before your migrated it to the Freemium model. And for new users, it works normally. You just need to tell our SDK which was the last paid version and build number calling `FreemiumKit.shared.lastBuildReleasedAsPaidApp(version:build:)`.


## Full Answer

### Step 1: Set up FreemiumKit like normally

Add your app inside the FreemiumKit app and follow all instructions to set up your app for In-App Purchases like you would normally do (see Setup tab inside the Mac app). Just act like your app is already free to use and make sure to lock any features you want to hide behind paid tiers using the SDK features from our <doc:SetupGuide>.

### Step 2: Tell our SDK the last paid version

In order to continue giving users who had already purchased your app previously full access to your apps features, you need to tell our SDK which was the last version and build number sold as a paid-up-front app. Our SDK will then use Apples [built-in solution](https://developer.apple.com/documentation/storekit/supporting_business_model_changes_by_using_the_app_transaction) in StoreKit to automatically detect those users for you, there's nothing else you need to do. Just call this, e.g. in your app entry point:

```swift
import FreemiumKit

@main
struct AwesomeApp: App {
init() {
FreemiumKit.shared.lastPaidRelease(version: "1.5.1", buildNum: 25)
}

// ...
}
```

### Step 3: Submit a new version & make your app free

Once everything is ready and tested, submit your app to the App Store and set it to "Manually release this version". Once your update is approved, release your version and immediatelz after that set your app pricing to "Free". This will ensure that no one can download your previous (paid) version for free but also no one has to pay for the new Freemium version. The order is important here.

Thats't it, you successfully migrated your paid app to the Freemium model!

## Contact

Have questions or need support? Reach out to me at [[email protected]](mailto:[email protected]).

---

## Legal

@Small {
Cihat Gündüz © 2024. All rights reserved.
Privacy: No personal data is tracked on this site.
[Imprint](https://www.fline.dev/imprint/)
}
1 change: 0 additions & 1 deletion Sources/FreemiumKit/FreemiumKit.docc/FAQ/FAQ-Privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ Learn how FreemiumKit was designed to keep your users data private and reduce th
@PageKind(sampleCode)
}


## Short Answer

We don't send any personal user data to our servers, respecting user privacy. And we delete purchase data from our servers as soon as they are fetched to your devices. Your purchase data is persisted via CloudKit. This ensures we can't access your purchase history.
Expand Down
1 change: 1 addition & 0 deletions Sources/FreemiumKit/FreemiumKit.docc/FAQs.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ The most frequently asked questions about FreemiumKit.
- <doc:FAQ-Validation>
- <doc:FAQ-Pricing>
- <doc:FAQ-MigrateFromRevenueCat>
- <doc:FAQ-MigrateFromPaidUpFront>
- <doc:FAQ-ServerLimits>


Expand Down
2 changes: 1 addition & 1 deletion Sources/FreemiumKit/FreemiumKit.docc/Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,10 +149,10 @@ The top 5 most frequently asked questions:

@Links(visualStyle: list) {
- <doc:FAQ-HowItWorks>
- <doc:FAQ-Privacy>
- <doc:FAQ-Validation>
- <doc:FAQ-Pricing>
- <doc:FAQ-MigrateFromRevenueCat>
- <doc:FAQ-MigrateFromPaidUpFront>
}

Visit the [Frequently Asked Questions](doc:FAQs) page for the full list of questions & answers.
Expand Down

0 comments on commit 25646c4

Please sign in to comment.