Thunkable Docs
Build an AppDrag and Drop DocsSnap to Place DocsAcademy
Drag and Drop
Drag and Drop
  • What is Thunkable?
  • 🗺️Getting Started
    • Gen AI
      • Prompt Engineering
      • AI tools
      • AI Chatbot Helper
      • AI Template Generator
    • Getting Started Guide
    • Keyboard Shortcuts
    • Undo Redo
    • Thunkable Account
      • Account Management
    • Preview and Test your App
    • Versioning
    • Data Sources
      • Google Sheets Data Source
      • Airtable Data Source
      • Webflow Data Source
      • Local Table Data Source
    • Project Collaboration
      • Organizations
    • 🎓Sample Apps & Tutorials
      • Thunkable Community Forums
      • Sample Apps
      • Video Tutorials
        • Thunkable Live App
          • How to Test and Troubleshoot with Thunkable Live App
        • Data Source Tutorials
          • Connecting to Data Sources
            • Google Sheets
            • Local Table
          • Create Data in a Thunkable Data Source
          • Read Data in a Thunkable Data Source
          • Update Data in a Thunkable Data Source
          • Delete Data in a Thunkable Data Source
        • User Auth & Management
          • Firebase
            • User Sign-Up, Sign-In, and Auth
            • User Sign Out and Password Reset
          • Google
            • User Sign-Up, Sign-In, Sign-Out, and Auth
          • Apple
            • User Sign-Up, Sign-In, Sign-Out, and Auth
        • Projects
          • How to Save Versions of Your Thunkable Project
          • How to Copy and Customize Public or Sample Thunkable Projects
        • User Interface & Design
          • Screens
            • Save and Reuse Thunkable Screens
            • Change Thunkable Screens with a Button Click
            • Create Scrollable Screens in Your Thunkable App
          • Navigators
            • How to Use the Thunkable Stack Navigator
            • How to Use Thunkable Top and Bottom Tab Navigators
            • How to Use the Thunkable Drawer Navigator
            • Combine Figma Frames with Thunkable Navigators
          • Components
            • How to Use the Visibility Property to Create Modals in Thunkable
          • Data Visualization
            • Customize a Data Viewer
          • Text
            • Implement Text Input Validation
        • Alerts & Notifications
          • Display Alert Messages in Your Thunkable App
          • How to Create Three-Button Alert Messages
        • Files
          • Cloudinary
            • Store and Access Cloudinary Files in Your Thunkable App
        • Camera
          • How to Use the Device’s Camera
          • How to Use the Device’s Video Camera
          • Use the Device’s Camera as a QR or Barcode Scanner
        • Realtime Databases
          • Firebase
            • How to Read Data in a Firebase Realtime Database
            • How to Update Data in a Firebase Realtime Database
        • Advanced Blocks
          • Connect Your Thunkable App to a Web API
        • Thunkable Academy
          • Building Your First Thunkable App
            • Getting Started with Thunkable
            • How to Design a Thunkable App
            • How to Connect a Thunkable App to a Data Source
            • How to Make A Thunkable App Interactive with Blocks
          • Thunkable No Code App Creation Basics
            • Thunkable UI Components and App Features
            • Understanding Thunkable's Drag and Drop Block Builder
            • Design, Develop, Debug, and Deploy Your App
        • Hour of Code
          • 2021 - Build an Informational App
          • 2022 - Build a Scavenger Hunt App
          • 2023 - Build a Translator and Text-to-Speech App
        • App Building
          • How to Build a Translation App in Thunkable
          • How to Create an Image Recognition App with Thunkable
          • How to Create a Text-to-Speech App in Thunkable
  • 🎨App Design
    • User Interface (UI) Components
      • Basic Components
        • Button Component
        • Label Component
        • Rich Text Component
        • Image Component
        • Text Input Component
        • Layout Component
        • Group Component
      • Data Components
        • Simple List Component
        • Data Viewer Components
          • Data Viewer List Component
          • Data Viewer Grid Component
          • Custom Data Viewer
      • Input Components
        • Switch Component
        • Slider Component
        • Checkbox Component
        • Date Input Component
        • Time Input Component
      • Media Components
        • Animation Component
        • Video Component
        • Loading Icon Component
      • Embed Components
        • Web Viewer Component
        • Map Component
        • Canvas Component
        • PDF Reader Component
        • Rating Component
      • Modules
        • Introduction
        • User Guide
      • Generative AI
    • Screens
      • Save and Reuse Screens
      • Improve Thunkable Load Time
    • Navigators
      • Top Tab Navigator
      • Bottom Tab Navigator
      • Drawer Navigator
      • Stack Navigator
    • Figma Integration
  • 🛠️Blocks
    • Thunkable Blocks Overview
    • Core Blocks
      • Control Blocks
      • Logic Blocks
      • Math Blocks
      • Text Blocks
      • Lists Blocks
      • Color Blocks
      • Device Blocks
      • Objects Blocks
      • Variables Overview
        • Connect a Firebase Realtime Database
        • Variables Blocks
      • Functions Blocks
    • App Features Blocks
      • Speech Blocks
      • Sound Blocks
      • Share Blocks
      • Camera Blocks
      • Files Blocks
      • Sign In Blocks
        • User Sign Up, Sign In, and Authentication with Firebase
        • User Sign Up, Sign In, and Authentication with Google
        • User Sign Up, Sign In, and Authentication with Apple
      • Location Blocks
      • Push Notification Blocks
      • In-App Purchase Blocks (with RevenueCat)
      • Data Sources Blocks
      • Alerts Blocks
      • Timer Blocks
      • Sensors Blocks
        • Gyroscope
        • Magnetometer
        • Accelerometer
        • Location Sensor
      • Ads by AdMob
    • Advanced Blocks
      • Web APIs Blocks
        • CORS Policy
        • 🆓No Auth APIs
          • Update Data in a Data Source
          • CRUD Operations
          • Setting Headers
        • 📊Charting APIs
          • Create a chart template
          • Charting in Thunkable
      • Bluetooth Low Energy Blocks
      • OpenAI Services ChatGPT Integration Blocks
      • "Any Component" Blocks
      • JavaScript Web Bridge
  • ⚙️Settings
    • App Settings
      • Tablet View
    • Assets
    • Cloud Variable Viewer
    • Manage your Projects
      • My Projects Page
      • Thunkable Projects
      • Duplicate Project
      • Share Your App
      • Download Your App
        • Download Your App on iOS
        • Download Your App on Android
      • Add to Home Screen
      • Managing Project Storage
      • App Data Privacy
      • Delete Project
  • 📱Publishing
    • Overview
    • Publish to the Apple App Store
      • User Guide
      • Troubleshooting
      • Review Process
      • Tracking Usage Description
    • Publish to Google Play Store
      • User Guide
      • Troubleshooting
      • Review Process
    • Publish as a Web App
      • User Guide
      • Custom Domains
      • Troubleshooting
    • Testing
      • Testing on iOS via TestFlight
      • Testing on Android
    • Troubleshooting
      • Publishing Checklist
      • Generate Screenshots
  • 🎮Gaming
    • Gaming Overview
      • Canvas Label
      • Sprites
      • Sprite Gallery
    • Gaming Blocks
      • Events
      • Motion
      • Looks
      • Direction
      • Sensing
      • Add & Remove
      • Stage
  • 🗃️Additional Resources
    • Release Notes
      • Release Notes 2025
      • Release Notes 2024
      • Release Notes 2023
    • Troubleshooting
      • Can't Sign in to Thunkable?
      • FAQs
    • Minimum Requirements
    • Bugs and Product Feedback
    • App Services and Emulators
