Base44 · APNs + FCM · Backend functions
Native push notifications for your Base44 app
Base44 builds web apps, and iOS web push is unreliable. AppNative wraps your Base44 app in a signed native binary that registers real APNs and FCM tokens — then a single fetch inside a Base44 backend function sends a lock-screen notification with an image, action buttons, a custom sound and a deep link into any page of your app.
Can a Base44 app send native push notifications?
Yes. AppNative wraps your Base44 app into signed iOS and Android binaries that register APNs and FCM device tokens, then exposes a send endpoint you call from any Base44 backend function, scheduled workflow or entity trigger. Notifications support images, up to four action buttons, custom sounds, badge counts and deep links to a specific route — with no Swift or Kotlin code.
- iOS transport
- APNs with token-based .p8 authentication
- Android transport
- Firebase Cloud Messaging (FCM v1)
- How you send
- One POST from a Base44 backend function or workflow
- Targeting
- Everyone, one device, or your Base44 user id via external_id
- Rich media
- Images, action buttons, custom sounds, badges
- Base44 code changes
- None required — one identify() call enables per-user sends
How to turn a Base44 app into a native mobile app, step by step
Six steps, one codebase, no native development. Each step happens inside AppNative except the first.
- 1
Connect your Base44 app to AppNative
Point AppNative at your Base44 app's GitHub repo (or its live URL) and set the app identity, icon and splash. It detects your routes and theme automatically.
- 2
Enable Push Notifications
Flip the push capability on. AppNative adds the iOS entitlement, notification service extension, Android channels and the token-registration bridge to the native project.
- 3
Upload your APNs key and Firebase JSON
Paste your Apple .p8 key with its key ID and team ID, plus your Firebase service-account JSON for Android. Both are stored encrypted.
- 4
Identify the signed-in Base44 user
Call window.AppNative.identify(user.id) after login so device tokens map to your Base44 User records. Now a function can push to exactly one customer.
- 5
Send from a Base44 backend function
Add a fetch to the AppNative send endpoint with your app API key inside any function, entity trigger or scheduled workflow. AppNative can generate that function's code for you.
Native capabilities your Base44 app gains
These are real native implementations compiled into the binary — not browser fallbacks — and they're what moves an app past Apple's "minimum functionality" bar.
- Real APNs + FCM tokens registered by the native app, not browser web push
- Send from Base44 backend functions, workflows, entity triggers or cron jobs
- Rich push: images, up to four action buttons, custom bundled sounds, badge counts
- Deep links from the notification (or a button) into any Base44 page
- Per-user targeting keyed to your Base44 user id
- Push rules that fire automatically when your entity data changes
- Android notification channels, big-picture and expanded layouts
- Live Activities, widgets and Wallet passes from the same build
Base44 to mobile: the alternatives, compared
Base44 web push vs native push
A browser can only receive web push, and on iOS only when the user manually installs the PWA — with no images, no action buttons and no Live Activity. A native binary registers an APNs token the moment the user allows notifications, so delivery is reliable and the payload can be rich.
AppNative vs generic wrappers for Base44 push
Median.co and Despia forward a web view with basic notification support. AppNative compiles the notification service extension for images, registers categories for buttons, bundles your sound files, and adds Live Activities and widgets — plus push rules driven by your Base44 entities.
Keep your Base44 backend as the source of truth
You don't move data anywhere. Devices are registered against your app, sends originate in your own functions, and notification history and delivery status are visible in AppNative alongside your app.
Base44 to mobile app: every question, answered
The exact questions people ask before shipping a Base44 project to the App Store and Google Play.
How do I send a push notification from a Base44 backend function?
POST to the AppNative send endpoint with your app's API key and a payload of title, body, image URL, deep-link path and target. Any function, workflow or entity trigger can call it.
Can I notify one specific Base44 user?
Yes. Identify the user in the app with window.AppNative.identify(user.id), then send to that external ID — every device that user installed on receives it.
Can a notification open a specific page of my app?
Yes. Include the path (for example /orders/123) and the app opens straight there, including from a cold start.
Do I need Firebase for iOS?
No. iOS goes direct to APNs with your .p8 key. Firebase is only used for Android delivery.
Can pushes be triggered automatically by data changes?
Yes. Push rules watch conditions on your data and send when they match, so a new order, message or status change notifies the right person without extra code.
Web app to mobile app: key terms defined
- Native app wrapper
- A native app wrapper is a compiled iOS or Android application that renders your existing web app inside a native web view (WKWebView on iOS, WebView on Android) while exposing real device capabilities — push notifications, biometrics, camera, in-app purchases — to that web code through a JavaScript bridge.
- Hybrid app
- A hybrid app ships web technologies (HTML, CSS, JavaScript) inside a native binary that can be distributed through the App Store and Google Play. It differs from a progressive web app, which is installed from the browser and cannot be listed in either store.
- App Store guideline 4.2 (minimum functionality)
- Apple's rule that an app must do more than repackage a website. Apps that add native capability — push notifications, biometric login, camera use, offline support, widgets, in-app purchases — satisfy it; a bare website in a shell does not.
- Bundle ID / package name
- The permanent reverse-domain identifier for your app (for example com.yourcompany.yourapp). It's registered once with Apple and Google and can never be changed for a published app, so it must be decided before your first submission.
- Code signing and provisioning profile
- Apple requires every binary to be signed with a distribution certificate and matched to a provisioning profile tied to your bundle ID and team. Android requires an upload keystore. Without them a build cannot be installed or submitted.
- TestFlight
- Apple's beta distribution service. Uploading a signed build to TestFlight lets up to 100 internal testers install the app immediately, before public App Store review — the fastest way to see your wrapped app on a real device.
- Over-the-air update
- Because a wrapper renders your live web app, deploying your web app updates the mobile experience instantly with no store review. A new native build is only required when something inside the binary changes: icon, splash screen, bundle ID or a native capability.
- StoreKit and Google Play Billing
- The in-app purchase systems Apple and Google require for selling digital goods inside an app. Stripe stays valid on the web, so most apps run both and grant the same entitlement from either payment source.
Base44 to mobile app: frequently asked questions
Does Base44 support native push notifications?
Base44 apps run on the web, so native APNs/FCM push requires a native binary. AppNative builds that binary from your Base44 app and handles token registration and sending.
Is there a REST API and docs?
Yes — AppNative ships a documented push API with device registration, targeted sends, badge clearing and a playground you can test from.
Can I run my own push infrastructure?
Yes. Enable self-hosted push and the app hands the device token to your web app so your Base44 entities store devices and your own code sends via APNs and FCM.
Will push still work after I redeploy my Base44 app?
Yes. Web deploys don't touch the native shell; you only rebuild when changing sounds, categories or capabilities.
Do notifications help with App Store review?
Yes. Native push is strong evidence of device functionality under guideline 4.2, especially alongside widgets or Live Activities.
Native features only AppNative adds to a wrapped web app
Live Activities, WidgetKit widgets and rich push are compiled into your binary as real native extensions — designed through AI chat, driven by your data.
Ship from your AI app builder
Push is one of several native surfaces AppNative adds to a Base44 app. Explore the rest, or start with the full Base44 → native app guide.
Deep dives by builder and feature
Step-by-step guides for the specific thing you're trying to ship — push, in-app purchases, widgets, store submission — for Lovable and Base44 apps, plus how AppNative compares to Median.co and Despia.
Ship your Base44 app to the App Store and Google Play
Connect your repo, toggle the native features you need, press Build. Your first TestFlight build can be in testers' hands today — and your Base44 workflow doesn't change at all.