starti.app SDK
website·Indexed 33 days ago
https://docs.starti.appA TypeScript SDK that allows developers to ship native iOS and Android apps by wrapping existing web applications. It provides native functionality including biometric login, push notifications, in-app purchases, subscriptions, QR scanning, geofencing, and integration with OAuth providers like Google, Apple, and MitID.
What's inside starti.app
- The starti.app SDK allows developers to ship native iOS and Android applications by wrapping an existing web application in a native container. The SDK provides a JavaScript interface to access native device features including push notifications, biometrics, hardware (camera, NFC, GPS, accelerometer), in-app purchases, and native share sheets. It also allows control over the app UI (status bar, spinners, navigation) and the ability to override default swipe gestures.
Overview of App users management
The App users feature in starti.app Manager allows developers to track users who have registered themselves within the app. Each user is associated with a unique user ID and a list of devices they use to access the app. This feature is optional; if it is not visible under the Tools menu in the Manager, it must be enabled by contacting the starti.app team.Overview of External Purchase for iOS
Thestartiapp.ExternalPurchaseCustomLinkmodule allows iOS apps to implement external purchase flows. This module relies on Apple StoreKit APIs and is only available on iOS devices that support the External Purchase entitlement.Overview of starti.app Academy
starti.app Academy is a structured learning resource designed for users of the starti.app Manager. It provides step-by-step guides to help users manage and communicate with their app users without requiring a technical background. Key learning areas include app setup (test devices, push categories, users), push notification management, performance tracking via dashboards and Flowlink, and technical configurations like API keys and website integration.Overview of push notification approaches in starti.app
starti.app provides four different methods for implementing push notifications depending on the level of control and backend infrastructure available:
- Manager: No-code approach. Broadcasts to all users or topic groups via the starti.app Manager.
- Webhooks: Per-user notifications triggered by external platforms (e.g., eCommerce) via webhook URLs, managed by the starti.app Manager.
- Per-user API: Target individual users from a custom backend using the starti.app REST API.
- Advanced: Full manual control over FCM tokens and direct communication with Firebase Cloud Messaging.
Overview of the starti.app test version
The test version is a separate installation from the production app available in the App Store and Google Play. It is used by developers to verify that app updates work correctly before they are published to regular users. Note that testing push notifications or Introflow requires a separate process via 'Test devices'.Overview of the Smart App Banner
A Smart Banner is a mobile-only strip displayed at the top of a website. It features the app icon, app name, and a call-to-action button (e.g., "Open"). It directs users to the app if installed, or to the App Store/Google Play Store if it is not, serving as a tool to increase app downloads from web traffic.Handle App Store Server Notifications V2
App Store Server Notifications V2 allow your backend to react in real-time to subscription events (renewals, cancellations, refunds) without waiting for the app to check status. Each notification contains anotificationTypeand an optionalsubtypethat dictate the required business action.Handle Google Play Real-Time Developer Notifications (RTDN)
Google Play uses Cloud Pub/Sub as an intermediary to notify your server about subscription events (subscriptions, renewals, cancellations, and refunds). Unlike Apple, which sends direct HTTP POST requests, Google publishes notifications to a Pub/Sub topic. This allows your backend to react immediately to billing changes rather than waiting for the app to check the status.Debug Android WebViews using Chrome Developer Tools
To debug an Android app's WebView, you must first enable USB debugging on the device and then connect it to a PC running Chrome.
Step 1: Enable USB Debugging on Android
- Unlock Developer Options: Go to Settings > About (or similar) and tap the Build number seven times.
- Enable Debugging: Go to Settings > Developer Options and enable USB debugging.
Step 2: Connect to Chrome DevTools
- Open Chrome on your PC and navigate to
chrome://inspect. - Connect your Android device to the PC via USB and open the test version of your app. If prompted on the phone, select always allow.
- Under Remote Target in Chrome, locate the WebView entry and click Inspect to open the Developer Tools.
Monitor app performance using the starti.app Manager Dashboard
The Dashboard in the starti.app Manager provides a high-level overview of app performance. It automatically updates upon login and tracks three primary metrics: Active Users, Downloads, and Push Effect. Access the dashboard at https://manager.starti.app.Understand the difference between store products and content items
When implementing monetization, it is critical to distinguish between a 'content item' and a 'store product'.
- Content Item: The actual asset the user perceives they are buying (e.g., a specific theme, a game level, or a book chapter).
- Store Product: The technical entity configured in App Store Connect or Google Play Console, which the SDK purchases via a unique ID.
These are not always a 1:1 mapping. For example, using a 'content token' model allows a single store product to grant access to multiple different content items.