Powered by GitBook
On this page
  • Overview
  • Thunkable + OneSignal
  • Push Notification Best Practices
  • Add Push Notifications to your app
  • Create a OneSignal Account
  • Create a OneSignal App
  • Android Configuration
  • Android Testing
  • iOS Configuration
  • Generate a p8 Certificate
  • Add Push Notifications to the App Identifier
  • Download your Provisioning Profile
  • OneSignal
  • Generate a Provisioning Profile
  • iOS Testing
  • Send Push Notifications
  • Blocks
  • User ID

Was this helpful?

Export as PDF
  1. Blocks
  2. App Features Blocks

Push Notification Blocks

PreviousLocation BlocksNextIn-App Purchase Blocks (with RevenueCat)

Last updated 7 months ago

Was this helpful?

Overview

Push notifications are one of the biggest advantages of mobile apps over mobile websites since they can send messages to users without the app being open.

When a user first opens an app with push notifications enabled they receive an alert prompting them to enable push notifications. Once they accept they are a subscriber of your app's push notifications.

Thunkable + OneSignal

Thunkable utilizes the services of to facilitate push notifications from your app. OneSignal is a free service that supports unlimited devices and notifications. You can learn more about their features here: .

To send push notifications to your app's users, you must link your Thunkable app to your OneSignal apps (iOS and/or Android). Once you've added your OneSignal App IDs into Thunkable, the work in Thunkable is done, and the remainder of the management takes place in third-party platforms (OneSignal, Apple Developer, and Firebase, depending on the platform).

