Automatic Provider Linking
Starting with SwiftyLaunch 1.5, we have introduced a feature that will help you start working on your new project idea even faster than ever before, it's called Automatic Provider Linking.
SwiftyLaunch handles a lot of the tedious, but necessary setup for your next application — things like defining your project structure, locking features behind a paywall and more. This resulted in drastically increased productivity and reduction of the friction of going from idea to actual app on the App Store.
While SwiftyLaunch handled setup on the client setup: things like initialization and necessary function calls, you still needed to go and manually setup your accounts and projects on websites/consoles/dashboards of different providers that SwiftyLaunch utilizes (example: setting up a new RevenueCat project, copying over the API keys and pasting them into your Xcode Project). If you have selected all available modules, the provider setup process may take up between 20 and 40 minutes!
Our goal is to reduce it to 0 minutes. We want you to click on generate, and be able to start building your next million-dollar app in no time.
This is where Automatic Provider Linking comes in. Simply navigate to the “Linking” page of SwiftyLaunch settings and enable “Allow SwiftyLaunch to generate … “. Then follow the instructions of individual providers to connect your accounts to SwiftyLaunch.
After enabling Automatic Provider Linking, during module selection when creating a new app, SwiftyLaunch will be able to go out to individual providers and setup the project on your behalf. It will then take all the necessary project information, such as client API keys and paste into your newly generated Xcode project. ✨Automagically.✨ You don't even have to open your browser to do that. Ain't that cool?
Note that this feature is currently in beta, and doesn't support all providers and while we take our effort to extensively test all possible edge-cases, it still may lead to unexpected results.
Supported Provider Integration
PostHog (AnalyticsKit)
PostHog is the first provider that we have included in our Automatic Provider Linking feature. SwiftyLaunch will manage project creation, enabling of certain features (like Session Recording), and organization creation if necessary.
Scope of Automation
If enabled during module selection, SwiftyLaunch will generate a new PostHog project for you and will enable following features out of the box:
- Autocapture & Web Vitals (for web)
- Product Analytics (web and iOS)
- Session Recordings (web and iOS)
- Heat Maps (for web)
By default, SwiftyLaunch will create a new Organization for a new project. (This is due to the fact that most users have a free plan, which allows only one project per organization). Otherwise, if your plan allows for multiple projects per organization, you can assign the newly created projects to a specific organization in the dropdown menu.
Note that we will only show organizations that have not reached their project limit in the dropdown menu. If you're on the free plan, chances are you won't see any organizations and will have to create a new organization for each project.
Required Initial Setup
For SwiftyLaunch to be able to create PostHog projects on your behalf, following is needed:
- Region of your PostHog account. PostHog allows you to base your account in the EU or the US (mainly for GDPR compliance reasons). Your account region will directly influence the region of your PostHog projects.
- Your Personal PostHog API key with access to information about all your organizations, write permissions for organizations and projects. We require this to
- see what organizations you currently have,
- allow us to create new organizations, and to
- allow us to create new projects.
SwiftyLaunch can collect information during project generation regarding created projects. We only use this data for analytics purposes, to improve our service and ONLY share that information with the direct provider (I.e. PostHog data only with PostHog). While we access your organizations data, we never store or share that information with anyone but you.