iOS Push Notification using App42 Mobile Backend as a Service

25 %
75 %
Information about iOS Push Notification using App42 Mobile Backend as a Service

Published on August 19, 2013

Author: shephertz



Push Notification helps you in sending events and alerts to your App users even when they are offline to the App. App42 uses APNS (Apple Push Notification Service) to send Push Notification on iOS devices. Here are few easy steps to integrate App42 Push Notification Service in iOS Apps and Games. Check out our website

Push Notification Service

Push Notifications Message Pop-Up Increase User Engagement Latest Updates Calendar Events

Benefits of Push Notification Increases user-engagement e.g. In a turn-based game like Tic-Tac-Toe, it can notify a user of his turn (suppose he gets a phone call in between and forgets that he was playing!!) Allows to send messages to users even when the app is not running; thus helps in reminding them of your App Helps to build a fan community around your game by pushing to a targeted audience – like your regular gamers Allows an App to notify its users of new events without needing to actually open it, i.e. by a sound or a screen pop up

App42 Push Notification supports Coming Soon!! &

Why App42 Push Notification? Our Push Notification API can be used to send crossplatform push messages to devices running on iOS, Android and Windows Phone with a single API call No infrastructure & scalability worries • Send Image/Text/URLs text-based Push Notifications • Send messages in Channel Subscription Mode • Send Scheduled Push as per Time-Zone Push Analytics • Analyze your Push Campaign with App42 Analytics • Evaluate the number of Push messages sent, delivered and opened.

Creating a channel & scheduling Push messages through AppHQ

Push Analytics A very useful feature that can track:  How many Push Notifications were sent from your side  How many were delivered, and  Push Notification Campaign How many users opened the message 31% 100% Sent Delivered Opened These analytics can be viewed from our AppHQ console. 74% Why Push Analytics? When you use our Push Notification Service, each Push goes from the App42 server to GCM/APNS/MPNS and then to the user device. • Delivery of Push Notification is not guaranteed even from the service provider • Once delivered, there might be a chance that user just clears it without opening the message Thus, Analytics gives you a better insight of your Push Notification campaign.

Integrating with iOS

