-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
123 additions
and
2 deletions.
There are no files selected for viewing
120 changes: 120 additions & 0 deletions
120
Sources/FreemiumKit/FreemiumKit.docc/AppReviewChecklist.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Checklist to Pass App Review | ||
|
||
@Metadata { | ||
@PageImage(purpose: icon, source: "FreemiumKit") | ||
@TitleHeading("FreemiumKit") | ||
@PageKind(article) | ||
} | ||
|
||
This checklist helps developers using FreemiumKit to navigate Apple's app review process for apps with in-app purchases (IAPs). | ||
|
||
## Before Submission | ||
|
||
1. **Set App Price to Free** | ||
- Navigate to "Pricing and Availability" in App Store Connect | ||
- Set app price to "0.00" / Free | ||
- Ensure availability for all desired countries | ||
|
||
2. **Link IAPs/Subscriptions to Your Build** | ||
- In App Store Connect, go to your in-progress build | ||
- Find 'In-App Purchases and Subscriptions' section | ||
- Click 'Select In-App Purchases or Subscriptions' | ||
- Associate relevant products with your build | ||
|
||
## Legal Compliance | ||
|
||
1. **Accept Latest 'Paid Apps Agreement'** | ||
- Go to 'Business' tab in [App Store Connect](https://appstoreconnect.apple.com/business) | ||
- Accept the latest agreement | ||
|
||
2. **Add Privacy Policy Link** | ||
- In App Store Connect: | ||
- Go to your app's page > 'App Privacy' | ||
- Add Privacy Policy URL | ||
|
||
3. **Set Up Privacy Labels in App Store Connect** | ||
- Go to your app's page > 'App Privacy' | ||
- Select "Purchases" for data types | ||
- Choose "Analytics" and "App Functionality" within "Purchases" | ||
- Answer subsequent questions with 'No' (we don't collect user-identifiable data) | ||
|
||
4. **Include Apple's EULA in App Description** | ||
- Add this to your App Store description (all locales): | ||
``` | ||
----- Legal Notice ----- | ||
Terms of Use (EULA): https://www.apple.com/legal/internet-services/itunes/dev/stdeula/ | ||
``` | ||
5. **Link to Privacy & Terms in your App** | ||
- Within Your App: | ||
- Add a link for Privacy and Terms in settings menu or Help menu (Mac) | ||
- For iOS, example code: | ||
```swift | ||
import SwiftUI | ||
struct SettingsView: View { | ||
@Environment(\.openURL) private var openURL | ||
var body: some View { | ||
Form { | ||
// ... | ||
#if !os(macOS) | ||
Section { | ||
Button("Terms and Conditions", systemImage: "text.book.closed") { | ||
self.openURL(URL(string: "https://www.apple.com/legal/internet-services/itunes/dev/stdeula/")!) | ||
} | ||
Button("Privacy", systemImage: "lock") { | ||
self.openURL(URL(string: "https://www.example.com/privacy")!) | ||
} | ||
} | ||
#endif | ||
} | ||
} | ||
} | ||
``` | ||
- For macOS, example code: | ||
```swift | ||
import SwiftUI | ||
@main | ||
struct YourApp: App { | ||
@Environment(\.openURL) private var openURL | ||
var body: some Scene { | ||
WindowGroup { | ||
// ... | ||
} | ||
#if os(macOS) | ||
.commands { | ||
CommandGroup(replacing: .help) { | ||
Button("Terms and Conditions") { | ||
self.openURL(URL(string: "https://www.apple.com/legal/internet-services/itunes/dev/stdeula/")!) | ||
} | ||
Button("Privacy") { | ||
self.openURL(URL(string: "https://www.example.com/privacy")!) | ||
} | ||
} | ||
} | ||
#endif | ||
} | ||
} | ||
``` | ||
> Note: You can optionally add these links to your paywall using "Auxiliary Buttons" in the FreemiumKit paywall editor, but it's not a requirement. They are only required directly within your app to ensure users can access them even without/before/after making a purchase. | ||
## Conclusion | ||
Following this checklist will help ensure a smoother app review process when using FreemiumKit for in-app purchases. Remember to thoroughly test your app before submission and stay updated with Apple's latest guidelines. | ||
## Support | ||
For questions or support, contact: [[email protected]](mailto:[email protected]) | ||
--- | ||
@Small { | ||
Cihat Gündüz © 2024. All rights reserved. | ||
Privacy: No personal data is tracked on this site. | ||
[Imprint](https://www.fline.dev/imprint/) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -134,9 +134,9 @@ Ready to take your app's monetization to the next level? Download FreemiumKit to | |
[Download Now](https://apps.apple.com/app/apple-store/id6502914189?pt=549314&ct=freemiumkit.app&mt=8) | ||
|
||
|
||
## SDK Setup Guide | ||
## Detailed Setup Guides | ||
|
||
For a detailed walkthrough on how to integrate the FreemiumKit SDK into your app, check out our [SDK Setup Guide](doc:SetupGuide). To migrate a paid app to the Freemium model, additionally read our related [Migration Guide](doc:MigrateFromPaid). | ||
For a detailed walkthrough on how to integrate the FreemiumKit SDK into your app, check out our [SDK Setup Guide](doc:SetupGuide). For a smooth app review process with in-app purchases, use our [App Review Checklist](doc:AppReviewChecklist). To migrate a paid app to the Freemium model, refer to our [Migration Guide](doc:MigrateFromPaid). | ||
|
||
|
||
## Testimonials | ||
|
@@ -200,5 +200,6 @@ Have questions or need support? Reach out to me at [[email protected]](mailt | |
## Topics | ||
|
||
- <doc:SetupGuide> | ||
- <doc:AppReviewChecklist> | ||
- <doc:MigrateFromPaid> | ||
- <doc:FAQs> |