|
6 | 6 |
|
7 | 7 | `iterable-ios-sdk` is an Objective-C implementation of an iOS client for Iterable, for iOS versions 7.0 and higher. |
8 | 8 |
|
| 9 | +# Setting up a push integration in Iterable |
| 10 | + |
| 11 | +Before you even start with the SDK, you will need to set up a push integration in Iterable. This allows Iterable to communicate on your behalf with Apple's Push Notification Service. |
| 12 | + |
| 13 | +If you haven't yet done so, you will need to enable push notifications for your application. This can be done by toggling `Push Notifications` under your target's `Capabilities` in Xcode. You can also do it directly in the app center on Apple's member center; go to `Identifiers -> App IDs -> select your app`. You should see `Push Notifications` under `Application Services`. Hit `Edit` and enable `Push Notifications`. |
| 14 | + |
| 15 | +You will also need to generate an SSL certificate and private key for use with the push service. See the links at the end of this section for more information on how to do that. |
| 16 | + |
| 17 | +Once you have your APNS certificates set up, go to `Integrations -> Mobile Push` in Iterable. When creating an integration, you will need to pick a name and a platform. The name is entirely up to you; it will be the `appName` when you use `registerToken` in our SDK. The platform can be `APNS` or `APNS_SANDBOX`; these correspond to the production and sandbox platforms. Your application will generate a different token depending on whether it is built using a development certificate or a distribution provisioning profile. |
| 18 | + |
| 19 | +For more information, see |
| 20 | + |
| 21 | +* [Configuring Push Notifications](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html#//apple_ref/doc/uid/TP40012582-CH26-SW6) |
| 22 | +* [Creating Certificates](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW32) |
| 23 | +* [Amazon's Guide to Creating Certificates](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html) |
| 24 | + |
9 | 25 | # Automatic Installation (via CocoaPods) |
10 | 26 |
|
11 | 27 | Iterable supports [CocoaPods](https://cocoapods.org) for easy installation. If you don't have it yet, you can install it with `Ruby` by running: |
@@ -86,6 +102,16 @@ If your project is built with `Swift`, you will need a `bridging header`. See [h |
86 | 102 |
|
87 | 103 | Congratulations! You can now send remote push notifications to your device from Iterable! |
88 | 104 |
|
| 105 | +# Receiving Remote Push Notifications |
| 106 | + |
| 107 | +Application Running? | In foreground? | Notification Shown? | Delegate | When | Notes |
| 108 | +--- | --- | --- | --- | --- | --- |
| 109 | +Yes | Yes | No | `application:didReceiveRemoteNotification:` | Immediately | call `trackPushOpen` and pass in `userInfo` |
| 110 | +Yes | No | Yes | `application:didReceiveRemoteNotification:` | On Notification Click | call `trackPushOpen` and pass in `userInfo` |
| 111 | +No | N/A | Yes | `application:didFinishLaunchingWithOptions:` | On Notification Click | instantiate an `IterableAPI` and pass in `launchOptions`; a push open will be tracked automatically |
| 112 | + |
| 113 | +For more information about local and remote notifications, and which callbacks will be called under which circumstances, see [Local and Remote Notifications in Depth](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/WhatAreRemoteNotif.html#//apple_ref/doc/uid/TP40008194-CH102-SW1). |
| 114 | + |
89 | 115 | # Additional Information |
90 | 116 |
|
91 | 117 | See our [setup guide](http://support.iterable.com/hc/en-us/articles/204780589-Push-Notification-Setup-iOS-and-Android-) for more information. |
|
0 commit comments