The Airship SDK can be built to support tvOS applications. Because of the difference in the underlying design between tvOS and iOS - only a subset of Airship’s iOS features are available on tvOS.
tvOS currently supports the following features:
- Content-available Pushes
- Analytics (Including Airship Real-Time Data Streaming and Performance Analytics)
- Minimum iOS version supported
- Requires Xcode
SDK Installation and set up
The Airship SDK can be installed using CocoaPods, Swift Package Manager, Carthage, or manually. Aside from differences in feature support, the process for installing and configuring the Airship SDK for tvOS devices is the same as iOS devices. Refer to the iOS SDK Setup guide for further set up instructions.
The tvOS sample is written in Swift and can be used to test and explore the supported feature set with minimal configuration steps. To get started with the tvOS sample , check out the tvOS Sample readme for step-by-step setup instructions.
Push notifications on the tvOS platform are more restricted to promote a less distracting user experience. On tvOS, user-visible notifications are restricted to badges. Badge operations in tvOS are the same as in iOS. For more information about badge operations in tvOS see Badges in iOS.
Content-available pushes are also available for performing content fetching and other silent operations in the background.
Handling Push Notifications
Handling notifications on tvOS is nearly identical to iOS. tvOS handles push notifications received outside the application, but if a notification is received while the app is active, it’s up to the application developer to handle it.
The tvOS sample UI includes a complete implementation of the UAPushNotificationDelegate protocol that handles badges and content-available pushes. However, if you wish to customize this behavior, you can provide your own implementation.
Airship on tvOS fully supports analytics for tvOS implementations written in Swift. For tvOS implementations written in TVML, screen tracking is currently unsupported. For more information see Analytics and Reporting.