Push Notifications are available on Thunkable Builder and Advanced plans. While all Creators can add Push Notifications to their projects and live test them in their Android apps, only Creators on the previously mentioned plans can download and publish apps with Push Notifications. See our for more details.

Push Notification Best Practices

Notifications that are irrelevant and too frequent are often dismissed or blocked. We highly recommend sending notifications only when the content is relevant to the user. Examples include an e-commerce app letting the user know about a sale, or a game app letting the user know about a new level or feature.

Add Push Notifications to your app

To add Push Notifications to your app :

  1. Navigate to your project's Blocks tab.

  2. Locate Push Notification under the App Features heading.

  3. Click the gear icon next to Push Notification.

  4. The Push Notification settings modal opens. This is where you will enter your OneSignal Android App ID and OneSignal iOS App ID to configure the connection between OneSignal and your Thunkable project.

    Geolocation Permissions - OneSignal allows you to push messages to users based on their location. In order to do that, you need permission from your users to register their location. Use the toggle in the Push Notification settings to indicate whether you want to request users share their location with OneSignal.

  5. The remainder of this document will assist you with:

Create a OneSignal Account

  1. Click Sign Up.

  2. Create your account and complete the OneSignal onboarding.

Create a OneSignal App

  1. If you didn't create an app as part of the OneSignal onboarding, navigate to your OneSignal dashboard and click + New App/Website.

    If you intend to send push notifications to your app's users on Android and iOS you will need to create a new app in OneSignal for each, Android and iOS.

  2. Enter your app name. We recommend including the platform in your app name, for example, Employee Directory - Android or Employee Directory - iOS.

  3. Select Apple iOS (APNs) or Google Android (FCM).

  4. Click Next: Configure Your Platform.

  5. Follow the platform-specific configuration instructions below.

Android Configuration

  1. To continue sending messages in 2024, you need to provide updated authentication credentials from Firebase for all apps created in OneSignal before September 1, 2023:

    1. In your Firebase project, go to Project settings and the Service accounts tab to download your private key JSON.

    2. In your OneSignal App Settings, upload the private key file you just downloaded

  2. Select Native Android as your target SDK.

  3. Click Save & Continue

  1. Copy Your App ID.

  1. Return to the Blocks tab of your Thunkable project. Do not close the OneSignal tab.

  2. Click the gear icon next to Push Notification.

  3. In the Android App ID field, paste Your App ID that you copied from OneSignal in step 3.

  4. Indicate whether you want to collect Geolocation Permissions. OneSignal allows you to push messages to users based on their location. In order to do that, you need permission from your users to register their location. Use the toggle in the Push Notification settings to indicate whether you want to request users share their location with OneSignal.

    If you enable Geolocation Permissions, when you publish your app, ensure that you indicate that you're tracking location when you publish your app.

  5. Click Submit.

  6. Click the Live Test on Device icon and open the Thunkable Live app on your device.

  7. Return to your OneSignal tab.

  8. Click Check Subscribed Users.

  9. If the configuration is successful, you will see a congratulations message.

  10. Click Done.

