Connect OneSignal to your Goodspeed app
Push notification delivery via OneSignal SDK: token registration, Android channels, and server-side send from Edge Functions. Goodspeed wires OneSignal into every app that needs it at generation time, so you start with a working integration, not a blank config and a documentation tab.
WHAT GETS WIRED IN
Built into every OneSignal build
Every app Goodspeed generates with OneSignal includes these wired integrations from the first build. No manual setup required.
| Item | Description | Strength |
|---|---|---|
| OneSignal.initialize() called on app boot with gasConfig.backend.onesignal.appId, guarded by push feature flag | OneSignal.initialize() called on app boot with gasConfig.backend.onesignal.appId, guarded by push feature flag | 01 |
| requestPermission() triggered after the user completes onboarding to maximize opt-in conversion | requestPermission() triggered after the user completes onboarding to maximize opt-in conversion | 02 |
| Device token stored in the Supabase push_tokens table alongside the platform for segmented sends | Device token stored in the Supabase push_tokens table alongside the platform for segmented sends | 03 |
| supabase/functions/send-push/ Edge Function accepts a user ID and message payload, looks up the token, and delivers via OneSignal REST API | supabase/functions/send-push/ Edge Function accepts a user ID and message payload, looks up the token, and delivers via OneSignal REST API | 04 |
| Android notification channels created from gasConfig.features.pushNotifications.channels on app init | Android notification channels created from gasConfig.features.pushNotifications.channels on app init | 05 |
Source: gas-template repository · push-notifications
REAL GENERATED CODE
A snippet from a OneSignal integration the pipeline ships
This pattern comes directly from the gas-template codebase. The studio generates OneSignal integration code like this for every app that includes it, not a placeholder you have to fill in yourself.
OneSignal init
// lib/onesignal.ts export function initOneSignal(): void { if (isWeb) return; if (!gasConfig.features.pushNotifications.enabled) return; const appId = gasConfig.backend.onesignal?.appId; if (!appId) return; OneSignal.initialize(appId); OneSignal.Notifications.addEventListener( 'click', (event) => handleNotificationOpen(event), ); }
Today's log
APPS THAT USE ONESIGNAL
Where this integration ships
These app types include OneSignal as part of the generated stack. Each link goes to a full spec page with capabilities, scored ideas, and a pipeline walkthrough.
- Build a Fitness Tracker appBuilding a fitness tracker means wiring together daily logging, progress charts, Apple Health, and push reminders. Goodspeed generates all of that in a single build, not a patchwork of tutorials. The FITNESS TRACKER APP
- Build a Habit Tracker appHabit trackers live or die on the loop: cue, routine, reward. Goodspeed generates a complete React Native habit tracker with streaks, reminders, and progress visualization, backed by Supabase so your HABIT TRACKER APP
- Build a Social App appBuilding a social app from scratch means solving hard infrastructure problems: real-time feeds, fan-out writes, notification delivery, and content moderation hooks. Goodspeed generates a complete sociSOCIAL APP
START WITH ONESIGNAL