Demo apps
HoneyNotify provides ready-to-build iOS and Android WebView apps for trying the complete native push lifecycle without starting a mobile project from an empty template.
The projects are source-code starters rather than signed App Store or Play Store downloads. You configure them with your own app name, HTTPS website URL, HoneyNotify public client key, bundle or application identifier, and provider setup before building them in Xcode or Android Studio.
What is included#
Both apps provide:
- a full-screen WebView for your website;
- HoneyNotify device registration using a restricted
ps_public_client key; - APNs or FCM token refresh handling;
- received and opened notification event tracking;
- notification
click_urlhandling; - in-app navigation for links on your configured website;
- system-browser handling for external links; and
- loading, retry, and WebView history behaviour.
The iOS app uses SwiftUI and WKWebView. The Android app uses Kotlin, Android WebView, and Firebase Cloud Messaging.
Try one safely#
- Create a test app in the HoneyNotify dashboard.
- Configure its APNs or FCM provider credentials.
- Create a restricted public mobile key beginning
ps_public_. - Clone or download the demo-apps repository.
- Enter the app name, website URL, HoneyNotify API URL, public key, and platform identifier in the supplied configuration file.
- Follow the repository README to add Apple signing or Firebase's
google-services.jsonand run the project. - Register one controlled test device and send only to that device while validating the integration.
The demo repository contains a detailed setup and troubleshooting guide for both platforms.
iOS#
Open iOS/HoneyNotifyWebViewDemo.xcodeproj with the current stable Xcode and edit iOS/Config.xcconfig. Select your Apple Developer team, use a bundle identifier you control, and confirm the Push Notifications capability before running on a physical device.
The project fetches the HoneyNotify iOS SDK from its main branch through Swift Package Manager. Xcode keeps a managed checkout; use File > Packages > Update to Latest Package Versions when you want to force an immediate refresh.
The demo does not include Apple's restricted Critical Alerts entitlement and keeps critical permission disabled. Only enable AppConfig.requestsCriticalAlerts after Apple approves that entitlement for your own App ID.
Android#
Open the Android directory with the current stable Android Studio and edit Android/demo.properties. Register the same application ID in Firebase, then place the matching google-services.json in Android/app/.
The project fetches the HoneyNotify Android SDK from its main branch as a Gradle Git source dependency. Use Sync Project with Gradle Files to force dependency resolution.
The app creates HoneyNotify's passive, active, time-sensitive, and critical notification channels during foreground startup. Android users retain control over each channel's sound and importance; Critical does not request full-screen intent or guarantee Do Not Disturb bypass.
Client and server boundary#
The demo apps register devices and report notification events. They deliberately do not send notifications.
Keep APNs private keys, Firebase service-account JSON, and HoneyNotify notification-send keys on trusted servers. A mobile build must contain only the restricted public client key. Send a test notification from the HoneyNotify dashboard or from your backend using a scoped server key and an Idempotency-Key.
Before publishing your own app#
Replace the sample identity, icons, and launch presentation; review privacy and accessibility requirements; test offline and authenticated website behaviour; and pin the SDK dependency to a release you have tested. Also validate permission denial, token rotation, foreground and background delivery, notification links, account switching, and logout on the operating-system versions you support.
