To integrate Pushwoosh on iOS, several special capabilities and configurations are required:
1. Installation and Setup
To integrate the Pushwoosh SDK into your iOS application, you can use either the Swift Package Manager or CocoaPods. This involves adding the Pushwoosh package or dependency to your project and running the necessary commands to install it[1][8].2. Capabilities in Xcode
In the Signing & Capabilities section of your Xcode project, you need to add the following capabilities:- Push Notifications: This is essential for receiving push notifications.
- Background Modes: After adding this capability, ensure that Remote notifications is checked. This allows your app to receive notifications even when it's not running in the foreground.
- If you plan to use Time Sensitive Notifications (available in iOS 15 and later), you should also add the Time Sensitive Notifications capability[1].
3. Info.plist Configuration
In your app's `Info.plist` file, you need to set two keys:- Pushwoosh_APPID: Set this to your Pushwoosh Application Code.
- PW_API_TOKEN: Set this to your Pushwoosh API Token[1].
4. Initialization Code
You must add initialization code to your `AppDelegate` class. This typically involves registering for push notifications and setting up the Pushwoosh SDK[1].5. Token-Based or Certificate-Based Configuration
For communication with Apple Push Notification Service (APNs), you can use either token-based or certificate-based authentication:- Token-Based Configuration: Obtain an Encryption Key and Key ID from Apple, then configure these in Pushwoosh. You'll need to upload the signing key file (.p8) and enter your Team ID and Bundle ID[2].
- Certificate-Based Configuration: Generate a certificate request, obtain a push certificate (.p12), and configure these in Pushwoosh[5].
6. Live Activities and Interactive Notifications
Pushwoosh supports iOS Live Activities, which allow users to see live information and take quick actions. You can manage these using methods like `startLiveActivityWithToken:` and `stopLiveActivity`[3][9].Additionally, Interactive Push Notifications enable users to interact directly with notifications, providing actionable options like replying to messages or completing tasks. This requires setting up notification categories in the Pushwoosh Control Panel[4].
7. Customization Options
Pushwoosh offers various customization options, including deep linking, in-app purchase tracking, rich media notifications, and custom push sounds. These features can enhance user engagement and provide a more personalized experience[10].Citations:
[1] https://docs.pushwoosh.com/developer/pushwoosh-sdk/ios-sdk/setting-up-pushwoosh-ios-sdk/basic-integration-guide/
[2] https://docs.pushwoosh.com/developer/first-steps/connect-messaging-services/ios-configuration/ios-token-based-configuration/
[3] https://blog.pushwoosh.com/blog/ios-live-activities/
[4] https://docs.pushwoosh.com/product/messaging-channels/push-notifications/ios-interactive-push/
[5] https://docs.pushwoosh.com/developer/first-steps/connect-messaging-services/ios-configuration/ios-platform-configuration/
[6] https://stackoverflow.com/questions/46881252/ios-11-push-notifications-do-not-work-with-pushwoosh
[7] https://www.pushwoosh.com/products/ios-web-push-notifications/
[8] https://docs.pushwoosh.com/developer/pushwoosh-sdk/ios-sdk/setting-up-pushwoosh-ios-sdk/
[9] https://www.youtube.com/watch?v=jRrDh_pIZCE
[10] https://docs.pushwoosh.com/developer/pushwoosh-sdk/ios-sdk/customizing-ios-sdk/