A collection of ready-to-run iOS sample projects demonstrating various features of the Pushwoosh iOS SDK. Each project is self-contained and can be used as a reference or starting point for your own implementation.
| Requirement | Version |
|---|---|
| iOS | 10.0+ |
| Xcode | 14.0+ |
| Swift | 5.0+ |
| Device | Physical device required (push notifications don't work in Simulator) |
-
Clone the repository
git clone https://github.com/Pushwoosh/pushwoosh-quickstart-ios.git cd pushwoosh-quickstart-ios -
Choose a sample project and open it in Xcode
-
Configure your credentials (see Configuration)
-
Build and run on a physical device
Rich, interactive custom notification banners with stunning visuals
Features:
- Full-screen background image with gradient overlay
- Interactive UI with styled action buttons
- Thumbnail support in collapsed notification
- Custom expanded view on long press
- Automatic fallback for failed image loading
Key Components:
- Notification Content Extension
- Notification Service Extension
PushwooshContentExtensionHelperfor easy integration
Advanced SDK customization options and configurations
Demonstrates how to customize various aspects of the Pushwoosh SDK behavior:
| Feature | Description |
|---|---|
| Foreground Alerts | Control notification display when app is in foreground |
| Log Level | Configure SDK logging verbosity |
| In-App Tracking | Track user interactions with in-app messages |
| Geozones | Location-based push notifications |
| Rich Media Queue | Queue multiple Rich Media pages for sequential display |
| Custom Notification Delegate | Handle notifications with custom UNUserNotificationCenterDelegate |
Track push notification delivery with Notification Service Extension
Features:
- Accurate delivery tracking to Pushwoosh analytics
- Notification Service Extension setup
- Debug instructions for extension testing
Debugging the Extension:
- Run your app on a device
- Go to Debug > Attach to Process by PID or Name...
- Enter your Notification Service Extension name
- Send a notification with
"mutable-content": 1
Actionable notifications with custom buttons
Features:
- Custom notification actions and categories
- Handle button taps with
UNUserNotificationCenterDelegate - Category-based action routing
Example:
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
let identifier = response.actionIdentifier
let category = response.notification.request.content.categoryIdentifier
if category == "YOUR_CATEGORY" {
switch identifier {
case "action1":
// Handle first action
case "action2":
// Handle second action
default:
break
}
}
completionHandler()
}Each sample project requires minimal configuration:
In the project's Info.plist, update the Pushwoosh_APPID key:
<key>Pushwoosh_APPID</key>
<string>XXXXX-XXXXX</string>Replace XXXXX-XXXXX with your Application Code from the Pushwoosh Control Panel.
Change the bundle identifier to match your provisioning profile:
- Select the project in Xcode
- Go to Signing & Capabilities
- Update Bundle Identifier
- Select your Team and signing certificate
Ensure your project has the Push Notifications capability:
- Select your target
- Go to Signing & Capabilities
- Click + Capability
- Add Push Notifications
| Resource | Link |
|---|---|
| iOS SDK Documentation | docs.pushwoosh.com |
| iOS SDK Repository | github.com/Pushwoosh/pushwoosh-ios-sdk |
| API Reference | pushwoosh.github.io/pushwoosh-ios-sdk |
| Sample Application | github.com/Pushwoosh/pushwoosh-ios-sample |
Need help? We're here for you:
- Documentation: docs.pushwoosh.com
- Community: community.pushwoosh.com
- Email: [email protected]
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by Pushwoosh
