Device Classification
Understand how ContextPush classifies devices based on Background Operation Time eligibility.
Overview
Context-aware delivery requires Background Operation Time (BOT), a capability that iOS grants only under specific system conditions. This is not a setting the app can toggle — it is a platform-level capability, similar to how CarPlay requires a supported vehicle or ProMotion requires specific hardware.
Because BOT is not available on all devices, ContextPush continuously monitors background behavior and classifies each device into one of three categories. This classification determines whether context-aware delivery can be used for a given user.
Classification Categories
Available
available
Background Operation Time is likely available on this device, enabling context-aware delivery.
Unavailable
unavailable
Background Operation Time is likely not available on this device. Messages should be sent through your existing push infrastructure.
Unknown
unknown
Not enough data has been collected yet to make a prediction for this device.
Classification is a continuous process. Devices can move between categories as new data becomes available. For example, a device might transition from unknown to available once enough background activity has been observed.
All devices start as unknown. Typically, devices receive their first classification within the first day of SDK integration. Once the classification process has stabilized, you can expect roughly 30–40% of active devices to be classified as available.
How Classification Works
ContextPush uses background processing and silent push notifications to observe each device's background behavior over time. By analyzing ping patterns and device behavior, a statistical model determines whether the device can reliably execute tasks in the background — which is a prerequisite for context-aware delivery.
Even for devices classified as unavailable or unknown, ContextPush continues to send lightweight background probes. This ensures that if a device's behavior changes (e.g., the user starts using the app more frequently), the classification will update accordingly.
Recommended Integration
The classification system is designed to help you route messages through the optimal delivery path for each user:
availabledevices — Send messages through ContextPush for context-aware delivery.unavailableandunknowndevices — Send messages through your existing push infrastructure (e.g., Firebase, APNs, your CRM platform).
This approach ensures that every user receives their notification through the best available channel, while ContextPush focuses its optimization on the users where it will have the biggest impact.
Typical Setup
Integrate the ContextPush SDK
Follow the standard integration guide to add the ContextPush SDK to your iOS app. The SDK handles all background probing and token registration automatically.
Configure a Device Transition Webhook
Provide us with a webhook URL and shared secret so we can notify your backend whenever a device's classification changes. See Analytics & Reporting for the webhook format.
Why This Matters
Maximize impact — ContextPush delivers the most value for users whose devices support background execution. These tend to be your most engaged users who already drive the majority of your revenue and engagement.
Reduce risk — By only routing eligible users through ContextPush, you avoid any chance of degraded delivery for users whose devices cannot support context-aware timing.
Keep control — You maintain your existing sending logic and optimizations (e.g., message reordering, personalization) for users where ContextPush cannot add value.
Device Transition Webhook
Whenever a device's classification changes, ContextPush sends a webhook notification to your configured endpoint. This allows you to keep your user attributes in sync in real time.
For full details on the webhook format, headers, and implementation notes, see:
Device Transition WebhookLast updated
Was this helpful?