Android Testing

To test Android push notifications, download the app to your Android device and send a test message through OneSignal to see the push notification in action.

iOS Configuration

Generate a p8 Certificate

  1. When you get to the section titled "Provisioning Profiles," return to these instructions.

Add Push Notifications to the App Identifier

  1. In your Apple Developer account, select Identifiers under the Certificates, IDs & Profiles heading.

  2. Select your app from the list of Identifiers.

  3. Scroll down the list of app capabilities, and place a checkmark next to Push Notifications.

  4. Click Save.

  5. Select your app from the list of Identifiers again.

  6. Scroll down the list of app capabilities, until you get to Push Notifications again.

  7. Click the associated Configure button.

  8. Under Production SSL Certificate, click Create Certificate.

  9. Under Upload a Certificate Signing Request, click Choose File.

  10. Select the Certificate Signing Request (CSR) you downloaded from Thunkable as part of the publishing process.

  11. Click Continue.

  12. Click Download to download your iOS certificate.

Download your Provisioning Profile

  1. Select your app from the list of Profiles.

  2. Click Edit.

  3. Click Save.

  4. Click Download.

OneSignal

  1. In OneSignal, select Native iOS as your target SDK.

  2. Click Save & Continue.

  3. Copy Your App ID.

  4. Return to the Blocks tab of your Thunkable project. Do not close the OneSignal tab.

  5. Click the gear icon next to Push Notification.

  6. In the iOS App ID field, paste Your App ID that you copied from OneSignal in step 4.

  7. Indicate whether you want to collect Geolocation Permissions. OneSignal allows you to push messages to users based on their location. In order to do that, you need permission from your users to register their location. Use the toggle in the Push Notification settings to indicate whether you want to request users share their location with OneSignal.

    If you enable Geolocation Permissions, when you publish your app, ensure that you indicate that you're tracking location when you publish your app.

  8. Click Submit.

Generate a Provisioning Profile

iOS Testing

To test iOS push notifications, you have to publish to TestFlight. This requires the provisioning profile with push notifications enabled.

Send Push Notifications

Blocks

User ID

The first time your app is opened on a new device, it is automatically assigned a unique push notification user ID. This block returns the user's push notification user ID that can be used to send a notification to a specific user with a web API call.

This block works only on mobile devices. You will need to add the App ID on Push Notification settings.

This block doesn't return the ID immediately. It is not recommended to use it immediately after the first screen starts.

Go to .

A Google Service Account is a special type of account from Google that applications use to make authorized calls to a variety of APIs, including Firebase Cloud Messaging APIs. For more details, see Google's own . In order to send push notifications to Android devices, you will need a Service Account to generate a private key for OneSignal to utilize.

If you don't already have one, create a account. Instructions for getting started with Firebase are available here: .

Follow OneSignal's instructions to generate Firebase Cloud Messaging API Credentials for sending Android App Notifications here: .

More information on these steps is available here: .

Follow OneSignal's instructions to generate a p8 certificate: .

Access your Apple Developer account’s .

You require a new provisioning profile with push notifications enabled to publish to the App Store. See OneSignal's instructions here: .

Once you have your platforms configured in OneSignal you can create and sent push notifications to your app's users. Follow OneSignal's instructions here: .

🛠️
OneSignal
Android Configuration
iOS Configuration
documentation on Service Accounts
Firebase
Firebase Account Setup
Android: Firebase Credentials
Android: Firebase Credentials
iOS: p8 Token-Based Connection to APNs
Profiles
Generate a Provisioning Profile
Sending Messages
OneSignal
OneSignal pricing page
pricing page
Creating a OneSignal Account
Creating a OneSignal App
Configuring for Android
Configuring for iOS