Plans and going live
Your own app needs a paid plan. This page covers what the Free plan does with the SDK, the live key and address, how to go live and what to check before you release.
Your own app needs a paid plan. On the Free plan you can build campaigns in the dashboard and see them on a phone with Bubbl's Showcase demo app, which you connect to your workspace from See it on your phone in the dashboard.
Free and paid#
Every new company starts on the Free plan, with no time limit. Subscribing to a paid plan, from Billing in the dashboard, is what lets your own app start.
| Free | Paid plan | |
|---|---|---|
| Dashboard, campaigns, reports | Yes, with limits on campaigns, locations and notifications | Yes, without those limits |
| Bubbl's Showcase demo app | Yes: connect it from See it on your phone | Yes, alongside your own app |
| Your own app with the SDK | No | Yes |
| SDK API key, Firebase and Apple Push | Greyed out in Configuration | Open |
On Free, the SDK key page and the push pages in Configuration are greyed out. If you start an app with a Free company's key anyway, the server refuses the install with the error own_app_not_in_plan. Bubbl pauses (active is false and pausedUntil is set) and tries again after 24 hours, so it works again after you upgrade. The server checks every call, so a downgrade takes effect on phones that were already running.
The key and the address#
There's one workspace, Production. It has one SDK API key and one API address, and they go together.
| Key | API address (baseUrl) |
|---|---|
pk_live_… | https://api.bubbl.tech |
Copy the key from Configuration › Developers. The API address is shown under it.
Pass the address as shown: don't add /api/v1 (the SDK adds it), and it must be https://. If the key and the address don't match, the server answers wrong_environment and the SDK stops, logging that the key and the address don't match and which address to start with instead.
Everything you create in the dashboard is live once it's active. Campaigns reach every phone running your app with the live key, and nothing is held back for approved test devices.
pk_test_ keys, the https://api.sandbox.bubbl.tech address and the test device approval belong to a workspace that has one. The SDK still supports them: registerTestDevice and the environment and testDevice fields of Diagnostics apply there.Going live#
- Subscribe to a paid plan. Choose Upgrade in the dashboard or open Billing. Your own app can start as soon as the plan is active.
- Copy the key. In Configuration › Developers, copy the
pk_live_…SDK API key and note the API address. - Add push credentials. Firebase for Android and Apple Push for iOS. See Dashboard setup.
- Start Bubbl with the key and the address, and ship. See the Quickstart.
Then run your app on a phone and check Bubbl.diagnostics(): registered is true. On the dashboard, Configuration › Developers shows the devices registered and the last check-in, and the Active users card counts the phone once it has geofence activity.
Testing without a Sandbox#
There's no test workspace: what you make in the dashboard is live. These are suggestions for working safely, not product features:
- Keep a new campaign paused, or scheduled for later, until you're happy with it.
- Target a test segment. Set it from your own build with
setSegments, so only your phone is in it. See Segments and events. - Try everything on your own phone first, then on a few colleagues' phones, before you ship to everyone.
- Use a separate build of your app for testing, if you can, so you control who has it.
Testing and diagnostics covers what to read on the phone.
Before you release#
- Android: the Location permissions declaration in the Play Console. The SDK declares background location, so every app using Bubbl fills it in. See Location and geofences.
- iOS: ad hoc, TestFlight and App Store builds register their push tokens as production, so Apple Push needs your app's key in the workspace the build uses. See Push notifications.
- Consent: if your users must agree first, start with
requireConsent. See Consent and user data. - Key and address: the release build uses the
pk_live_…key andhttps://api.bubbl.tech.
An install belongs to the key it was started with. Start it with another key (for example after a rotation) and it starts afresh as a new device: what Bubbl kept on the phone, its queued events included, is cleared first, and the user's consent is kept.