# Push Notifications -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst provides a ready-to-implement push notifications service in your iOS, Android, and web apps, and also enables you to test notifications before they are sent." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/" service: "Cloud Scale" related: - Web Client Hosting (/en/cloud-scale/help/web-client-hosting/introduction) - Mobile Device Management (/en/cloud-scale/help/mobile-device-management/introduction) -------------------------------------------------------------------------------- # Push Notifications ### Introduction Push Notifications is a component of Catalyst Cloud Scale service that enables you to integrate remote notifications into your applications. These notifications can be sent to users even when the app is not actively running on their devices. Whether triggered at scheduled times or sent on demand, push notifications help you reach targeted users with timely updates. They can carry promotional messages, alerts about offers, event updates, or include actionable elements that drive user engagement. As an essential communication tool, push notifications strengthen your connection with users and help improve retention. This delivery system powered by Catalyst ensures reliable, scalable, and real-time notification delivery across the applications you build on the following platforms: * {{%bold%}}Web:{{%/bold%}} Catalyst provides an SDK code that you can easily incorporate into your Catalyst web application's codebase to enable push notifications in it. * {{%bold%}}iOS:{{%/bold%}} You can easily configure your iOS app's APNs certificate that you generate from Apple with Catalyst, allowing Catalyst to forward the push messages that you require to client devices through APNs. * {{%bold%}}Android:{{%/bold%}} Catalyst uses Firebase Cloud Messaging (FCM) to forward push notifications of Catalyst apps to client Android devices. You can generate the required configurations from Firebase, and then configure them in Catalyst. You can also test sending push notifications to select devices from the Catalyst console or through code, for web, iOS, and Android applications, to verify if they are enabled and work as intended. #### SDK and API Documentation Catalyst supports enabling Push Notifications in your web and mobile applications through the client-side SDKs of iOS, Android, Flutter, and Web platforms. You can then incorporate the Send Push Notifications logic in your codebase in the server-side SDKs of Java, Node.js, and Python environments, as well as through API. Refer to the help links given below for the relevant help documentation. * {{%bold%}}Register Device for Push Notifications-{{%/bold%}} {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/"%}}iOS SDK{{%/link%}}, {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/register-device/"%}}Android SDK{{%/link%}}, {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/"%}}Flutter SDK{{%/link%}} * {{%bold%}}De-register Device for Push Notifications-{{%/bold%}} {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/deregister-device/"%}}iOS SDK{{%/link%}}, {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/deregister-device/"%}}Android SDK{{%/link%}}, {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/deregister-device/"%}}Flutter SDK{{%/link%}} * {{%bold%}}Enable Push Notifications-{{%/bold%}} {{%link href="/en/sdk/web/v4/cloud-scale/push-notifications/register-client/"%}}Web SDK{{%/link%}} * {{%bold%}}Send Push Notifications-{{%/bold%}} {{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/"%}}Java SDK{{%/link%}}, {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications/"%}}Node.js SDK{{%/link%}}, {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications/"%}}Python SDK{{%/link%}}, {{%link href="/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications"%}}Web API{{%/link%}}, {{%link href="/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications" id="SendiOSPushNotifications"%}}iOS API{{%/link%}}, {{%link href="/en/api/code-reference/cloud-scale/push-notifications/android/send-android-push-notifications/#SendAndroidPushNotifications"%}}Android API{{%/link%}} -------------------------------------------------------------------------------- title: "Architecture" description: "Catalyst provides a ready-to-implement push notifications service in your iOS, Android, and web apps, and also enables you to test notifications before they are sent." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/architecture/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Architecture A push message's path, beginning from being sent from an application's provider to getting delivered to the intended audience, can be described in a few general steps for both web and mobile applications. This section helps you understand these steps, as well as the role that Catalyst plays in helping you incorporate push notifications in your application with ease. The generic key elements involved in passing a push message to the target devices as a notification in a web, iOS, or Android app include the following. #### Service Provider Your iOS, Android, or web application that initiates a push message to be delivered to target users is the service provider. Along with the push message, the request must contain the information that is necessary for a push service to route the message to the right client and to wake up the right service worker. #### Server The server makes the API call to the push service to request the delivery of a push message. In this case, Catalyst provides the servers that are required to handle all backend activities. API calls to a push service can only be made after Catalyst is configured with it. #### Push Service For web applications, each browser like Chrome and Firefox implements its own push service. The Safari browser and iOS applications implement {{%link href="/en/cloud-scale/help/push-notifications/ios/#key-concepts" %}}APNs{{%/link%}}. Android applications use {{%link href="https://firebase.google.com/docs/cloud-messaging" %}}Firebase Cloud Messaging{{%/link%}} for this purpose. The push service is responsible for validating a push message, waking up the right service worker, and routing your message to the targeted devices as notifications. In the case of a web application, the push service also queues your push message until a target device is available to receive it. #### Service Worker A service worker is a JavaScript file that is idle and listens for a push event to occur. When the push message is routed to a particular device by the push service, the service worker assigned to that device briefly awakens and displays the message as a notification. It follows the constraints as defined in the notification API and displays the notification to the user accordingly. The service worker handles the user's interaction with the push notification. After the interaction is done, the service worker becomes idle again. Catalyst handles the implementation of the service workers for various web browsers, iOS, and Android. <br> This entire process takes only a brief amount of time and the push messages that you initiate are delivered to the user devices within seconds, provided all conditions are met. You can refer to the {{%link href="/en/cloud-scale/help/push-notifications/ios/" %}}iOS{{%/link%}}, {{%link href="/en/cloud-scale/help/push-notifications/android/" %}}Android{{%/link%}}, and {{%link href="/en/cloud-scale/help/push-notifications/web/" %}}Web{{%/link%}} help sections for further details on the specific platforms. -------------------------------------------------------------------------------- title: "Benefits" description: "Catalyst provides a ready-to-implement push notifications service in your iOS, Android, and web apps, and also enables you to test notifications before they are sent." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/benefits/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Benefits #### Simple One-Time Configurations to Avail Push Notifications Push notifications in your Catalyst web or mobile applications can help engage users with customized content periodically, or when the user hasn't visited the application in a while. You can integrate action elements into the notifications so the user can interact with your application directly in the notification panel even when your app is idle on their device. All these can be accomplished with a few simple one-time configurations from your end, based on your app's platform. Catalyst removes your efforts in provisioning servers or infrastructure to handle push notifications by taking care of all the backend setup for all of its supported platforms and establishing communication with the respective push service. #### High Throughput in Delivery Catalyst plays a pivotal role in ensuring a high delivery rate of push notifications, and keeps pace with the throughput of the notifications that you send from the application. Catalyst servers are fast and are capable of instantly delivering your push messages to the intended push service workers for web push notifications, APNs servers for iOS push notifications, and FCM for Android push notifications. You can experience lag-free and instantaneous delivery of push messages from your application. #### High Scalability and Auto-Scaling Catalyst servers scale automatically and allocate the required resources to your application whenever the load increases. The resources are scaled up or down instantly based on the throughput of the push messages received for your application. Catalyst is built on Zoho's tried-and-tested robust infrastructure that can handle high volumes of requests and ensure consistency in your app's performance. This also eliminates failures in delivering the notifications due to heavy loads. #### Engage Users Suited to your Business Needs You can engage with your application users in numerous ways by incorporating a variety of elements in your push notifications, such as CTA buttons, and audio or video attachments. There are also no restrictions on the number of messages that you can send to the users of your application from Catalyst's end. For iOS apps, the standards for the limit to the number of push notifications that you can send are set by Apple. Likewise, the limits for Android apps are defined by Google. For web applications, the standards vary with each push service or browser. However, most browsers do not impose heavy limits on push notifications, which enables you to use Catalyst's service to fit your business needs. You can refer to our SDK and API documentation for any limits on recipient count. #### Send Manual or Automated Push Notifications Catalyst facilitates manual as well as scheduled, automated push notifications, which you can incorporate based on your requirements. For example, you can implement a pop-up or something similar in the admin access of your application for your app's admins to type in and send manual push notifications to specific target users. You can also implement automated push notifications and schedule them in your business logic. Catalyst provides ready-to-use code in the client SDKs to enable push notifications for user devices for the {{%link href="/en/sdk/web/v4/cloud-scale/push-notifications/get-component-instance/" %}}web{{%/link%}}, {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/introduction/" %}}iOS{{%/link%}}, or {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/introduction/" %}}Android{{%/link%}} app, as required. You can send push notifications to an unrestricted number of user devices by similarly implementing the readily-available methods from our server-side SDKs ({{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/" %}}Java{{%/link%}}, {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/get-component-instance/" %}}Node.js{{%/link%}}, and {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/" %}}Python{{%/link%}} platforms) in your codebase, or through our {{%link href="/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications" %}}API{{%/link%}}. With this ease of implementation, Catalyst reduces your workload in configuring push notifications for your apps substantially. #### Test Push Notifications before Implementation You can use the provision to test push notifications in your web or mobile application before you implement them in Catalyst. You can register user devices as test devices in your iOS or Android apps and send test notifications to them from the Catalyst console or through API. Catalyst also enables you to test push notifications in your web apps through the console or API. You can then incorporate sending push notifications in your codebase for production devices. -------------------------------------------------------------------------------- title: "Use Cases" description: "Catalyst provides a ready-to-implement push notifications service in your iOS, Android, and web apps, and also enables you to test notifications before they are sent." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/use-cases/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Use Cases Catalyst push notification service can be used in the following scenarios, among various others: * A taxi-booking mobile application sends push notifications to its new customers if they don't open the app for a certain period of time after they sign up for an account. It includes engaging content that gives them brief information about the types of cabs available, and exciting deals for new users in the form of a banner image and a call-to-action button that redirects them to the app. The organization obtains a list of the new users from the Catalyst Data Store. This user list is passed on to be used as the recipients of the push notifications in the application's code. The code also defines the time delay between the sign up and initiating the push message, the time of the day it must be sent, and more. This entire process is automated in Catalyst. <br> * An organization builds a community forum application for B2B usage that can be accessed through web browsers or in the iOS or Android platforms. The organization initially launches this app internally to a select number of users to perform beta testing. They use the testing feature of the Catalyst web, iOS, and Android push notifications to send test notifications and to garner insights from the interactions and responses. The feature developers register the email addresses of these select users and add their devices as test devices. When the application is ready for a release, they enable the push notification service for production devices. -------------------------------------------------------------------------------- title: "iOS Push Notifications" description: "Catalyst provides a ready-to-implement push notifications service in your iOS, Android, and web apps, and also enables you to test notifications before they are sent." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/ios/" service: "Cloud Scale" -------------------------------------------------------------------------------- # iOS Push Notifications Catalyst makes the task of incorporating push notifications in your iOS apps much easier by acting as an intermediary between you and Apple. Catalyst forwards your push messages to Apple on your behalf after you perform the required configurations, and provides you with the response to your action. You can learn about the general architecture of the push notification flow from the {{%link href="/en/cloud-scale/help/push-notifications/architecture/" %}}Architecture help section{{%/link%}}. ### Key Concepts The key concepts of iOS push notifications are explained below. #### APNS and Device Token The iOS push notifications are handled by Apple Push Notifications service, or APNs. Your app is connected to the APNs server when it is installed on a user's device, and this enables the user to receive the notifications that your server forwards to APNs. Catalyst takes the role of the server: it obtains the push messages from you and forwards them to APNs on your behalf, which in turn routes them to the client devices. This process involves a device token that is globally unique and identifies a single app-device combination. Every time a user device launches your app, it sends a request to establish a connection with APNs. After this is established successfully, the device token is provided by APNs, which you can then forward to and store in Catalyst securely. This process establishes the channel between your app and the device. You can learn about this in detail from the {{%link href="https://developer.apple.com/documentation/usernotifications/registering-your-app-with-apns" %}}official developer documentation from Apple{{%/link%}}. The first step in this process is to obtain an APNs certificate issued by Apple and to upload it to Catalyst. The APNs certificate permits the developer to send push notification data to the app installed on Apple devices. Uploading this certificate to Catalyst establishes a secure connection between Catalyst servers and APNs. Refer [here](#configure-and-enroll-for-ios-push-notifications) for the complete steps. {{%note%}}{{%bold%}}Note:{{%/bold%}} You must create separate APNs certificates and manage separate APNs connections for each iOS app hosted in different Catalyst projects. You will also need to regenerate your APNs certificate before its validity expires.{{%/note%}} #### Testing in Development and Production Modes Catalyst enables you to test push notifications in iOS in two different modes: development and production, which can be considered as sandboxed and live modes. Apple supports and provides different servers for both these modes. {{%note%}}{{%bold%}}Note:{{%/bold%}} The development and production modes of an iOS app are not to be confused with the {{%link href="/en/deployment-and-billing/environments/introduction/" %}}development and production environments{{%/link%}} in Catalyst.{{%/note%}} If you select the development mode in the Catalyst console to send test notifications, this will inform Catalyst to forward your notifications to Apple's test servers. Likewise, if you select the production mode to send test notifications, this will inform Catalyst to forward your notifications to Apple's live servers. If your test notifications are delivered to the devices successfully, the APNs connection has been configured properly with your app. When the notifications are sent from your app, you can determine the status of their delivery from the API response you receive. #### Registering a User Device For iOS apps, the devices that you need to send push notifications to must be registered with APNs. The users must also provide explicit permission for the app to send them push notifications. This can be handled in the app's logic by sending the users a permission prompt, where they can allow or deny permission. After the permission is provided, you can send test notifications to the device. {{%note%}}{{%bold%}}Note:{{%/bold%}} End users must be authenticated on the iOS app to receive push notifications. You can handle user authentication in your app through {{%link href="/en/cloud-scale/help/authentication/introduction/" %}}Catalyst Authentication{{%/link%}}.{{%/note%}} <br> ### Elements of iOS Push Notifications Apple supports a variety of rich media and elements that can be included in its push notifications. Catalyst supports iOS notifications that primarily contain text content. Other elements like audio and video attachments, images, hyperlinks, and call-to-action buttons can also be included as a JSON package. Catalyst also supports notification badge counts in your iOS push notifications. This displays the number of notifications that are waiting to be read in the notification badge. You can also perform a variety of actions with iOS push notifications, such as: * Modifying the notification content before it is displayed to the user * Performing a background task * Grouping notifications into threads * Providing interactive UI in the notification such as a _Like_ button However, you must be aware of the standards defined by Apple and you must adhere to their guidelines before defining actions for iOS push notifications. You can find more information regarding this, as well as character count, payload limits, and other details from their official documentation about {{%link href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server" %}}generating a remote notification{{%/link%}}. <br> ### Configure and Enroll for iOS Push Notifications The steps to be followed for configuring and enrolling for Catalyst Push Notification services for an iOS app are listed below in a logical sequence: #### Step 1: Register your iOS app with Apple You must {{%link href="https://developer.apple.com" %}}sign in to your Apple developer account{{%/link%}} and register your iOS app with Apple before you can procure an APNs certificate for it. While creating the app ID, ensure that you provide the same bundle ID for your app that you provided in Catalyst when you downloaded the iOS SDK. You can refer to Apple's {{%link href="https://help.apple.com/developer-account/" %}} Developer Account Help page{{%/link%}} for more information.<br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} Ensure you have created an App ID without a wildcard. Wildcard IDs cannot use the push notification service. {{%/note%}}<br /> #### Step 2: Generate a certificate from Keychain Access You must generate a Certificate Signing Request (CSR) from your Mac OS terminal and upload it in the Apple Push Notifications Portal. To generate the CSR from _Keychain Access_: 1. Launch the _Keychain Access_ application in your Mac OS terminal. 2. Select {{%bold%}}Keychain Access{{%/bold%}} < {{%bold%}}Certificate Assistant{{%/bold%}} > {{%bold%}}Request a Certificate From a Certificate Authority{{%/bold%}}. 3. Enter your email address and check the option to save the certificate on your disk. 4. Save the certificate. <br> #### Step 3: Generate and download the APNs certificate provided by Apple After generating the CSR, open your Apple developer account to generate the APNs certificate as follows: 1. Select your app from the _App IDs_ list and click {{%bold%}}Edit{{%/bold%}}. 2. In the _Development SSL Certificates_ section, click {{%bold%}}Create Certificate{{%/bold%}} and click {{%bold%}}Continue{{%/bold%}}. 3. Upload the CSR file that you created in the previous step and click {{%bold%}}Continue{{%/bold%}}. 4. Download the APNs certificate that is generated and click {{%bold%}}Done{{%/bold%}}. <br> #### Step 4: Convert the downloaded APNs certificate into the _.p12_ format The APNs certificate that you download from Apple will be in ._cer_ format, which you must convert to ._p12_ before uploading it to Catalyst. You can convert a ._cer_ certificate to ._p12_ format in the following way: 1. Double-click on the downloaded certificate on your Mac to install it in _Keychain Access_. 2. Open _Keychain Access_ and locate the installed certificate in the _Certificates_ section. 3. Click on the arrow next to the certificate to show the key and select it. 4. Select {{%bold%}}File{{%/bold%}} and then {{%bold%}}Export Items...{{%/bold%}} 5. Provide a name for the export file. Save the file in the ._p12_ format. 6. Provide a password to protect the certificate. You will need this password while enrolling for Catalyst Push Notification services. Click {{%bold%}}OK{{%/bold%}}. 7. Enter your Mac password to enable the export. Click {{%bold%}}Allow{{%/bold%}}. Your APNs certificate is now saved in the ._p12_ format. You can now upload the APNs certificate to the Catalyst console and enroll for Catalyst Push Notification services. This will establish a connection between Catalyst and APNs for your iOS app. The procedure is explained below. <br> #### Step 5: Enroll for iOS Push Notification Services in Catalyst You can upload the APNs certificate and provide the necessary information to enroll for Catalyst Push Notification services. {{%note%}}{{%bold%}}Note:{{%/bold%}} You must upload the APNs certificate separately for the development and production modes. To send test notifications from the development or the production mode, there must be an APNs certificate uploaded in Catalyst for that mode. {{%/note%}} To enrol for push notifications for your iOS app in Catalyst: 1. Navigate to the {{%bold%}}CloudScale{{%/bold%}}, then click {{%bold%}}Push Notifications{{%/bold%}} under _Notify_. <br /> 2. Click the {{%bold%}}iOS{{%/bold%}} tab, then click {{%bold%}}Configure{{%/bold%}}. <br /> 3. Upload the APNs certificate that you generated from Apple. You will also need to provide your app's bundle ID and the password that you created for the APNs certificate in the previous step. Click {{%bold%}}Enroll{{%/bold%}}. <br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} Ensure that you enter the same bundle ID while downloading the iOS SDK, registering your iOS app with Apple, and configuring push notifications in Catalyst. {{%/note%}} <br> This will enroll you for the Catalyst iOS push notification service. After your APNs certificate is uploaded and its credentials have been provided, Catalyst establishes a connection with APNs for your iOS app. You can then use the console to send test notifications to mobile devices after registering them. After you have enrolled, you must register your test mobile devices. This allows the devices to receive push notifications that you send them. <br> #### Step 6: Register a Test Mobile Device To register an iOS mobile device as a test device, you must call the {{%badge%}}registerNotification(){{%/badge%}} method with the required parameters as shown in the following code snippet: {{%code class="language-javascript line-numbers"%}}ZCatalystApp.shared.registerNotification(token: e5********21, appID: 12345678, testDevice: false) { error in if let error = error { return print("Error : \( error )") } print("Registered successfully") }{{%/code%}} **Parameters:** * {{%badge%}}token{{%/badge%}}: Device token obtained after registering the device for remote push notifications with APNS. * {{%badge%}}appID{{%/badge%}}: The {{%badge%}}notificationAppID{{%/badge%}} obtained from the {{%badge%}}AppConfigurationDevelopment.plist{{%/badge%}}/ {{%badge%}}AppConfigurationProduction.plist{{%/badge%}} file generated by Catalyst for your app when you {{%link href="/en/sdk/ios/v2/setup/" %}}registered your iOS app in Catalyst{{%/link%}}. * {{%badge%}}testDevice{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices After a mobile device has been registered, the user must also provide permission for your app to send push notifications to them by clicking {{%bold%}}Allow{{%/bold%}} from the permission prompt. After this is done, you will be able to send test notifications to the device. **De-Register a Mobile Device** You can deregister a device that was registered for Catalyst iOS push notifications using the code snippet given below. {{%code class="language-javascript line-numbers"%}}ZCatalystApp.shared.deregisterNotification(token: e5********21, appID: 1234567, testDevice: true) { error in if let error = error { return print("Error : \( error )") } print("UnRegistered successfully") } {{%/code%}} **Parameters:** * {{%badge%}}token{{%/badge%}}: Device token obtained after registering the device for remote push notifications with APNS. * {{%badge%}}appID{{%/badge%}}: The {{%badge%}}notificationAppID{{%/badge%}} obtained from the {{%badge%}}AppConfigurationDevelopment.plist{{%/badge%}}/ {{%badge%}}AppConfigurationProduction.plist{{%/badge%}} file generated by Catalyst for your app when you {{%link href="/en/sdk/ios/v2/setup/" %}}registered your iOS app in Catalyst{{%/link%}}. * {{%badge%}}testDevice{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices <br> ### Test iOS Push Notifications Catalyst allows you to send test notifications in the form of text to all the user devices that have been registered in the test device mode from the previous step. You can send notifications for both the production and development modes from the console. Apple allocates different servers for each of these modes. If you had configured the appID from the development plist file while registering the user devices, they will be added to Apple's development mode. Likewise, if you had configured the appID from the production plist file, they will be added to the production mode. You can also send test push notifications from the {{%link href="/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications" %}}API{{%/link%}}. {{%note%}}{{%bold%}}Note:{{%/bold%}} The end users of your iOS app must be authenticated on the app to receive push notifications. You can implement {{%link href="/en/cloud-scale/help/authentication/introduction/"%}}Catalyst Authentication{{%/link%}} in your app from the {{%link href="/en/sdk/ios/v2/overview/"%}}Catalyst iOS SDK{{%/link%}} for user authentication.{{%/note%}} To send a test push notification in an iOS app to all registered test devices: 1. Navigate to the {{%bold%}}iOS{{%/bold%}} section in the Push Notifications component of your project. 2. Click on either the {{%bold%}}Production{{%/bold%}} or {{%bold%}}Development{{%/bold%}} tabs. 3. Enter the message for the push notification and click {{%bold%}}Send{{%/bold%}}. <br /> The message will be sent as a push notification to the test user devices that have been registered for your iOS app.<br /> <br /> -------------------------------------------------------------------------------- title: "Android Push Notifications" description: "Catalyst provides a ready-to-implement push notifications service in your iOS, Android, and web apps, and also enables you to test notifications before they are sent." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/android/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Android Push Notifications ### Introduction Catalyst uses {{%link href="https://firebase.google.com/docs/cloud-messaging"%}}Firebase Cloud Messaging (FCM){{%/link%}} to forward push notifications of Catalyst apps to client Android devices. FCM is a cross-platform messaging solution by {{%link href="https://firebase.google.com/"%}}Google Firebase{{%/link%}} that provides a backend and a transport layer to distribute and deliver your push notifications to client devices. Catalyst acts as the app server in this scenario, which runs your app's logic and processes your push notification requests. The section below explains this process in detail. You can learn about the general architecture of the push notification flow from the {{%link href="/en/cloud-scale/help/push-notifications/architecture/" %}}Architecture help section{{%/link%}}. <br> ### Key Concepts #### Implementation Path and Workflow The implementation path of configuring Catalyst push notifications for your Android apps is listed as follows: * Enable Firebase services in your Android app by registering your app in Firebase and adding their configuration file to your app's directory. * Obtain access to the Firebase Admin SDK by generating a private key. * Enrol for push notifications in Catalyst by adding the Firebase Admin SDK private key to Catalyst. * Register mobile devices to receive notifications. After you perform the implementation described above, the following process happens in the background when push notifications are sent from your app: * Catalyst interacts with FCM's backend through {{%link href="https://firebase.google.com/docs/cloud-messaging/server#firebase-admin-sdk-for-fcm"%}}Firebase Admin SDK{{%/link%}}, the superior and highly recommended option for interacting with FCM servers. * Catalyst forwards your push notification messages to the FCM's backend from your business logic, or the Catalyst console in case of test notifications. * Firebase then routes the push notification messages to client apps running on users' devices based on the configured server logic. #### Elements of Android Push Notifications Android supports a host of notification types ranging from basic text notifications, notifications with rich media elements, to call-style notifications. FCM categorizes messages to clients in two types, as explained in their {{%link href="https://firebase.google.com/docs/cloud-messaging/concept-options"%}}help documentation{{%/link%}}- Notification messages and Data messages. You can compose notifications in either of these types as per the format and specifications described in their help page. Elements such as images, hyperlinks, and call-to-action buttons can be passed as the data payload in these message formats. Catalyst also supports notification badge counts in your Android push notifications. This displays the number of notifications that are waiting to be read in the notification badge. You must adhere to the standards, guidelines, and hard limits defined by Android and FCM while composing and sending push messages. You can find more information regarding this from Android's official documentation for {{%link href="https://developer.android.com/design/ui/mobile/guides/home-screen/notifications"%}}designing{{%/link%}} and {{%link href="https://developer.android.com/develop/ui/views/notifications"%}}developing{{%/link%}} notifications. <br> ### Configure and Enroll for Android Push Notifications The steps to be followed for configuring and enrolling for Catalyst Push Notification services for an Android app are listed below in a logical sequence: #### Step 1: Generate Firebase's Android Configuration File To begin, you must enable Firebase in your Android app. This can be done by creating a project on Firebase for your Android app and adding their Android SDK and configuration file to it as described below: 1. If you have not created a project on Firebase for your Android app yet, you can do so by logging into your {{%link href="https://console.firebase.google.com/u/0/"%}}Firebase console{{%/link%}}. Select the option to create a new Firebase project. If you have already created a Firebase project for your Android app, you can skip to step 4. 2. Enter a name for your Firebase project, then check their checkbox. Click {{%bold%}}Continue{{%/bold%}}. 3. You can optionally enable Google Analytics for your project and set it up, if needed. Click {{%bold%}}Continue{{%/bold%}}. Your project will be created. 4. You can now configure Firebase's Android SDK for your app by clicking the Android icon after your project has been created. 5. Provide the package name and a display name for your Android app, then click {{%bold%}}Register App{{%/bold%}}. You can also optionally configure a debug signing certificate if you have generated one for your app. {{%note%}}{{%bold%}}Note:{{%/bold%}} You must provide the same package name as the {{%italics%}}App Bundle ID{{%/italics%}} while {{%link href="/en/getting-started/set-up-a-catalyst-project/developer-tools/#android-and-ios-sdks"%}}registering your Android app{{%/link%}} in Catalyst and while (configuring push notifications) for your app.{{%/note%}} 6. You can now download the {{%badge%}}google-services.json{{%/badge%}} file generated by Firebase by clicking the download button. You can click {{%bold%}}Next{{%/bold%}} for the code snippets to incorporate the Firebase SDK in your app and finish the setup. 7. The {{%badge%}}google-services.json{{%/badge%}} configuration file that you downloaded must be added to your app's module (app-level) root directory through Android Studio, as shown above . Firebase's Android configuration file is now available in your Android app. #### Step 2: Generate Private Key for Firebase Access The next step is to generate a private key to access the {{%link href="https://firebase.google.com/docs/cloud-messaging/server#firebase-admin-sdk-for-fcm"%}}Firebase Admin SDK{{%/link%}} from your Android application. The unified Admin SDK facilitates authenticating multiple Firebase features, including providing full admin privileges to send messages or manage topic subscriptions through FCM. This is available as a part of your {{%link href="https://firebase.google.com/support/guides/service-accounts"%}}Firebase service account{{%/link%}} that Firebase uses to operate and manage services with admin privileges. You can generate a service account private key by following the steps mentioned below. 1. Navigate to the {{%link href="https://console.firebase.google.com/u/0/"%}}Firebase console{{%/link%}}. Open the project that you configured your Android application in previously. 2. Click {{%bold%}}Project Overview{{%/bold%}} in the console, then click {{%bold%}}Project settings{{%/bold%}}. 3. Navigate to the {{%bold%}}Service Accounts{{%/bold%}} tab in the project settings. From the {{%italics%}}Firebase Admin SDK{{%/italics%}} section, click {{%bold%}}Generate new private key{{%/bold%}}. 4. Click {{%bold%}}Generate key{{%/bold%}} from the pop-up that opens. This will download the private key JSON file to your system. #### Step 3: Configure Android Push Notification Services in Catalyst After you obtain the service account private key for your Android app from Firebase, you must now configure that key with Catalyst in order to enroll for Catalyst Push Notification services in your app. To enroll for push notifications for your Android app in Catalyst: 1. Navigate to the {{%bold%}}Cloud Scale{{%/bold%}} service from the Catalyst console in your project, then open {{%bold%}}Push Notifications{{%/bold%}}. Click the {{%bold%}}Android{{%/bold%}} tab, then click {{%bold%}}Configure{{%/bold%}}. 2. Provide the Android app's bundle ID. This must be the same as the package name you provided while [registering your app in Firebase](#step-1-generate-firebases-android-configuration-file ) and while {{%link href="/en/getting-started/set-up-a-catalyst-project/developer-tools/#android-and-ios-sdks"%}}registering your app in Catalyst{{%/link%}}. Then, upload the Service Account JSON file (private key file) that you generated for your Firebase Admin SDK in the [previous section](#step-2-generate-private-key-for-firebase-access). 3. Click {{%bold%}}Enroll{{%/bold%}}. This will enroll you in the Catalyst Android push notification service. After your Firebase service account JSON file is configured, Catalyst will be able to interact with FCM servers for your Android app. You can then send push notifications to the registered users of your Android app, or test sending notifications from the console. #### Step 4: Register a Mobile Device for Push Notifications Before you can send push notifications from your Android app or test sending them from the Catalyst console, you must register the mobile devices to receive the push notifications. This can be done by calling the code snippet given below from the device. This passes the required credentials to the {{%badge%}}app.registerNotification(){{%/badge%}} method in Catalyst SDK. {{%code class="language-javascript line-numbers"%}}val app = ZCatalystApp.getInstance() app.registerNotification(device_token,"bundleID", "appID", test_device_boolean, { Log.i("Register","App register successfully"); }, { Log.i("Register","App register failed"); }){{%/code%}} **Parameters:** * {{%badge%}}device_token{{%/badge%}}: The device token obtained from [FCM](#step-1-generate-firebases-android-configuration-file) for your app. * {{%badge%}}bundleID{{%/badge%}}: The Android app's bundle ID that you configured while {{%link href="/en/sdk/android/v2/setup/" %}}registering the app with Catalyst{{%/link%}} as well as in Firebase. * {{%badge%}}appID{{%/badge%}}: The app ID generated by Catalyst for your app in Push Notifications. You can find this in the {{%italics%}}Android{{%/italics%}} section of Push Notifications in your Catalyst console. * {{%badge%}}test_device_boolean{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices After a mobile device has been registered, the user must also provide explicit permission for your app to send push notifications from their device.You can handle this in the app's logic by sending the users a permission prompt, where they can allow or deny permission. After the permission is provided, you can send test notifications to the device. {{%note%}}{{%bold%}}Note:{{%/bold%}} End users must be authenticated on the Android app to receive push notifications. You can handle user authentication in your app through {{%link href="/en/cloud-scale/help/authentication/introduction/" %}}Catalyst Authentication{{%/link%}}.{{%/note%}} **Deregister a Mobile Device** You can deregister a mobile device from receiving push notifications from your Android app by executing the code below. This passes the required credentials to the {{%badge%}}app.deregisterNotification(){{%/badge%}} method in Catalyst SDK. {{%code class="language-javascript line-numbers"%}}val app = ZCatalystApp.getInstance() app.deregisterNotification (device_token,"bundleID", "appID", test_device_boolean, { Log.i("Unregister","App unregistered successfully"); }, { Log.i("Unregister","App unregisteration failed"); }){{%/code%}} **Parameters:** * {{%badge%}}device_token{{%/badge%}}: The device token obtained from [FCM](#step-1-generate-firebases-android-configuration-file) for your app. * {{%badge%}}bundleID{{%/badge%}}: The Android app's bundle ID that you configured while {{%link href="/en/sdk/android/v2/setup/" %}}registering the app with Catalyst{{%/link%}} as well as in Firebase. * {{%badge%}}appID{{%/badge%}}: The app ID generated by Catalyst for your app in Push Notifications. You can find this in the {{%italics%}}Android{{%/italics%}} section of Push Notifications in your Catalyst console. * {{%badge%}}test_device_boolean{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices ### Test Android Push Notifications Catalyst allows you to send test notifications as text to all the user devices that have been registered from the console. You can send test notifications from the development or production {{%link href="/en/deployment-and-billing/environments/introduction/"%}}environment{{%/link%}} by choosing the required option from the console. Ensure that the end user you are sending the test notification to is authenticated in the app and is a registered user. {{%note%}}{{%bold%}}Note:{{%/bold%}} The end users of your Android app must be authenticated on the app to receive push notifications. You can implement {{%link href="/en/cloud-scale/help/authentication/introduction/"%}}Catalyst Authentication{{%/link%}} in your app from the {{%link href="/en/sdk/android/v2/overview/"%}}Catalyst Android SDK{{%/link%}} for user authentication.{{%/note%}} To send a test push notification for a Catalyst Android app from the console: 1. Navigate to {{%bold%}}Push Notifications{{%/bold%}} from the Cloud Scale section in your project. Click the {{%badge%}}Android{{%/bold%}} tab. <br> 2. Enter the message for the push notification and click {{%bold%}}Send{{%/bold%}}. The message will be sent as a push notification to the user devices that have been registered and the users that have been authenticated in your Android app. -------------------------------------------------------------------------------- title: "Web Push Notifications" description: "Catalyst provides a ready-to-implement push notifications service in your iOS, Android, and web apps, and also enables you to test notifications before they are sent." last_updated: "2026-03-18T07:41:08.536Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/web/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Web Push Notifications ### Introduction Catalyst push notifications for web applications is a fully managed service that you can use to easily enable and activate push notifications for your web app. A Catalyst web app's push notifications are displayed to users when the web app is open in their active browser. However, the browser must support web push and service workers for the notifications to be delivered to the user. You can learn more about these concepts in the {{%link href="/en/cloud-scale/help/push-notifications/architecture/" %}}Architecture{{%/link%}} section of the documentation. You can write your own action to design the logic for push notifications in the code snippet that Catalyst provides and implement it in your application. Depending on the guidelines of the web browsers, you can enable a provision for the users of your web app to opt in to receive push notifications. This can be done by including a prompt requesting permission to allow push notifications. Once the user grants permission, they will be subscribed to receive push notifications from your web app. A unique user subscription ID is created when they provide permission, which allows the web app to send push notifications to them. You can store this ID in your database to identify the subscribers. After you enable and configure push notifications in your web app, you can send test push notifications to specific users from the Catalyst console. You will be able to send plain text notifications to the test clients to check for bugs in the implementation. The users that you send them to must have active sessions of your web app open in their browsers to receive the notifications. <br> ### Key Concepts #### Elements of Web Push Notifications The elements of a push notification vary depending on whether it is for a web or a mobile application, mainly because of the differences in standards and restrictions imposed by various web browsers and the mobile platforms. Most web browsers do not contain heavy restrictions on HTML customizations or actionable elements that are incorporated in web push notifications. However, unlike native mobile app push notifications, web push notifications do not offer support for a wide variety of media types and interactive elements like GIFs or audio. Additionally, mobile app push notifications can access the mobile phone's camera, accelerometer, and more, which cannot be done by a web app. Different web browsers implement different standards in terms of feature support for push notifications. You must therefore design their appearance and logic accordingly. Broadly, a web push notification can contain elements like: * Title and Description * App Icon * Call-to-action button * Website URL <br> ### Enable Web Push Notifications For web applications, you can use the code snippet provided in the Catalyst console to define the appearance and action of your push notifications through your own logic and incorporate them into your application's source. After the code is configured, you can send test push notifications to the email addresses of select users to verify that they are working. Catalyst sends a {{%link href="/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications" %}}Push API{{%/link%}} call to the push service to request the delivery of a push message. The code snippet provided by Catalyst for the web platform also handles the registration process of the user devices to receive push notifications from the application. You do not need to register the user devices exclusively. You can enable push notifications and start testing them from the console. <br> To enable push notifications for a web application in Catalyst: 1. Navigate to {{%bold%}}Push Notifications{{%/bold%}} from the {{%bold%}}Cloud Scale{{%/bold%}} section in your project. Click the {{%bold%}}Web{{%/bold%}} tab. 2. Copy the given code snippet and paste this code in your web application's source wherever necessary.<br /> {{%code class="language-javascript line-numbers"%}}catalyst.notification.enableNotification().then(resp=>{ catalyst.notification.messageHandler = msg => { //write your own action } });{{%/code%}} {{%note%}}{{%bold%}}Note:{{%/bold%}} For the push notifications to be enabled properly, you must ensure that you have included the Catalyst Web SDK initialization script in your web application.{{%/note%}} The code snippet invokes the {{%badge%}}enableNotification(){{%/badge%}} function and allows you to define your own action under {{%badge%}}messageHandler{{%/badge%}}. As mentioned previously in the [Key Concepts](#key-concepts) section, you can handle the appearance and functioning of the push notifications in your app's code using your own logic. <br> ### Test Web Push Notifications After you incorporate and enable push notifications in your application's code, you can test if it is working from the console. Catalyst allows you to send a test text notification to one email address at a time from the console. If the test account receives the notification successfully, you can be assured that the setup is working correctly. To send a test push notification for a web application hosted in Catalyst: 1. Navigate to {{%bold%}}Push Notifications{{%/bold%}} from the {{%bold%}}Cloud Scale{{%/bold%}} section in your project. Click the {{%bold%}}Web{{%/bold%}} tab. 2. Enter the email ID of the user account that you want to send test push notifications to and the message in the _Web_ section. <br /> 3. Click {{%bold%}}Send{{%/bold%}}. The push notification will be sent to the specified user immediately. For the user to be able to receive the notification, the following criteria must be met: 1. The user must have the web app open in their browser. If the user is active on a different browser tab, they will still be able to receive the push notification. 2. The browser that the web app is open in must support web push and service workers 3. If you have included a permission prompt in your application's logic to allow push notifications, then the end users must have provided permission for it. <br /> --- ## API Reference — Push Notifications ### Android -------------------------------------------------------------------------------- title: "Send Android Push Notifications" description: "This API is used to send push notifications to the users of your Android app after you register your app with FCM, enroll for Catalyst push notifications, and register your device." last_updated: "2026-03-18T07:41:08.547Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/push-notifications/android/send-android-push-notifications/" service: "Cloud Scale" -------------------------------------------------------------------------------- {{% section path="/en/api/code-reference/cloud-scale/push-notifications/android/send-android-push-notifications/" id="SendAndroidPushNotifications" %}} {{%divtag class="LeftContent"%}} ## Send Android Push Notifications ### Description This API is used to send text {{%link href="/en/cloud-scale/help/push-notifications/introduction/"%}}push notifications{{%/link%}} to the user devices from your Android app for testing, after you register your app with Firebase Cloud Messaging, enroll for Catalyst push notifications, and register your device. You must implement the {{%bold%}}four steps{{%/bold%}} explained in the {{%link href="/en/cloud-scale/help/push-notifications/android" %}}Push Notifications- Android help section{{%/link%}} before you can send push notifications. Catalyst enables you to send push notifications either to registered test devices or to production devices by passing the appID value from the configuration file of the respective environment. The request URL for sending push notifications to test devices and to production devices varies. These are presented in the Request Details section. You can pass the push notification message and the recipient to send the push notifications to, along with other details in your API request as shown in the sample request. ### Request Details #### Request URL to send Test Notifications {{%request class="apiyellow" req="POST" %}}<p>{api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/test</p>{{%/request%}} #### Request URL to send Production Notifications {{%request class="apiyellow" req="POST" %}}<p>{api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/project-user/notify</p>{{%/request%}} {{%request_id id="api-domain" data="URL" %}}The DC-specific domain to access Catalyst API{{%/request_id%}} {{%request_id id="project_id" data="Numerical" %}}The {{%link href="/en/getting-started/set-up-a-catalyst-project/general-settings/"%}}unique ID{{%/link%}} of the project{{%/request_id%}} {{%request_id id="app_id" data="Numerical" %}}The {{%badge%}}appID{{%/badge%}} generated by Catalyst for your app in Push Notifications. You can find this in the _Android_ section of Push Notifications in your Catalyst console.{{%/request_id%}} #### Query Parameters {{%scope%}} **isAndroid:** true {{%/scope%}} #### Request Headers {{%scope%}} **Content-Type:** application/json {{%/scope%}} **Optional Headers** <br> {{%scope%}} **CATALYST-ORG:** {org_id} {{%/scope%}} {{%scope%}} **Environment:** Development {{%/scope%}} #### Scope {{%scope%}} ZohoCatalyst.notifications.mobile.CUSTOM {{%/scope%}} #### Request JSON Properties {{% nested_fields children="open" border="yes" expandable="no" title="recipient" textformat="string" condition="mandatory" maxlength=" " %}} The email address of the user that the push notification must be sent to. You can only send it to one user per API call. {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="yes" title="push_details" textformat="json" condition="mandatory" maxlength=" " %}} The JSON that contains the details of the push notification content and metadata {{% nested_button%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="message" textformat="string" condition="mandatory" maxlength="" %}}The text content of the push notification <br> Max Size: 100 characters{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="additional_info" textformat="json" condition="optional" maxlength="" %}}Any additional information that you need to send in the form of *"sample_key" : "sample_value"* <br> Max Size: 100 characters{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="badge_count" textformat="integer" condition="optional" maxlength="" %}}The count to be displayed over the app's icon{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="reference_id" textformat="string" condition="optional" maxlength="" %}}The ID for reference{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="expiry_time" textformat="integer" condition="optional" maxlength="" %}}The time of expiry of the notification in hours{{% /nested_fields %}} {{%/request_id%}} {{% /nested_fields %}} ### Response Details The response returns the status of the sent notification as {{%badge%}}success{{%/badge%}} or {{%badge%}}failed{{%/badge%}}, and the data that was passed including {{%badge%}}message{{%/badge%}} and {{%badge%}}expiry_time{{%/badge%}}. {{%/divtag%}} {{%divtag class="RightContent"%}} {{% panel_without_adjustment header="Sample Request: Production Device" class="language-bash" %}}curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/204000000024010/push-notification/204000000036005/project-user/notify?isAndroid=true \ -H "Content-Type: application/json" \ -d '{ "recipients":"amanda.boyle@zylker.com", "push_details":{ "message":"Welcome to Zylker App!", "badge_count":10, "expiry_time":12, "additional_info":{ "sample_key" : "sample_value" } } }' {{% /panel_without_adjustment %}} {{% panel_without_adjustment header="Sample Response" class="language-json line-numbers"%}} { "status": "success", "data": { "recipients": "amanda.boyle@zylker.com", "push_details": { "message": "Welcome to Zylker App!", "additional_info": { "sample_key": "sample_value" }, "badge_count": 10, "reference_id": null, "expiry_time": 12 } } }{{% /panel_without_adjustment %}} {{% expand-container %}} {{% expand id="sdk_docs" header="SDK Documentation"%}} {{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/"%}}Send Push Notifications- Java SDK{{%/link%}}<br/><br/> {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/get-component-instance/"%}}Send Push Notifications- Node.js SDK{{%/link%}}<br/><br/> {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/"%}}Send Push Notifications- Python SDK{{%/link%}}<br/><br/> {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/"%}}Register Device for Push Notifications- iOS SDK{{%/link%}}<br><br> {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/register-device/"%}}Register Device for Push Notifications- Android SDK{{%/link%}}<br><br> {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/"%}}Register Device for Push Notifications- Flutter SDK{{%/link%}}<br><br> {{%link href="/en/sdk/web/v4/cloud-scale/push-notifications/register-client/"%}}Register Device for Push Notifications- Web SDK{{%/link%}} {{%/expand%}} {{%/expand-container%}} {{%/divtag%}} {{%/section%}} ### iOS -------------------------------------------------------------------------------- title: "Send iOS Push Notifications" description: "This API is used to send push notifications to the users of your iOS app after you register your app with Apple, enroll for Catalyst push notifications, and register your device." last_updated: "2026-03-18T07:41:08.547Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/" service: "Cloud Scale" -------------------------------------------------------------------------------- {{% section path="/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/" id="SendiOSPushNotifications" %}} {{%divtag class="LeftContent"%}} ## Send iOS Push Notifications ### Description This API is used to send text {{%link href="/en/cloud-scale/help/push-notifications/introduction/"%}}push notifications{{%/link%}} to the user devices from your iOS app for testing, after you register your app with Apple, enroll for Catalyst push notifications, and register your device. You must implement the {{%bold%}}six steps{{%/bold%}} explained in the {{%link href="/en/cloud-scale/help/push-notifications/ios" %}}Push Notifications- iOS help section{{%/link%}} before you can send push notifications to devices. Catalyst enables you to send push notifications either to registered test devices or to production devices by passing the appID value from the configuration file of the respective environment. The request URL for sending push notifications to test devices and to production devices varies. These are presented in the Request Details section. You can pass the push notification message and the recipient to send the push notifications to, along with other details in your API request as shown in the sample request. ### Request Details #### Request URL to send Test Notifications {{%request class="apiyellow" req="POST" %}}<p>{api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/test</p>{{%/request%}} #### Request URL to send Production Notifications {{%request class="apiyellow" req="POST" %}}<p>{api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/project-user/notify</p>{{%/request%}} {{%request_id id="api-domain" data="URL" %}}The DC-specific domain to access Catalyst API{{%/request_id%}} {{%request_id id="project_id" data="Numerical" %}}The {{%link href="/en/getting-started/set-up-a-catalyst-project/general-settings/"%}}unique ID{{%/link%}} of the project{{%/request_id%}} {{%request_id id="app_id" data="Numerical" %}}The {{%badge%}}notificationAppID{{%/badge%}} obtained from the {{%link href="/en/sdk/ios/v2/setup/#properties-of-the-appconfigurationdevelopmentplist-appconfigurationproductionplist-file"%}}{{%badge%}}AppConfigurationDevelopment.plist{{%/badge%}}/ {{%badge%}}AppConfigurationProduction.plist{{%/badge%}} file{{%/link%}} for the appropriate environment{{%/request_id%}} #### Request Headers {{%scope%}} **Content-Type:** application/json {{%/scope%}} **Optional Headers** <br> {{%scope%}} **CATALYST-ORG:** {org_id} {{%/scope%}} {{%scope%}} **Environment:** Development {{%/scope%}} #### Scope {{%scope%}} ZohoCatalyst.notifications.mobile.CUSTOM {{%/scope%}} #### Request JSON Properties {{% nested_fields children="open" border="yes" expandable="no" title="recipient" textformat="string" condition="mandatory" maxlength=" " %}} The email address of the user that the push notification must be sent to. You can only send it to one user per API call. {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="yes" title="push_details" textformat="json" condition="mandatory" maxlength=" " %}} The JSON that contains the details of the push notification content and metadata {{% nested_button%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="message" textformat="string" condition="mandatory" maxlength="" %}}The text content of the push notification <br> Max Size: 100 characters{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="additional_info" textformat="json" condition="optional" maxlength="" %}}Any additional information that you need to send in the form of *"sample_key" : "sample_value"* <br> Max Size: 100 characters{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="badge_count" textformat="integer" condition="optional" maxlength="" %}}The count to be displayed over the app's icon{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="reference_id" textformat="string" condition="optional" maxlength="" %}}The ID for reference{{% /nested_fields %}} {{%/request_id%}} {{%request_id%}}{{% nested_fields children="open" border="no" expandable="no" title="expiry_time" textformat="integer" condition="optional" maxlength="" %}}The time of expiry of the notification in hours{{% /nested_fields %}} {{%/request_id%}} {{% /nested_fields %}} ### Response Details The response returns the status of the sent notification as {{%badge%}}success{{%/badge%}} or {{%badge%}}failed{{%/badge%}}, and the data that was passed including {{%badge%}}message{{%/badge%}} and {{%badge%}}expiry_time{{%/badge%}}. {{%/divtag%}} {{%divtag class="RightContent"%}} {{% panel_without_adjustment header="Sample Request: Production Device" class="language-bash" %}}curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/204000000024010/push-notification/204000000036005/project-user/notify \ -H "Content-Type: application/json" \ -d '{ "recipients":"amanda.boyle@zylker.com", "push_details":{ "message":"Welcome to Zylker App!", "badge_count":10, "expiry_time":12, "additional_info":{ "sample_key" : "sample_value" } } }' {{% /panel_without_adjustment %}} {{% panel_without_adjustment header="Sample Response" class="language-json line-numbers"%}} { "status": "success", "data": { "recipients": "amanda.boyle@zylker.com", "push_details": { "message": "Welcome to Zylker App!", "additional_info": { "sample_key": "sample_value" }, "badge_count": 10, "reference_id": null, "expiry_time": 12 } } }{{% /panel_without_adjustment %}} {{% expand-container %}} {{% expand id="sdk_docs" header="SDK Documentation"%}} {{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/"%}}Send Push Notifications- Java SDK{{%/link%}}<br/><br/> {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/get-component-instance/"%}}Send Push Notifications- Node.js SDK{{%/link%}}<br/><br/> {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/"%}}Send Push Notifications- Python SDK{{%/link%}}<br/><br/> {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/"%}}Register Device for Push Notifications- iOS SDK{{%/link%}}<br><br> {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/register-device/"%}}Register Device for Push Notifications- Android SDK{{%/link%}}<br><br> {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/"%}}Register Device for Push Notifications- Flutter SDK{{%/link%}}<br><br> {{%link href="/en/sdk/web/v4/cloud-scale/push-notifications/register-client/"%}}Register Device for Push Notifications- Web SDK{{%/link%}} {{%/expand%}} {{%/expand-container%}} {{%/divtag%}} {{%/section%}} ### Web -------------------------------------------------------------------------------- title: "Send Web Push Notifications" description: "This API is used to send push notifications to the users of your web application after you enable Catalyst push notifications." last_updated: "2026-03-18T07:41:08.548Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/" service: "Cloud Scale" -------------------------------------------------------------------------------- {{% section path="/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/" id="SendWebPushNotifications" %}} {{%divtag class="LeftContent"%}} # Push Notifications {{%link href="/en/cloud-scale/help/push-notifications/introduction/"%}}Push notifications{{%/link%}} are remote notifications that an application provider can send to the users of their application, even when the application is not actively running on the user device. Catalyst provides you with an easy way to integrate push notifications into your Catalyst web and iOS applications. ## Send Web Push Notifications ### Description This API is used to send text {{%link href="/en/cloud-scale/help/push-notifications/introduction/"%}}push notifications{{%/link%}} to the users of your web application for testing, after you enable push notifications for it. You can enable push notifications and also register client devices for receiving push notifications by implementing the web script mentioned in {{%link href="/en/sdk/web/v4/cloud-scale/push-notifications/register-client/"%}}this Web SDK help page{{%/link%}}. You can then use this API to send push notifications. You can pass the push notification message and a list of the recipients in your API request as shown in the sample request. ### Request Details #### Request URL {{%request class="apiyellow" req="POST" %}}<p>{api-domain}/baas/v1/project/{project_id}/project-user/notify</p>{{%/request%}} {{%request_id id="api-domain" data="URL" %}}The DC-specific domain to access Catalyst API{{%/request_id%}} {{%request_id id="project_id" data="Numerical" %}}The {{%link href="/en/getting-started/set-up-a-catalyst-project/general-settings/"%}}unique ID{{%/link%}} of the project{{%/request_id%}} #### Request Headers {{%scope%}} **Content-Type:** application/json {{%/scope%}} **Optional Headers** <br> {{%scope%}} **CATALYST-ORG:** {org_id} {{%/scope%}} {{%scope%}} **Environment:** Development {{%/scope%}} {{%note%}} {{%bold class="bold-primary"%}}Note:{{%/bold%}} Catalyst does not authenticate this API request. Therefore, you need not pass an OAuth token.{{%/note%}} #### Scope {{%scope%}} ZohoCatalyst.notifications.web.CUSTOM {{%/scope%}} #### Request JSON Properties {{% nested_fields children="open" border="yes" expandable="no" title="recipients" textformat="string" condition="mandatory" maxlength=" " %}} The email address or the user ID of the users that the push notification must be sent to {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="message" textformat="string" condition="mandatory" maxlength=" " %}} The message content of the push notification in the text format {{% /nested_fields %}} ### Response Details The response returns the status of the sent notification as {{%badge%}}success{{%/badge%}} or {{%badge%}}failed{{%/badge%}}. {{%/divtag%}} {{%divtag class="RightContent"%}} {{% panel_without_adjustment header="Sample Request" class="language-bash" %}}curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/3000000002001/project-user/notify \ -H "Content-Type: application/json" \ -d '{ "recipients":["rhonda.wilkins@zylker.com","isabella.j@zylker.com","harry.sandman@zylker.com"], "message":"Attention, new employees! Update your profile information in Zylker team app" }' {{% /panel_without_adjustment %}} {{% panel_without_adjustment header="Sample Response" class="language-json line-numbers"%}} { "status": "success", "data": true }{{% /panel_without_adjustment %}} {{% expand-container %}} {{% expand id="sdk_docs" header="SDK Documentation"%}} {{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications"%}}Send Push Notifications- Java SDK{{%/link%}}</br></br> {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications"%}}Send Push Notifications- Node.js SDK{{%/link%}}</br></br> {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications"%}}Send Push Notifications- Python SDK{{%/link%}}</br></br> {{%link href="/en/sdk/web/v4/cloud-scale/push-notifications/get-component-instance/"%}}Register a Client for Push Notifications- Web SDK{{%/link%}} {{%/expand%}} {{%/expand-container%}} {{%/divtag%}} {{%/section%}} --- ## SDK — Android — Push Notifications -------------------------------------------------------------------------------- title: "Register Device for Push Notifications" description: "This page describes the method to register an Android device for remote push notifications after you register and enroll your Android app." last_updated: "2026-03-18T07:41:08.552Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/push-notifications/register-device/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - Android Push Notifications (/en/cloud-scale/help/push-notifications/android) - Push Notifications API for Android Devices (/en/api/code-reference/cloud-scale/push-notifications/android/send-android-push-notifications/#SendAndroidPushNotifications) - Push Notifications Flutter SDK (/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/) -------------------------------------------------------------------------------- # Push Notifications ### Introduction {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Push notifications{{%/link%}} enables you to send remote notifications to the users of your application, even when the app is not actively running on the user device. Catalyst provides you with an easy way to integrate push notifications into your Catalyst web, iOS, and Android applications. Before you send push notifications, you must follow a set of steps to register your app and enroll for Catalyst push notifications. These steps are mentioned in sequence below: 1. Generate Firebase's Android Configuration File 2. Generate Private Key for Firebase Access 3. Configure Android Push Notification Services in Catalyst 4. Register a Mobile Device for Push Notifications {{%note%}}{{%bold%}}Note:{{%/bold%}} The {{%bold%}}first three steps{{%/bold%}} are covered in detail in the {{%link href="/en/cloud-scale/help/push-notifications/android" %}}Push Notifications- Android help section{{%/link%}}. This Android SDK help documentation only covers the fourth step regarding registering a device to send push notifications, as well as deregistering a device. You can implement steps 1 -3 by referring to the Push Notifications help document, before using the code given below.{{%/note%}} <br> ### Register a Mobile Device for Push Notifications After you complete the first five steps mentioned above, you can implement the following code in your Android app that will register the device for Catalyst Push Notifications. To register an Android mobile device as a test device, you must call the {{%badge%}}registerNotification(){{%/badge%}} method with the required parameters as shown in the following code snippet: {{%code class="language-bash line-numbers"%}}val app = ZCatalystApp.getInstance() app.registerNotification(device_token,"bundleID", "appID", test_device_boolean, { Log.i("Register","App register successfully"); }, { Log.i("Register","App register failed"); }) {{%/code%}} **Parameters:** * {{%badge%}}device_token{{%/badge%}}: The device token obtained from {{%link href="/en/cloud-scale/help/push-notifications/android/#configure-and-enroll-for-android-push-notifications" %}}FCM for your app{{%/link%}}. * {{%badge%}}bundleID{{%/badge%}}: The Android app's bundle ID that you configured while {{%link href="/en/sdk/android/v2/setup/" %}}registering the app with Catalyst{{%/link%}} as well as in Firebase. * {{%badge%}}appID{{%/badge%}}: The app ID generated by Catalyst for your app in Push Notifications. You can find this in the {{%italics%}}Android{{%/italics%}} section of Push Notifications in your Catalyst console. * {{%badge%}}test_device_boolean{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices. <br> {{%note%}}{{%bold%}}Note:{{%/bold%}} You can register a maximum of 10 Android devices as test devices to test Android push notifications. {{%/note%}} After your device is registered, you will be able to send push notifications to your app users. The users will need to provide the permission for your app to send push notifications to them on their device, by clicking **Allow** from the permission prompt. You can learn about sending test push notifications on your registered devices from the Catalyst console from {{%link href="/en/cloud-scale/help/push-notifications/android/#test-android-push-notifications" %}}this help section{{%/link%}}. You can also send test notifications from the {{%link href="/en/api/code-reference/cloud-scale/push-notifications/android/send-android-push-notifications/#SendAndroidPushNotifications" %}}API{{%/link%}}. Refer to the {{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/"%}}Java{{%/link%}}, {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications/"%}}Node.js{{%/link%}}, and {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications/"%}}Python{{%/link%}} SDK documentation to learn about sending push notifications through your codebase. -------------------------------------------------------------------------------- title: "Deregister Device for Push Notifications" description: "This page describes the method to deregister a registered Android device for remote push notifications." last_updated: "2026-03-18T07:41:08.552Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/push-notifications/deregister-device/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - Android Push Notifications (/en/cloud-scale/help/push-notifications/android) - Push Notifications API for Android Devices (/en/api/code-reference/cloud-scale/push-notifications/android/send-android-push-notifications/#SendAndroidPushNotifications) -------------------------------------------------------------------------------- # Deregister a Mobile Device for Push Notifications You can deregister a device that was registered for Catalyst Android push notifications by passing the required parameters to the {{%badge%}}deregisterNotification(){{%/badge%}} method as shown below. {{%code class="language-bash line-numbers"%}}val app = ZCatalystApp.getInstance() app.deregisterNotification (device_token,"bundleID", "appID", test_device_boolean, { Log.i("Unregister","App unregistered successfully"); }, { Log.i("Unregister","App unregisteration failed"); }) {{%/code%}} **Parameters:** * {{%badge%}}device_token{{%/badge%}}: The device token obtained from {{%link href="/en/cloud-scale/help/push-notifications/android/#configure-and-enroll-for-android-push-notifications" %}}FCM for your app{{%/link%}}. * {{%badge%}}bundleID{{%/badge%}}: The Android app's bundle ID that you configured while {{%link href="/en/sdk/android/v2/setup/" %}}registering the app with Catalyst{{%/link%}} as well as in Firebase. * {{%badge%}}appID{{%/badge%}}: The app ID generated by Catalyst for your app in Push Notifications. You can find this in the {{%italics%}}Android{{%/italics%}} section of Push Notifications in your Catalyst console. * {{%badge%}}test_device_boolean{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices --- ## SDK — Flutter — Push Notifications -------------------------------------------------------------------------------- title: "Register Device for Push Notifications" description: "This page describes the method to register an iOS or Android device for remote push notifications after you register and enroll your Flutter app." last_updated: "2026-03-18T07:41:08.553Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - Push Notifications API (/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications) - Push Notifications Android SDK (/en/sdk/android/v2/cloud-scale/push-notifications/register-device/) - Push Notifications iOS SDK (/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/) -------------------------------------------------------------------------------- # Push Notifications ### Introduction {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Push notifications{{%/link%}} enables you to send remote notifications to the users of your application, even when the app is not actively running on the user device. Catalyst provides you with an easy way to integrate push notifications into your Catalyst web, iOS, and Android applications. While implementing Push Notifications through the Flutter SDK, you will need to ensure the prerequisites for iOS or Android, depending on the platform you're building your app in. These prerequisites are described below. ### Prerequisites for iOS Apps Before you send push notifications in your iOS app, you must follow a set of steps to register your app and enroll for Catalyst push notifications. These steps are mentioned in sequence below: 1. Register your iOS app with Apple 2. Generate a certificate from Keychain Access 3. Generate and download the APNs certificate provided by Apple 4. Convert the downloaded APNs certificate into the .p12 format 5. Enroll for iOS Push Notification Services in Catalyst 6. Register a Mobile Device for Push Notifications {{%note%}}{{%bold%}}Note:{{%/bold%}} The {{%bold%}}first five steps{{%/bold%}} are covered in detail in the {{%link href="/en/cloud-scale/help/push-notifications/ios" %}}Push Notifications- iOS help section{{%/link%}}. This SDK help documentation only covers the sixth step regarding registering a device to send push notifications, as well as deregistering a device. You can implement steps 1 -5 by referring to the Push Notifications help document, before using the code given in this section.{{%/note%}} <br> ### Prerequisites for Android Apps Before you send push notifications, you must follow a set of steps to register your app and enroll for Catalyst push notifications. These steps are mentioned in sequence below: 1. Generate Firebase's Android Configuration File 2. Generate Private Key for Firebase Access 3. Configure Android Push Notification Services in Catalyst 4. Register a Mobile Device for Push Notifications {{%note%}}{{%bold%}}Note:{{%/bold%}} The {{%bold%}}first three steps{{%/bold%}} are covered in detail in the {{%link href="/en/cloud-scale/help/push-notifications/android" %}}Push Notifications- Android help section{{%/link%}}. This SDK help documentation only covers the fourth step regarding registering a device to send push notifications, as well as deregistering a device. You can implement steps 1 -3 by referring to the Push Notifications help document, before using the code given in this section.{{%/note%}} ### Register a Mobile Device for Push Notifications After you complete the prerequisites mentioned above for the platform that you're working on, you can implement the following code in your app's codebase that will register the device for Catalyst Push Notifications. To register an Flutter mobile device as a test device, you must call the {{%badge%}}registerNotification(){{%/badge%}} method with the required parameters as shown in the following code snippet: {{%code class="language-bash line-numbers"%}}try { var response = await ZCatalystApp.getInstance().registerNotification(deviceToken: deviceToken, notificationAppId: '1624000000074620',isTestDevice: false); print(response?.responseJson); } on ZCatalystException catch (ex) { log("Register Failed: $ex"); }{{%/code%}} **Parameters:** * {{%badge%}}deviceToken{{%/badge%}}: The device token obtained from {{%link href="/en/cloud-scale/help/push-notifications/android/#configure-and-enroll-for-android-push-notifications" %}}FCM for you Android app{{%/link%}}, or the device token obtained after {{%link href="/en/cloud-scale/help/push-notifications/ios/#configure-and-enroll-for-ios-push-notifications" %}}registering the device for remote push notifications with APNS{{%/link%}} for your iOS app. * {{%badge%}}notificationAppID{{%/badge%}}: For Android, this is the app ID generated by Catalyst for your Android app in Push Notifications, which can be found in the Android section of Push Notifications in your Catalyst console. For iOS, this is obtained from the {{%badge%}}AppConfigurationDevelopment.plist{{%/badge%}}/ {{%badge%}}AppConfigurationProduction.plist{{%/badge%}} file generated by Catalyst for your app when you {{%link href="/en/sdk/ios/v2/setup/" %}}registered your iOS app in Catalyst{{%/link%}}. * {{%badge%}}testDevice{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices. <br> {{%note%}}{{%bold%}}Note:{{%/bold%}} You can register a maximum of 10 Android or iOS devices as test devices to test Android push notifications.{{%/note%}} After your device is registered, you will be able to send push notifications to your app users. The users will need to provide the permission for your app to send push notifications to them on their device, by clicking **Allow** from the permission prompt. You can learn about sending test push notifications on your registered devices from the Catalyst console for {{%link href="/en/cloud-scale/help/push-notifications/ios/#test-ios-push-notifications" %}}iOS apps{{%/link%}} and for {{%link href="/en/cloud-scale/help/push-notifications/android/#test-android-push-notifications" %}}Android apps{{%/link%}} from their respective help documentation. You can also send test notifications from the {{%link href="/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications" %}}API{{%/link%}}. Refer to the {{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/"%}}Java{{%/link%}}, {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications/"%}}Node.js{{%/link%}}, and {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications/"%}}Python{{%/link%}} SDK documentation to learn about sending push notifications through your codebase. -------------------------------------------------------------------------------- title: "Deregister Device for Push Notifications" description: "This page describes the method to deregister a registered iOS or Android device for remote push notifications." last_updated: "2026-03-18T07:41:08.553Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/push-notifications/deregister-device/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - Push Notifications API (/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications) - Push Notifications Android SDK (/en/sdk/android/v2/cloud-scale/push-notifications/register-device/) - Push Notifications iOS SDK (/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/) -------------------------------------------------------------------------------- # Deregister a Mobile Device for Push Notifications You can deregister a device that was registered for Catalyst iOS push notifications by passing the required parameters to the {{%badge%}}deregisterNotification(){{%/badge%}} method as shown below. {{%code class="language-javascript line-numbers"%}}try{ var response = await ZCatalystApp.getInstance() .deregisterNotification( deviceToken: deviceToken, notificationAppId: "1624000000074620", isTestDevice: false); print(response?.responseJson); } on ZCatalystException catch(ex) { print("Failed to deregister device: $ex"); }{{%/code%}} **Parameters:** * {{%badge%}}deviceToken{{%/badge%}}: The device token obtained from {{%link href="/en/cloud-scale/help/push-notifications/android/#configure-and-enroll-for-android-push-notifications" %}}FCM for you Android app{{%/link%}}, or the device token obtained after {{%link href="/en/cloud-scale/help/push-notifications/ios/#configure-and-enroll-for-ios-push-notifications" %}}registering the device for remote push notifications with APNS{{%/link%}} for your iOS app. * {{%badge%}}notificationAppID{{%/badge%}}: For Android, this is the app ID generated by Catalyst for your Android app in Push Notifications, which can be found in the Android section of Push Notifications in your Catalyst console. For iOS, this is obtained from the {{%badge%}}AppConfigurationDevelopment.plist{{%/badge%}}/ {{%badge%}}AppConfigurationProduction.plist{{%/badge%}} file generated by Catalyst for your app when you {{%link href="/en/sdk/ios/v2/setup/" %}}registered your iOS app in Catalyst{{%/link%}}. * {{%badge%}}testDevice{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices. --- ## SDK — iOS — Push Notifications -------------------------------------------------------------------------------- title: "Register Device for Push Notifications" description: "This page describes the method to register an iOS device for remote push notifications after you register and enroll your iOS app." last_updated: "2026-03-18T07:41:08.554Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - iOS Push Notifications (/en/cloud-scale/help/push-notifications/ios) - Push Notifications API for iOS Devices (/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications) - Push Notifications Flutter SDK (/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/) -------------------------------------------------------------------------------- # Push Notifications ### Introduction {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Push notifications{{%/link%}} enables you to send remote notifications to the users of your application, even when the app is not actively running on the user device. Catalyst provides you with an easy way to integrate push notifications into your Catalyst web, iOS, and Android applications. Before you send push notifications, you must follow a set of steps to register your app and enroll for Catalyst push notifications. These steps are mentioned in sequence below: 1. Register your iOS app with Apple 2. Generate a certificate from Keychain Access 3. Generate and download the APNs certificate provided by Apple 4. Convert the downloaded APNs certificate into the .p12 format 5. Enroll for iOS Push Notification Services in Catalyst 6. Register a Mobile Device for Push Notifications {{%note%}}{{%bold%}}Note:{{%/bold%}} The {{%bold%}}first five steps{{%/bold%}} are covered in detail in the {{%link href="/en/cloud-scale/help/push-notifications/ios" %}}Push Notifications- iOS help section{{%/link%}}. This iOS SDK help documentation only covers the sixth step regarding registering a device to send push notifications, as well as deregistering a device. You can implement steps 1 -5 by referring to the Push Notifications help document, before using the code given below.{{%/note%}} <br> ### Register a Mobile Device for Push Notifications After you complete the first five steps mentioned above, you can implement the following code in your iOS app that will register the device for Catalyst Push Notifications. To register an iOS mobile device as a test device, you must call the {{%badge%}}registerNotification(){{%/badge%}} method with the required parameters as shown in the following code snippet: {{%code class="language-bash line-numbers"%}}ZCatalystApp.shared.registerNotification(token: e5********21, appID: 12345678, testDevice: false) { error in if let error = error { return print("Error : \( error )") } print("Registered successfully") } {{%/code%}} **Parameters:** * {{%badge%}}token{{%/badge%}}: Device token obtained after {{%link href="/en/cloud-scale/help/push-notifications/ios/#configure-and-enroll-for-ios-push-notifications" %}}registering the device for remote push notifications with APNS{{%/link%}}. * {{%badge%}}appID{{%/badge%}}: The {{%badge%}}notificationAppID{{%/badge%}} obtained from the {{%badge%}}AppConfigurationDevelopment.plist{{%/badge%}}/ {{%badge%}}AppConfigurationProduction.plist{{%/badge%}} file generated by Catalyst for your app when you {{%link href="/en/sdk/ios/v2/setup/" %}}registered your iOS app in Catalyst{{%/link%}}. * {{%badge%}}testDevice{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices. <br> {{%note%}}{{%bold%}}Note:{{%/bold%}} You can register a maximum of 10 iOS devices as test devices to test iOS push notifications. {{%/note%}} After your device is registered, you will be able to send push notifications to your app users. The users will need to provide the permission for your app to send push notifications to them on their device, by clicking **Allow** from the permission prompt. You can learn about sending test push notifications on your registered devices from the Catalyst console from {{%link href="/en/cloud-scale/help/push-notifications/ios/#test-ios-push-notifications" %}}this help section{{%/link%}}. You can also send test notifications from the {{%link href="/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications" %}}API{{%/link%}}. Refer to the {{%link href="/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/"%}}Java{{%/link%}}, {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications/"%}}Node.js{{%/link%}}, and {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications/"%}}Python{{%/link%}} SDK documentation to learn about sending push notifications through your codebase. -------------------------------------------------------------------------------- title: "Deregister Device for Push Notifications" description: "This page describes the method to deregister a registered iOS device for remote push notifications." last_updated: "2026-03-18T07:41:08.554Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/push-notifications/deregister-device/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - iOS Push Notifications (/en/cloud-scale/help/push-notifications/ios) - Push Notifications API for iOS Devices (/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications) -------------------------------------------------------------------------------- # Deregister a Mobile Device for Push Notifications You can deregister a device that was registered for Catalyst iOS push notifications by passing the required parameters to the {{%badge%}}deregisterNotification(){{%/badge%}} method as shown below. {{%code class="language-javascript line-numbers"%}}ZCatalystApp.shared.deregisterNotification(token: e5********21, appID: 1234567, testDevice: true) { error in if let error = error { return print("Error : \( error )") } print("UnRegistered successfully") } {{%/code%}} **Parameters:** * {{%badge%}}token{{%/badge%}}: {{%badge%}}token{{%/badge%}}: Device token obtained after {{%link href="/en/cloud-scale/help/push-notifications/ios/#configure-and-enroll-for-ios-push-notifications" %}}registering the device for remote push notifications with APNS{{%/link%}}. * {{%badge%}}appID{{%/badge%}}: The {{%badge%}}notificationAppID{{%/badge%}} obtained from the {{%badge%}}AppConfigurationDevelopment.plist{{%/badge%}}/ {{%badge%}}AppConfigurationProduction.plist{{%/badge%}} file generated by Catalyst for your app when you {{%link href="/en/sdk/ios/v2/setup/" %}}registered your iOS app in Catalyst{{%/link%}}. * {{%badge%}}testDevice{{%/badge%}}: The value is set to {{%badge%}}true{{%/badge%}} for test devices, and set to {{%badge%}}false{{%/badge%}} for production devices --- ## SDK — Java — Push Notifications -------------------------------------------------------------------------------- title: "Send Push Notifications to Web Apps" description: "This page describes the method to send out remote notifications to end-users from your Java application with sample code snippets." last_updated: "2026-03-18T07:41:08.556Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/" service: "Cloud Scale" related: - Send push notifications - API (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebNotifications) - Send push notifications (/en/cloud-scale/help/push-notifications/introduction) -------------------------------------------------------------------------------- # Push Notifications {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Push notifications{{%/link%}} enables you to send remote notifications to the users of your application, even when the app is not actively running on the user device. You can send push notifications to a specific list of target users. You can include alerts, updates, or promotional content for the user to engage with your application. Before you send push notifications, you must enable it for your web app when the user allows it. You can do this by implementing {{%link href="/en/api/code-reference/cloud-scale/push-notifications/web/enable-web-push-notifications/#EnableWebNotifications" %}}this code snippet{{%/link%}} in your web client. You can also access this code from the _Push Notifications_ section in your Catalyst remote console. You must ensure that you include the {{%link href="/en/sdk/web/v4/overview" %}}web initialization script{{%/link%}}. ### Send Push Notifications to Web Apps Catalyst enables you to send push notifications to {{%bold%}}50 users{{%/bold%}} in a single function call. You can add the {{%link href="/en/cloud-scale/help/authentication/user-management/users/introduction/" %}}user IDs{{%/link%}} of all users to be notified in an array as shown below. You must then pass the array to the {{%badge%}}notifyUser(){{%/badge%}} method, along with the message string to include in the notification. This string can be plain text, HTML, or a JSON object to be parsed. #### Sample Code Snippet {{% panel_without_adjustment header="Package Imports" class="language-java line-numbers" %}}import com.zc.component.notifications.ZCWebNotification; {{% /panel_without_adjustment %}} {{%code class="language-java" scroll="set-scroll" %}}Long[] userList = new Long[5]; //Include the user IDs of all users userList[0] = 1234556789098L; userList[1] = 8704590865890L; userList[2] = 1452788189992L; userList[3] = 5344535567809L; userList[4] = 6568785589800L; ZCWebNotification.getInstance().notifyUser("Hi there! The task you scheduled has been completed.", userList); //Pass the array with the message string {{% /code%}} You can also send the notifications to users by including their email addresses instead of their User IDs. You must add the email addresses in a String array, and pass it to {{%badge%}}notifyUser(){{%/badge%}} along with the message string in a similar way. #### Sample Code Snippet {{% panel_without_adjustment header="Package Imports" class="language-java line-numbers" %}}import com.zc.component.notifications.ZCWebNotification; {{% /panel_without_adjustment %}} {{%code class="language-java" scroll="set-scroll" %}}String[] userEmailList = new String[3]; //Include the email addresses of the users userEmailList[0] = "emma@zylker.com"; userEmailList[1] = "p.boyle@zylker.com"; userEmailList[2] = "noel@zylker.com"; ZCWebNotification.getInstance().notifyUser("Hi there! The task you scheduled has been completed.", userEmailList); //Pass the array with the message string {{% /code%}} -------------------------------------------------------------------------------- title: "Send Push Notifications to Mobile Apps" description: "This page describes the method to send out remote notifications to end-users in your Android or iOS applications with sample code snippets." last_updated: "2026-03-18T07:41:08.556Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications-mobile/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) -------------------------------------------------------------------------------- # Push Notifications to Mobile Apps The {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Cloud Scale Push Notifications{{%/link%}} component enables you to send notifications to mobile applications built on the Android or iOS platforms. You can send push notifications to a specific target user by using their Catalyst User ID or email address. You can include alerts, updates, or promotional content for the user to engage with your application. To set up push notifications, you must meet the following prerequisites: 1. You must register your mobile application with Catalyst and note down the Application ID ({{%badge%}}appId{{%/badge%}}) from the console after configuring. You can opt to register your application installed in the target device either using individual platform-specific Catalyst mobile SDK methods (available in Android and iOS) or using the Flutter SDK. The {{%badge%}}appId{{%/badge%}} can be fetched by {{%link href="/en/cloud-scale/help/push-notifications/android/#configure-and-enroll-for-android-push-notifications" %}}configuring Android Push Notifications service{{%/link%}} directly in the Catalyst console. {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your Android app using Android SDK.{{%/link%}} {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your iOS app using iOS SDK.{{%/link%}} {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your mobile apps (Android or iOS) using Flutter SDK.{{%/link%}} 2. The mobile application must mandatorily use the {{%link href="/en/cloud-scale/help/authentication/introduction/" %}}Catalyst Cloud Scale Authentication{{%/link%}} component. After all the setup is done, the Catalyst user must be logged in on their device to receive the notification promptly. Once the setup is complete, you can send notifications by calling the Java SDK method below, using your generated Application ID to target the specific app. <br> ### Get Mobile Notification Instance You can create a mobile notification instance and use it to refer to a specific mobile app registered in the Catalyst console. This is done by fetching the mobile notification instance with the {{%badge%}}getInstance(){{%/badge%}} method, by passing the generated {{%badge%}}appID{{%/badge%}} as a parameter. We will use this mobile notification instance to perform additional operations with the Java SDK methods, such as sending push notifications, which will be covered in the next section. #### Sample Code Snippet {{% panel_without_adjustment header="Package Imports" class="language-java line-numbers" %}}import com.zc.component.notifications.ZCMobileNotification;{{% /panel_without_adjustment %}} {{%code class="language-java" scroll="set-scroll" %}}ZCMobileNotification mobile = ZCMobileNotification.getInstance(1234567890l);{{% /code%}} Here, {{%bold%}}1234567890{{%/bold%}} is the {{%badge%}}appID{{%/badge%}}. Alternatively, if your application involves Catalyst scope-based access, you can pass the {{%badge%}}ZCProject project{{%/badge%}} parameter along with the {{%badge%}}appID{{%/badge%}}. {{%code class="language-java" scroll="set-scroll" %}}ZCMobileNotification mobile = ZCMobileNotification.getInstance(1234567890l, ZCProject project);{{% /code%}} <br> ### Send Android Push Notifications After you have {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}registered your Android application{{%/link%}} with Catalyst for sending push notifications, you can use the {{%badge%}}sendAndroidPushNotification(){{%/badge%}} method to send push notifications to your application. You will need to pass two parameters to the {{%badge%}}sendAndroidPushNotification(){{%/badge%}} method : * {{%badge%}}pushMessage{{%/badge%}} - A {{%badge%}}ZCPush{{%/badge%}} type object with the details of the push notification message. * {{%badge%}}recipient{{%/badge%}} - The Catalyst User ID of the recipient or the email address of the recipient to whom the message has to be delivered. #### Sample Code Snippet {{% panel_without_adjustment header="Package Imports" class="language-java line-numbers" %}}import com.zc.component.notifications.ZCMobileNotification; import com.zc.component.notifications.ZCPush; import com.zc.component.notifications.ZCPushMessage; {{% /panel_without_adjustment %}} {{%code class="language-java" scroll="set-scroll" %}}ZCPushMessage notificationRes = mobile.sendAndroidPushNotification(new ZCPush() { { setMessage("This message is to test if the functionality is working fine!"); setBadgeCount(1); } }, "emma.b@zylker.com"); {{% /code%}} {{%badge%}}setBadgeCount(){{%/badge%}} sets the app icon's notification badge count to 1. You can change this value to any number you require. <br> ### Send iOS push notifications Similar to Android, after you have {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}registered your iOS application{{%/link%}} with Catalyst for sending push notifications, you can use the {{%badge%}}sendIOSPushNotification(){{%/badge%}} method to send push notifications to your application. #### Sample Code Snippet {{% panel_without_adjustment header="Package Imports" class="language-java line-numbers" %}}import com.zc.component.notifications.ZCMobileNotification; import com.zc.component.notifications.ZCPush; import com.zc.component.notifications.ZCPushMessage; {{% /panel_without_adjustment %}} {{%code class="language-java" scroll="set-scroll" %}}ZCPushMessage notificationRes = mobile.sendIOSPushNotification(new ZCPush() { { setMessage("This message is to test if the functionality is working fine!"); setBadgeCount(1); } }, "emma.b@zylker.com"); {{% /code%}} --- ## SDK — Node JS — Push Notifications -------------------------------------------------------------------------------- title: "Get Push Notifications Instance" description: "This page describes the method to send out remote notifications to end-users from your NodeJS application with sample code snippets." last_updated: "2026-03-18T07:41:08.558Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/push-notifications/get-component-instance/" service: "Cloud Scale" related: - Push notifications (/en/cloud-scale/help/push-notifications/introduction) -------------------------------------------------------------------------------- # Push Notifications {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Push notifications{{%/link%}} enables you to send remote notifications to the users of your application, even when the app is not actively running on the user device. You can send push notifications to a specific list of target users. You can include alerts, updates, or promotional content for the user to engage with your application. Before you send push notifications, you must enable it for your web app when the user allows it. You can do this by implementing {{%link href="/en/api/code-reference/cloud-scale/push-notifications/web/enable-web-push-notifications/#EnableWebNotifications" %}}this code snippet{{%/link%}} in your web client. You can also access this code from the {{%badge%}}Push Notifications{{%/badge%}} section in your Catalyst remote console. You must ensure that you include the {{%link href="/en/sdk/web/v4/overview" %}}web initialization script{{%/link%}}. ### Get Component Instance You can create a {{%badge%}}pushNotification{{%/badge%}} component reference as shown below. This will not fire a server-side call. We will refer to this component instance while sending push notifications. {{%code class="language-javascript" scroll="set-scroll" %}}//Get a pushNotification instance const pushNotification = app.pushNotification();{{% /code%}} -------------------------------------------------------------------------------- title: "Send Notifications to Web Apps" description: "This page describes the method to send out remote notifications to end-users from your NodeJS application with sample code snippets." last_updated: "2026-03-18T07:41:08.558Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications/" service: "Cloud Scale" related: - Send Notifications - API (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebNotifications) - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) -------------------------------------------------------------------------------- # Send Push Notifications to Web Apps Catalyst enables you to send push notifications to {{%bold%}}50 users{{%/bold%}} in a single function call. You can add the {{%link href="/en/cloud-scale/help/authentication/user-management/users/introduction/" %}}user IDs{{%/link%}} of all users to be notified in an array as shown below. You must then pass the array to the {{%badge%}}sendNotification(){{%/badge%}} method, along with the message string to include in the notification. This string can be plain text, HTML, or a JSON object to be parsed. The {{%badge%}}pushNotification{{%/badge%}} instance used here is the {{%link href="/en/sdk/nodejs/v2/cloud-scale/push-notifications/get-component-instance/" %}}component instance{{%/link%}}. {{%code class="language-javascript" scroll="set-scroll" %}}var userList = []; //Include the user IDs of all users userList.push(1234556789098); userList.push(6756467677890); userList.push(3557866876887); catalystApp.pushNotification().web().sendNotification("Hi there! The task you scheduled has been completed.", userList); //Pass the array with the message string{{% /code%}} You can also send the notifications to users by including their email addresses instead of their User IDs. You must add the email addresses in an array, and pass it to {{%badge%}}sendNotification(){{%/badge%}} along with the message string in the same way. {{%code class="language-javascript" scroll="set-scroll" %}}var userList = []; //Include the email addresses of the users userList.push("emma@zylker.com"); userList.push("p.boyle@zylker.com"); userList.push("noel@zylker.com"); catalystApp.pushNotification().web().sendNotification("Hi there! The task you scheduled has been completed.", userList); //Pass the array with the message string{{% /code%}} -------------------------------------------------------------------------------- title: "Send Notifications to Mobile Apps" description: "This page describes the method to send out remote notifications to end-users from your NodeJS application with sample code snippets." last_updated: "2026-03-18T07:41:08.558Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications-mobile/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) -------------------------------------------------------------------------------- # Push Notifications to Mobile Apps The {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Cloud Scale Push Notifications{{%/link%}} component enables you to send notifications to mobile applications built on the Android or iOS platforms. You can send push notifications to a specific target user by using their Catalyst User ID or email address. You can include alerts, updates, or promotional content for the user to engage with your application. To set up push notifications, you must meet the following prerequisites: 1. You must register your mobile application with Catalyst and note down the Application ID ({{%badge%}}appId{{%/badge%}}) from the console after configuring. You can opt to register your application installed in the target device either using individual platform-specific Catalyst mobile SDK methods (available in Android and iOS) or using the Flutter SDK. The {{%badge%}}appId{{%/badge%}} can be fetched by {{%link href="/en/cloud-scale/help/push-notifications/android/#configure-and-enroll-for-android-push-notifications" %}}configuring Android Push Notifications service{{%/link%}} directly in the Catalyst console. {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your Android app using Android SDK.{{%/link%}} {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your iOS app using iOS SDK.{{%/link%}} {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your mobile apps (Android or iOS) using Flutter SDK.{{%/link%}} 2. The mobile application must mandatorily use the {{%link href="/en/cloud-scale/help/authentication/introduction/" %}}Catalyst Serverless Authentication{{%/link%}} component. After all the setup is done, the Catalyst user must be logged in on their device to receive the notification promptly. Once the setup is complete, you can send notifications by calling the Node.js SDK method below, using your generated Application ID to target the specific app. ### Get Mobile Notification Instance You can create a mobile notification instance and use it to refer to a specific mobile app registered in the Catalyst console. This is done by fetching the mobile notification instance with the {{%badge%}} pushNotification().mobile() {{%/badge%}} method, by passing the generated {{%badge%}}appID{{%/badge%}} as a parameter. We will use this mobile notification instance to perform additional operations with the Node.js SDK methods, such as sending push notifications, which will be covered in the next section. {{%code class="language-javascript"%}}const notification = app.pushNotification().mobile("1234567890");{{%/code%}} Here, {{%bold%}}1234567890{{%/bold%}} is the {{%badge%}}appID{{%/badge%}}. Alternatively, if your application involves Catalyst scope-based access, you can pass the {{%badge%}}ZCProject project{{%/badge%}} parameter along with the {{%badge%}}appID{{%/badge%}}. {{%link href="/en/sdk/nodejs/v2/overview/#initialize-sdk-with-scopes" %}}Learn more about Catalyst SDK Scopes{{%/link%}}. {{%code class="language-javascript" scroll="set-scroll" %}}const notification = app.pushNotification().mobile("1234567890", ZCProject project);{{% /code%}} #### Send Android Push Notifications After you have {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}registered your Android application{{%/link%}} with Catalyst for sending push notifications, you can use the {{%badge%}}sendAndroidNotification(){{%/badge%}} method to send push notifications to your application. You will need to pass two parameters to the {{%badge%}}sendAndroidNotification(){{%/badge%}} method: {{%code class="language-javascript" scroll="set-scroll" %}}MobileNotification.sendAndroidNotification(notifyObj: ICatalystPushDetails, recipient: string): Promise<ICatalystMobileNotification>{{% /code%}} * {{%badge%}}notifyObj{{%/badge%}} - An object with the details of the push notification message. * {{%badge%}}recipient{{%/badge%}} - The Catalyst User ID of the recipient or the email address of the recipient to whom the message has to be delivered. You can use the below code snippet to call the {{%badge%}}sendAndroidNotification(){{%/badge%}} method in your application: {{%code class="language-javascript" scroll="set-scroll" %}}notification.sendAndroidNotification({ message: 'This message is to test if the functionality is working fine!', badge_count: 1 }, 'emma.b@zylker.com');{{% /code%}} {{%badge%}}badge_count{{%/badge%}} sets the app icon's notification badge count to 1. You can change this value to any number you require. #### Send iOS push notifications After you have {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}registered your iOS application{{%/link%}} with Catalyst for sending push notifications, you can use the {{%badge%}}sendIOSNotification(){{%/badge%}} method to send push notifications to your application. You will need to pass two parameters to the {{%badge%}}sendIOSNotification(){{%/badge%}} method: {{%code class="language-java"%}}MobileNotification.sendIOSNotification(notifyObj: ICatalystPushDetails, recipient: string): Promise<ICatalystMobileNotification>{{%/code%}} You can use the below code snippet to call the {{%badge%}}sendIOSNotification(){{%/badge%}} method in your application: {{%code class="language-java" scroll="set-scroll" %}}notification.sendIOSNotification({ message: 'This message is to test if the functionality is working fine!', badge_count: 1 }, 'emma@zylker.com');{{% /code%}} --- ## SDK — Python — Push-Notifications -------------------------------------------------------------------------------- title: "Get Push Notifications Instance" description: "This page describes the method to send out remote notifications to end-users from your Python application with sample code snippets." last_updated: "2026-03-18T07:41:08.560Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/" service: "Cloud Scale" related: - Push Notifications Help (/en/cloud-scale/help/push-notifications/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Push Notifications {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Cloud Scale Push notifications{{%/link%}} enables you to send remote notifications to the users of your application, even when the app is not actively running on the user device. You can send push notifications to a specific list of target users. You can include alerts, updates, or promotional content for the user to engage with your application. Before you send push notifications, you must enable it for your web app when the user allows it. You can do this by implementing {{%link href="/en/api/code-reference/cloud-scale/push-notifications/web/enable-web-push-notifications/#EnableWebNotifications" %}}this code snippet{{%/link%}} in your web client. You can also access this code from the {{%badge%}}Push Notifications{{%/badge%}} section in your Catalyst remote console. You must ensure that you include the {{%link href="/en/sdk/web/v4/overview" %}}web initialization script{{%/link%}}. #### Get a Component Instance A component instance is an object that can be used to access the pre-defined configurations specific to a particular component. This process will not fire a server-side call. The {{%badge%}}app{{%/badge%}} reference used in the code below is the {{%link href="/en/sdk/python/v1/setup/#initializing-the-sdk" %}}Python object{{%/link%}} returned as a response during SDK initialization. You can create a new {{%badge%}}push_notification_service{{%/badge%}}instance as shown below. We will refer to this component instance while sending push notifications from your Catalyst application. {{%code class="language-python" scroll="set-scroll" %}}#Get push notification instance push_notification_service = app.push_notification() {{% /code%}} -------------------------------------------------------------------------------- title: "Send Notifications to Web Apps" description: "This page describes the method to send out remote notifications to end-users from your Python application with sample code snippets." last_updated: "2026-03-18T07:41:08.560Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications/" service: "Cloud Scale" related: - Send Notifications - API (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebNotifications) - Push Notifications Help (/en/cloud-scale/help/push-notifications/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Send Push Notifications to Web Apps Catalyst enables you to send push notifications to {{%bold%}}50 users{{%/bold%}} in a single function call. You can add the {{%link href="/en/cloud-scale/help/authentication/user-management/users/introduction/#authentication-and-user-basics" %}}user IDs{{%/link%}} of all users to be notified in an array as shown below. You must then pass the array to the {{%badge%}}send_notification(){{%/badge%}} method, along with the message string to include in the notification. This string can be plain text, HTML, or a JSON object to be parsed. To know more about the component instance {{%badge%}}push_notification_service{{%/badge%}} used below, please refer to {{%link href="/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/" %}}this help section{{%/link%}}. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>{{%badge%}}notification_message{{%/badge%}}</td> <td>String</td> <td>A {{%bold%}}Mandatory{{%/bold%}} parameter. Will store the notification message.</td> </tr> <tr> <td>{{%badge%}}user_list{{%/badge%}}</td> <td>Array</td> <td>A {{%bold%}}Mandatory{{%/bold%}} parameter. Will store the IDs or email addresses of the users to whom notification has to be sent.</td> </tr> </tbody> </table> {{%code class="language-python" scroll="set-scroll" %}}#Send push notifications using userID's push_notification_service = app.push_notification() user_list = [1234556789098, 6756467677890] logging.info(push_notification_service.web().send_notification("Hi there! The task you scheduled has been completed.", user_list)) {{% /code%}} You can also send the notifications to users by including their email addresses instead of their User IDs. You must add the email addresses in an array, and pass it to {{%badge%}}send_notification(){{%/badge%}} along with the message string in the same way. {{%code class="language-python" scroll="set-scroll" %}}#Send push notifications using user email addresses's push_notification_service = app.push_notification() user_list = ["amelia.burrows@gmail.com", "emma.hillary@gmail.com"] logging.info(push_notification_service.web().send_notification("Hi there! The task you scheduled has been completed.", user_list)) {{% /code%}} {{%note%}}{{%bold%}}Info :{{%/bold%}} Refer to the {{%link href="/en/sdk/python/v1/sdk-scopes" %}}SDK Scopes table{{%/link%}} to determine the required permission level for performing the above operation.{{%/note%}} -------------------------------------------------------------------------------- title: "Send Notifications to Mobile Apps" description: "This page describes the method to send out remote notifications to end-users from your Python application with sample code snippets." last_updated: "2026-03-18T07:41:08.560Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications-mobile/" service: "Cloud Scale" related: - Push Notifications Help (/en/cloud-scale/help/push-notifications/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Push Notifications to Mobile Apps The {{%link href="/en/cloud-scale/help/push-notifications/introduction" %}}Catalyst Cloud Scale Push Notifications{{%/link%}} component enables you to send notifications to mobile applications built on the Android or iOS platforms. You can send push notifications to a specific target user by using their Catalyst User ID or email address. You can include alerts, updates, or promotional content for the user to engage with your application. To set up push notifications, you must meet the following prerequisites: 1. You must register your mobile application with Catalyst and note down the Application ID ({{%badge%}}appId{{%/badge%}}) from the console after configuring. You can opt to register your application installed in the target device either using individual platform-specific Catalyst mobile SDK methods (available in Android and iOS) or using the Flutter SDK. The {{%badge%}}appId{{%/badge%}} can be fetched by {{%link href="/en/cloud-scale/help/push-notifications/android/#configure-and-enroll-for-android-push-notifications" %}}configuring Android Push Notifications service{{%/link%}} directly in the Catalyst console. {{%link href="/en/sdk/android/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your Android app using Android SDK.{{%/link%}} {{%link href="/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your iOS app using iOS SDK.{{%/link%}} {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}Learn about registering your mobile apps (Android or iOS) using Flutter SDK.{{%/link%}} 2. The mobile application must mandatorily use the {{%link href="/en/cloud-scale/help/authentication/introduction/" %}}Catalyst Serverless Authentication{{%/link%}} component. After all the setup is done, the Catalyst user must be logged in on their device to receive the notification promptly. Once the setup is complete, you can send notifications by calling the Python SDK method below, using your generated Application ID to target the specific app. ### Get Mobile Notification Instance You can create a mobile notification instance and use it to refer to a specific mobile app registered in the Catalyst console. This is done by fetching the mobile notification instance with the {{%badge%}}push_notification().mobile(){{%/badge%}} method, by passing the generated {{%badge%}}appID{{%/badge%}} as a parameter. We will use this mobile notification instance to perform additional operations with the Python SDK methods, such as sending push notifications, which will be covered in the next section. {{%code class="language-javascript"%}}mobile_notification = app.push_notification().mobile("1234567890"){{%/code%}} Here, {{%bold%}}1234567890{{%/bold%}} is the {{%badge%}}appID{{%/badge%}}. Alternatively, if your application involves Catalyst scope-based access, you can pass the {{%badge%}}ZCProject project{{%/badge%}} parameter along with the {{%badge%}}appID{{%/badge%}}. {{%link href="/en/sdk/python/v1/sdk-scopes/" %}}Learn more about Catalyst SDK Scopes{{%/link%}}. {{%code class="language-javascript" scroll="set-scroll" %}}mobile_notification = app.push_notification().mobile("1234567890", ZCProject project){{% /code%}} #### Send Android Push Notifications After you have {{%link href="/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/" %}}registered your Android application{{%/link%}} with Catalyst for sending push notifications, you can use the {{%badge%}}send_android_notification(){{%/badge%}} method to send push notifications to your application. You will need to pass two parameters to the {{%badge%}}send_android_notification(){{%/badge%}} method: * {{%badge%}}notify_obj{{%/badge%}} - An object with the details of the push notification message. * {{%badge%}}recipient{{%/badge%}} - The Catalyst User ID of the recipient or the email address of the recipient to whom the message has to be delivered. You can use the below code snippet to call the {{%badge%}}send_android_notification(){{%/badge%}} method in your application: {{%code class="language-javascript" scroll="set-scroll" %}}mobile_notification.send_android_notification( notify_obj={"message": "This message is to test if the functionality is working fine!", "badge_count": 1}, recipient="emma.b@zylker.com" ){{%/code%}} {{%badge%}}badge_count{{%/badge%}} sets the app icon's notification badge count to 1. You can change this value to any number you require. #### Send iOS push notifications Similar to Android, after you have registered your iOS application with Catalyst for sending push notifications, you can use the {{%badge%}}send_ios_notification(){{%/badge%}} method to send push notifications to your application. {{%code class="language-python"%}}mobile_notification.send_ios_notification( notify_obj={"message": "test_notification", "badge_count": 1}, recipient="testuser@zylker.com" ){{%/code%}} --- ## SDK — Web — Push Notifications -------------------------------------------------------------------------------- title: "Push Notifications" description: "Push notifications can be created using Catalyst Web SDK" last_updated: "2026-03-18T07:41:08.562Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/push-notifications/get-component-instance/" service: "Cloud Scale" related: - Mobile Device Management (/en/cloud-scale/help/mobile-device-management/introduction) - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - Push Notification - API (/en/api/code-reference/cloud-scale/push-notifications/web/enable-web-push-notifications/#EnableWebNotification) -------------------------------------------------------------------------------- # Push Notifications {{%link href="/en/cloud-scale/help/push-notifications/introduction/"%}}Push notifications{{%/link%}} are remote notifications that an application provider can send to the users of their application, even when the application is not actively running on the user device. Catalyst provides you with an easy way to integrate push notifications into your Catalyst web and iOS applications. ### Get a Component Instance The {{%badge%}}notification{{%/badge%}} instance can be created as shown below. {{%note%}}{{%bold%}}Note{{%/bold%}}: The promise returned here will be resolved to an object in which the {{%bold%}}content{{%/bold%}} key contains the output of the executed function.{{%/note%}} {{%code class="language-javascript"%}}// Get a notification instance var notification = catalyst.notification; {{%/code%}} -------------------------------------------------------------------------------- title: "Register a Client" description: "This Web SDK script allows you to register a client device to receive push notifications from your Catalyst web application." last_updated: "2026-03-18T07:41:08.562Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/push-notifications/register-client/" service: "Cloud Scale" related: - Push Notifications (/en/cloud-scale/help/push-notifications/introduction) - Push Notification - API (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications) -------------------------------------------------------------------------------- # Register a Client for Receiving Web Push Notifications The {{%badge%}}enableNotification(){{%/badge%}} method registers a client for receiving {{%link href="/en/cloud-scale/help/push-notifications/introduction/"%}}push notifications{{%/link%}} from your web application. The {{%badge%}}notification{{%/badge%}} reference used in the code snippet below is the {{%link href="/en/sdk/web/v4/cloud-scale/push-notifications/get-component-instance"%}}component instance{{%/link%}} created earlier. The {{%badge%}}enableNotification(){{%/badge%}} method returns a promise which is resolved to an object. After resolving the promise, you can handle the notification message through the {{%badge%}}messagehandler{{%/badge%}}. {{%code class="language-javascript"%}}//Register the client var notification = catalyst.notification; notification.enableNotification().then((response) => { //Create a handler for the message when received catalyst.notification.messageHandler = (msg) => { //Action to be performed when the message is generated } }); {{%/code%}} You can then send push notifications to the registered client either from the {{%link href="/en/cloud-scale/help/push-notifications/web"%}}Catalyst console{{%/link%}}, or through {{%link href="/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications"%}}this API{{%/link%}}.