Subscriptions
Subscriptions are the foundation of SuperFCM's push notification system. They represent the connection between your app and your users' devices, enabling you to deliver targeted notifications to specific devices.
What is a Subscription?
In SuperFCM, a subscription is created whenever a user installs your app and initializes the SuperFCM SDK. Each subscription contains essential information about the device, user preferences, and custom properties that you can use for segmentation, as well as the unique Firebase Cloud Messaging Token (FCM Token) that allows you to send a message to that particular device. With every launch of your app on a user's device the subscription is automatically updated to the latest properties.
Subscription Properties
Device Information
Property | Description |
---|---|
Platform | Indicates whether the device is running iOS , Android , or web platform. |
Device Manufacturer | The company that manufactured the device (e.g., Apple , Samsung , Google). |
Device Name | The model name of the device (e.g., iPhone 15 Pro , Pixel 7). |
FCM Token | The unique Firebase Cloud Messaging identifier for this device. |
Permission Status | Indicates whether push notifications are allowed (granted ), blocked (denied ), or not yet determined for this device (undetermined ). |
User Information
Property | Description |
---|---|
Subscription ID | The unique identifier for this device subscription within SuperFCM. |
External ID | Your own identifier that can link this device to a specific user in your system. |
Language | The device's language setting in ISO-639-1 format (e.g., en , de ). |
Timezone | The device's IANA timezone (e.g., America/New_York , Europe/Berlin ). |
Country | The user's country in ISO 3166-1 Alpha-2 format (e.g., US , DE ). |
Test Flag | When enabled, marks this device as a test subscription. |
Version Information
Property | Description |
---|---|
Build Number | The numeric build identifier of your app installed on this device (e.g. 512 ). |
Version | The version string of your app (e.g., 1.2.3 ). |
Activity Information
Property | Description |
---|---|
First Seen | The date and time when this subscription was first created. |
Last Seen | The most recent date and time when this device connected to SuperFCM. |
Session Count | The number of app sessions recorded for this device. |
Custom Properties
Property | Description |
---|---|
Custom Properties | Key-value pairs you define to store any relevant information about the user. SuperFCM supports boolean , string , and numeric values. |
Custom properties enable powerful audience segmentation. You can use properties to store any information relevant to your notification targeting. While you can track custom properties without any special setup, using them for targeting requires registering them for use.
Property names must use only letters, numbers, and underscores. Both snake_case (e.g., last_purchase_date
) and camelCase (e.g., lastPurchaseDate
) formats are supported, as long as they follow these character rules.
Subscription Expiry
Firebase Cloud Messaging (FCM) tokens expire after 270 days of inactivity. Once expired, the token can no longer be used to deliver messages to the device.
To avoid sending to unreachable devices, SuperFCM automatically deletes subscriptions after 270 days of inactivity. Subscriptions are also removed when delivery fails due to an invalid or unregistered token.
Subscription Refresh
Firebase automatically refreshes tokens for active devices. When this happens, the SuperFCM SDK detects and updates the subscription with the new token—provided the subscription was previously stored in the device’s local cache.
This behavior ensures tokens remain current and avoids unexpected delivery issues.
User Identification with External IDs
Link subscriptions to your user IDs to enable cross-device tracking and user-level targeting. This allows you to:
- Track a user across multiple devices
- Send notifications to all devices belonging to the same user
- Maintain consistent custom properties across devices