10 steps to PUSH First create a certificate from iOS Dev Center. (Visit tutorial: Install the.cer file, which was downloaded in the above step. Convert the iPhone developer certificate into a .p12 file: • Go to Applications/Utilities folder > Keychain Access application folder > Keys category • Select the private key associated with your iPhone Development Certificate (The private key is identified by the iPhone Developer as: public certificate that is paired with it). • Select File > Export Items • Save your key in the (.p12) format. • You will be prompted to create a password which will be used when you will attempt to import this key on another computer.

Contd.. Make your .p12 file compatible with App42 server: • Keep your .cer file and .p12 file in a single folder • Open terminal and go to the folder that has both the files. shephertz-technologiess-iMac:~ shephertztechnologies$ cd "your folder path" • Now execute the following commands in the terminal: 1 openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM 2 openssl pkcs12 -nocerts -in yourPrivateKey.p12 -out yourPrivateKey.pem 3 openssl pkcs12 -export -inkey yourPrivateKey.pem -in developer_identity.pem -out iphone_dev.p12 Where, - developer_identity.cer <= certificate you downloaded from Apple - yourPrivateKey.p12 <= your private key

Contd.. Upload iphone_dev.p12 file to the AppHQ console: Open your Xcode project and navigate to the AppDelegate.m class and change the application:didFinishLaunchingWithOptions: method to look like this: 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 2 { 3 // Let the device know we want to receive push notifications 4 [[UIApplication sharedApplication] registerForRemoteNotificationTypes: 5 (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 6 return YES; 7 } The above code tells the OS that this App wants to receive push notifications.

Contd.. Add the following delegate methods in your AppDelegate.m in order to receive pushes: 1 - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken 2 { 3 NSLog(@"My token is: %@", deviceToken); 4 5 // Prepare the Device Token for Registration (remove spaces and &lt; &gt;) 6 NSString *devToken = [[[[deviceToken description] 7 8 9 10 11 12 13 14 15 16 stringByReplacingOccurrencesOfString:@"&lt;"withString:@""] stringBy ReplacingOccurrencesOfString:@"&gt;" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""]; NSLog(@"My Device token is: %@", devToken); } - (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error { NSLog(@"Failed to get token, error: %@", error); } When your App registers for remote (push) notifications, it tries to obtain a “device token” (a 32-byte address of your device).

Contd.. Now register your device with the App42 Server. Change the delegate method application:didRegisterForRemoteNotificationsWithDeviceToken: in the AppDelegate.m class to look like this: 1 2 3 4 - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { NSLog(@"My token is: %@", deviceToken); // Prepare the Device Token for Registration (remove spaces and &lt; &gt;) NSString *devToken = [[[[deviceToken description] 5 stringByReplacingOccurrencesOfString:@"&lt;"withString:@""] stringByReplacingOccurrencesOfString:@"&gt;" withString:@""] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 stringByReplacingOccurrencesOfString: @" " withString: @""]; NSLog(@"My Device token is: %@", devToken); /** * Register the device token for App42 Push notification services */ [self registerUserForPushNotificationToApp42Cloud:devToken]; } -(void)registerUserForPushNotificationToApp42Cloud:(NSString*)deviceToken { ServiceAPI *serviceObj = [[ServiceAPI alloc]init]; serviceObj.apiKey = APP42_APP_KEY; serviceObj.secretKey = APP42_SECRET_KEY; PushNotificationService *pushObj = [serviceObj buildPushService]; @try { PushNotification *pushNotification =[pushObj registerDeviceToken:deviceToken withUser:@"User Name"]; [pushNotification release]; } @catch (App42Exception *exception) { NSLog(@"%@",exception.reason); } @finally { [serviceObj release]; [pushObj release]; } }

Contd.. Now to send a Push Notification, call the following method in a commonly used class in your project so that you can call this whenever you want to: 1 2 3 4 5 6 7 8 9 10 11 -(void)sendPush:(NSString*)message { ServiceAPI *serviceObj = [[ServiceAPI alloc]init]; serviceObj.apiKey = APP42_APP_KEY; serviceObj.secretKey = APP42_SECRET_KEY; PushNotificationService *pushObj = [serviceObj buildPushService]; @try { NSMutableDictionary *pushDictionary = [NSMutableDictionary dictionary]; [pushDictionary setObject:message forKey:@"alert"]; [pushDictionary setObject:@"default" forKey:@"sound"]; [pushDictionary setObject:@"1" forKey:@"badge"]; 12 PushNotification *pushNotification = [pushObj sendPushMessageToUser:@"User Name" withMessageDictionary: pushDictionary]; 13 14 15 16 17 18 19 [pushNotification release]; } @catch (App42Exception *exception) { NSLog(@"%@",exception.reason); } @finally { [serviceObj release]; [pushObj release]; } }

Contd.. The pushDictionary in the above code should always follow the same structure as mentioned above to deliver the push notification successfully using App42 Server. • You can remove or add the items to the pushDictionary if needed as per the Apple guidelines. • If you want to take any actions when you receive push notification then you need to add the following delegate method in the AppDelegate.m class: 1 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 2 { 3 NSLog(@"%s..userInfo=%@",__FUNCTION__,userInfo); 4 /** * Dump your code here according to your requirement after receiving push */ 5 } • With the above mentioned step, your App has been successfully set up to receive/send Push Notifications through our App42 Server using App42 Push Notification Service.


Some useful links Getting Started: Downloads: Quick Start Guide App42 Cloud SDKs Sign-up for Free App 42 Modules Game Development Center Blogs: Concepts: Why BaaS? Backend as a Service Push Notification for iOS Massive Multiplayer Gaming Engine Push Notification for Android App Analytics Real-time Multiplayer Games using Unity3D Integrating Facebook in your Android App Products: Making a Turn-based Game App42 Cloud APIs - BaaS Using Query Interface AppWarp – Multiplayer Gaming Engine When to use NoSQL? AppHQ – Management Console Add ‘Social’ to your Game AppHawk – Project Management Tool AppClay – Custom App Builder

Links for Reference : Contact: Skype: ShepHertz Follow us on:

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

App42 Push Notification API - Backend as a Service

App42 Push Supports- iOS/ Obj-C, ... Gaming Backend; Social Integration; Push Notification; ... push_notification = push_notification_service.send_push ...
Read more

Cross Platform Push Notification API | App42 - Mobile Backend

Send Cross platform Push messages with App42,a complete Push Notification backend solution for any Mobile app running on iOS/Android and Windows Phone.
Read more

Using App42 Push Notification - Backend as a Service

Using App42 Push Notification – Backend ... iOS devices using APNS (Apple Push Notification Service) ... google cloud messaging, iOS, MPNS, Push ...
Read more

How to use App42 Push Notification Service - YouTube

App42 Push Notification Service for iOS, ... Mobile Push Notifications to Any Client ... Push Notifications iOS with Unity [Gamedonia Backend] ...
Read more

Take a Tour for Mobile App Developer Mobile Backend as a ...

Push Notification. Use App42 backend with ... Out of the box Mobile Backend as a Service for ... Develop iOS, Android Apps using C# and ...
Read more

Configure & Send Push Notification on iOS Device - ShepHertz

Configure & Send Push Notification on iOS Device using App42 ... Push Notification is widely used in mobile ... using App42 Push Notification Service. ...
Read more

Mobile Backend As A Service | LinkedIn

View 540 Mobile Backend As A Service posts, ... iOS Team Lead Developer at Indigo ... Windows Phone Push Notification using App42 Mobile Backend as a...
Read more

Kinvey - Mobile Backend as a Service (MBaaS) for the ...

Kinvey provides a complete Backend as a Service ... Kinvey HIPAA compliant mobile ... “We can show a customer great ROI by using Kinvey on ...
Read more