Managing Notifications for iOS
Detailed in this page is how you can set up push notifications as well as manage in-app notifications for new in-app chat messages for your iOS apps.
Push Notifications
You can enable Instabug to send your users push notifications each time you send them a new message.
Uploading Your Push Certificate
Follow the steps below to upload your push certificate to your Instabug dashboard.
- Follow this tutorial to generate a push certificate and export it to a
.pem
file. - Go to the Push Notifications page on your Instabug dashboard and upload your
.pem
file. - Select whether the certificate you're uploading is for development or production, and enter the pass phrase if you set one.
Handling Instabug Notifications
In application:didRegisterForRemoteNotificationsWithDeviceToken:
, pass the token you get to Instabug.
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Replies.didRegisterForRemoteNotifications(withDeviceToken: deviceToken)
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[IBGReplies didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}
When you receive a notification, check if it's an Instabug notification, then pass it to Instabug if necessary.
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
let isInstabugNotification = Replies.didReceiveRemoteNotification(userInfo)
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
BOOL isInstabugNotification = [IBGReplies didReceiveRemoteNotification:userInfo];
}
And finally, handle when your application has been launched from an Instabug notification. Add the following to application:didFinishLaunchingWithOptions:
.
if let notification = launchOptions?[.remoteNotification] as? [String: AnyObject] {
let isInstabugNotification = Replies.didReceiveRemoteNotification(notification)
}
NSDictionary *notificationDictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
BOOL isInstabugNotification = [IBGReplies didReceiveRemoteNotification:notificationDictionary];
Disabling Push Notifications
Push notifications are enabled by default if you upload a push certificate to your Instabug dashboard. To disable them, use the following method.
Replies.pushNotificationsEnabled = false
[IBGReplies setPushNotificationsEnabled:NO];
In-App Notifications
By default, a notification will be shown on top of your app's UI when a new message is received.
Email Notifications
If your user doesn't view the new message within 10 minutes, they will be sent an email notification as well.
Disabling In-App Notifications
Use the following method to disable notifications that appear in-app.
Replies.inAppNotificationsEnabled = false
IBGReplies.inAppNotificationsEnabled = NO;
Getting Unread Messages Count
You can use the following method to get the number of messages a user has yet to read.
let messageCount = Replies.unreadRepliesCount
NSUInteger messageCount = IBGReplies.unreadRepliesCount;
Updated about 1 year ago
Learn to identify your users so that push notifications always go to the correct user. Also check out how to communicate with your users by chatting with them through different pages in your dashboard.