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: the Goodspeed app foundation · push-notifications
REAL GENERATED CODE
A snippet from a OneSignal integration the pipeline ships
This pattern is lifted from the engineered plumbing that ships inside every Goodspeed app. 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