SlideShare a Scribd company logo
1 of 12
Apple Push Notification
       Service
Introduction
 APNS Architecture
 Security Architecture
 Quality of Service
 Feedback service
 Notification payload
 Server side programming
 Client side programming
APNS Architecture

 The flow of remote-notification data is one-
 way. The provider composes a notification
 package that includes the device token for
 a client application and the payload. The
 provider sends the notification to APNs
 which in turn pushes the notification to the
 device.
Feedback Service
   Sometimes APNs might attempt to deliver
    notifications for an application on a device, but
    the device may repeatedly refuse delivery
    because there is no target application. This often
    happens when the user has uninstalled the
    application. In these cases, APNs informs the
    provider through a feedback service that the
    provider connects with. The feedback service
    maintains a list of devices per application for
    which there were recent, repeated failed
    attempts to deliver notifications.
Quality of Service

   Apple Push Notification Service includes a
    default Quality of Service (QoS) component that
    performs a store-and-forward function. If APNs
    attempts to deliver a notification but the device is
    offline, the QoS stores the notification. It retains
    only one notification per application on a device:
    the last notification received from a provider for
    that application. When the offline device later
    reconnects, the QoS forwards the stored
    notification to the device. The QoS retains a
    notification for a limited period before deleting it.
Security Architecture
 Connection      trust
 Token   trust

A device token is not the same thing as
 the device UDID returned by the
 uniqueIdentifier propertyof UIDevice.
Server (Provider) programming
 Create connection to APNS
Certificate and provisioning
   Log in to the iPhone Developer Connection Portal and
    click App IDs

   Ensure you have created an App ID without a wildcard.
    Wildcard IDs cannot use the push notification service.
    For example, our iPhone application ID looks something
    like AB123346CD.com.serverdensity.iphone

   Generate a Push Notification certificate. Import
    your aps_developer_identity.cer into your Keychain by
    double clicking the.cer file.”
Certificate and Provisioning
 Export “Apple Development Push Services
  ID123″ in to P12 “apns-dev-cert.p12”.
 Export Private Key also in to “apns-dev-
  key.p12 file”.
 Remove the passphrase
 openssl rsa -in apns-dev-key.pem -out
  apns-dev-key-noenc.pem
Certificates and provisioning
 Converting to PEM (Privacy Enhanced
 Mail Security Certificate ):

 openssl pkcs12 -clcerts -nokeys -out
 apns-dev-cert.pem -in apns-dev-cert.p12

 openssl pkcs12 -nocerts -out apns-dev-
 key.pem -in apns-dev-key.p12
Certificates and Provisioning
 Combine the key and cert files into a
  apns-dev.pem
 cat apns-dev-cert.pem apns-dev-key-
  noenc.pem apns-dev.pem
References
 http://mobiforge.com/developing/story/pro
  gramming-apple-push-notification-services
 http://blog.boxedice.com/2009/07/10/how-
  to-build-an-apple-push-notification-
  provider-server-tutorial/
 http://urbanairship.com/docs/push.html#fe
  edback-service

More Related Content

What's hot

Firebase Cloud Messaging
Firebase Cloud MessagingFirebase Cloud Messaging
Firebase Cloud MessagingMohd Shamweel
 
Fitbit Versa User Manual
Fitbit Versa User ManualFitbit Versa User Manual
Fitbit Versa User ManualJM Diaz
 
10 outstanding case studies of mobile app development
10 outstanding case studies of mobile app development 10 outstanding case studies of mobile app development
10 outstanding case studies of mobile app development Ready4S
 
I phone programming project report
I phone programming project reportI phone programming project report
I phone programming project reportDhara Shah
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating SystemBilal Mirza
 
Apple iOS Introduction
Apple iOS IntroductionApple iOS Introduction
Apple iOS IntroductionPratik Vyas
 
History Of The Development Of Mobile Applications
History Of The Development Of Mobile ApplicationsHistory Of The Development Of Mobile Applications
History Of The Development Of Mobile Applicationsemmaroberts477
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMcool192
 
MOBILE PLATFORMS
MOBILE PLATFORMSMOBILE PLATFORMS
MOBILE PLATFORMSRadhikaM42
 
Srinumanne ios operating system ppt
Srinumanne ios operating system pptSrinumanne ios operating system ppt
Srinumanne ios operating system pptSrinu Manne
 
Android Security
Android SecurityAndroid Security
Android SecurityArqum Ahmad
 

What's hot (20)

Android
Android Android
Android
 
iOS PPT
iOS PPTiOS PPT
iOS PPT
 
Firebase Cloud Messaging
Firebase Cloud MessagingFirebase Cloud Messaging
Firebase Cloud Messaging
 
Apple's ios
Apple's iosApple's ios
Apple's ios
 
Fitbit Versa User Manual
Fitbit Versa User ManualFitbit Versa User Manual
Fitbit Versa User Manual
 
10 outstanding case studies of mobile app development
10 outstanding case studies of mobile app development 10 outstanding case studies of mobile app development
10 outstanding case studies of mobile app development
 
Andriod vs iOS
Andriod vs iOSAndriod vs iOS
Andriod vs iOS
 
I phone programming project report
I phone programming project reportI phone programming project report
I phone programming project report
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 
Mastering Firebase Cloud Messaging
Mastering Firebase Cloud MessagingMastering Firebase Cloud Messaging
Mastering Firebase Cloud Messaging
 
Introduction to ios
Introduction to iosIntroduction to ios
Introduction to ios
 
Apple iOS Introduction
Apple iOS IntroductionApple iOS Introduction
Apple iOS Introduction
 
History Of The Development Of Mobile Applications
History Of The Development Of Mobile ApplicationsHistory Of The Development Of Mobile Applications
History Of The Development Of Mobile Applications
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEM
 
Google Firebase presentation - English
Google Firebase presentation - EnglishGoogle Firebase presentation - English
Google Firebase presentation - English
 
MOBILE PLATFORMS
MOBILE PLATFORMSMOBILE PLATFORMS
MOBILE PLATFORMS
 
Srinumanne ios operating system ppt
Srinumanne ios operating system pptSrinumanne ios operating system ppt
Srinumanne ios operating system ppt
 
Android security
Android securityAndroid security
Android security
 
Android
AndroidAndroid
Android
 
Android Security
Android SecurityAndroid Security
Android Security
 

Similar to Apple push notification service

Configure & send push notification on i os device
Configure & send push notification on i os deviceConfigure & send push notification on i os device
Configure & send push notification on i os deviceShepHertz
 
Getting Started with AWS Mobile Hub
Getting Started with AWS Mobile HubGetting Started with AWS Mobile Hub
Getting Started with AWS Mobile HubAmazon Web Services
 
Building a chat app with windows azure mobile services
Building a chat app with windows azure mobile servicesBuilding a chat app with windows azure mobile services
Building a chat app with windows azure mobile servicesFlavius-Radu Demian
 
Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...naseeb20
 
Practical Enterprise Security Architecture
Practical Enterprise Security Architecture  Practical Enterprise Security Architecture
Practical Enterprise Security Architecture Priyanka Aash
 
Mdm with config mgr nico
Mdm with config mgr nicoMdm with config mgr nico
Mdm with config mgr nicoKenny Buntinx
 
Business Mobility - otevřete svou mysl k tomu, co je možné
Business Mobility - otevřete svou mysl k tomu, co je možnéBusiness Mobility - otevřete svou mysl k tomu, co je možné
Business Mobility - otevřete svou mysl k tomu, co je možnéMarketingArrowECS_CZ
 
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...Amazon Web Services
 
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023VMware Tanzu
 
Lime - Push notifications. The big way.
Lime - Push notifications. The big way.Lime - Push notifications. The big way.
Lime - Push notifications. The big way.Petr Dvorak
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobileFlavius-Radu Demian
 
Advanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to AndroidAdvanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to Androidsecurityxploded
 
Rapidly develop secure mobile apps with IBM MobileFirst on Bluemix Containers
Rapidly develop secure mobile apps with IBM MobileFirst on Bluemix ContainersRapidly develop secure mobile apps with IBM MobileFirst on Bluemix Containers
Rapidly develop secure mobile apps with IBM MobileFirst on Bluemix ContainersAjay Chebbi
 
A Deep Dive into macOS MDM (and How it can be Compromised)
A Deep Dive into macOS MDM (and How it can be Compromised)A Deep Dive into macOS MDM (and How it can be Compromised)
A Deep Dive into macOS MDM (and How it can be Compromised)Priyanka Aash
 

Similar to Apple push notification service (20)

Configure & send push notification on i os device
Configure & send push notification on i os deviceConfigure & send push notification on i os device
Configure & send push notification on i os device
 
push_notification
push_notificationpush_notification
push_notification
 
Apple notification push
Apple notification pushApple notification push
Apple notification push
 
Getting Started with AWS Mobile Hub
Getting Started with AWS Mobile HubGetting Started with AWS Mobile Hub
Getting Started with AWS Mobile Hub
 
Building a chat app with windows azure mobile services
Building a chat app with windows azure mobile servicesBuilding a chat app with windows azure mobile services
Building a chat app with windows azure mobile services
 
Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...
 
Practical Enterprise Security Architecture
Practical Enterprise Security Architecture  Practical Enterprise Security Architecture
Practical Enterprise Security Architecture
 
Mdm with config mgr nico
Mdm with config mgr nicoMdm with config mgr nico
Mdm with config mgr nico
 
Mdm with config mgr nico
Mdm with config mgr nicoMdm with config mgr nico
Mdm with config mgr nico
 
Business Mobility - otevřete svou mysl k tomu, co je možné
Business Mobility - otevřete svou mysl k tomu, co je možnéBusiness Mobility - otevřete svou mysl k tomu, co je možné
Business Mobility - otevřete svou mysl k tomu, co je možné
 
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
 
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
 
Lime - Push notifications. The big way.
Lime - Push notifications. The big way.Lime - Push notifications. The big way.
Lime - Push notifications. The big way.
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
Building mobile apps on aws
Building mobile apps on awsBuilding mobile apps on aws
Building mobile apps on aws
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
 
Advanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to AndroidAdvanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to Android
 
IPA Re-sign.pptx
IPA Re-sign.pptxIPA Re-sign.pptx
IPA Re-sign.pptx
 
Rapidly develop secure mobile apps with IBM MobileFirst on Bluemix Containers
Rapidly develop secure mobile apps with IBM MobileFirst on Bluemix ContainersRapidly develop secure mobile apps with IBM MobileFirst on Bluemix Containers
Rapidly develop secure mobile apps with IBM MobileFirst on Bluemix Containers
 
A Deep Dive into macOS MDM (and How it can be Compromised)
A Deep Dive into macOS MDM (and How it can be Compromised)A Deep Dive into macOS MDM (and How it can be Compromised)
A Deep Dive into macOS MDM (and How it can be Compromised)
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Apple push notification service

  • 2. Introduction  APNS Architecture  Security Architecture  Quality of Service  Feedback service  Notification payload  Server side programming  Client side programming
  • 3. APNS Architecture  The flow of remote-notification data is one- way. The provider composes a notification package that includes the device token for a client application and the payload. The provider sends the notification to APNs which in turn pushes the notification to the device.
  • 4. Feedback Service  Sometimes APNs might attempt to deliver notifications for an application on a device, but the device may repeatedly refuse delivery because there is no target application. This often happens when the user has uninstalled the application. In these cases, APNs informs the provider through a feedback service that the provider connects with. The feedback service maintains a list of devices per application for which there were recent, repeated failed attempts to deliver notifications.
  • 5. Quality of Service  Apple Push Notification Service includes a default Quality of Service (QoS) component that performs a store-and-forward function. If APNs attempts to deliver a notification but the device is offline, the QoS stores the notification. It retains only one notification per application on a device: the last notification received from a provider for that application. When the offline device later reconnects, the QoS forwards the stored notification to the device. The QoS retains a notification for a limited period before deleting it.
  • 6. Security Architecture  Connection trust  Token trust A device token is not the same thing as the device UDID returned by the uniqueIdentifier propertyof UIDevice.
  • 7. Server (Provider) programming  Create connection to APNS
  • 8. Certificate and provisioning  Log in to the iPhone Developer Connection Portal and click App IDs  Ensure you have created an App ID without a wildcard. Wildcard IDs cannot use the push notification service. For example, our iPhone application ID looks something like AB123346CD.com.serverdensity.iphone  Generate a Push Notification certificate. Import your aps_developer_identity.cer into your Keychain by double clicking the.cer file.”
  • 9. Certificate and Provisioning  Export “Apple Development Push Services ID123″ in to P12 “apns-dev-cert.p12”.  Export Private Key also in to “apns-dev- key.p12 file”.  Remove the passphrase  openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
  • 10. Certificates and provisioning  Converting to PEM (Privacy Enhanced Mail Security Certificate ):  openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12  openssl pkcs12 -nocerts -out apns-dev- key.pem -in apns-dev-key.p12
  • 11. Certificates and Provisioning  Combine the key and cert files into a apns-dev.pem  cat apns-dev-cert.pem apns-dev-key- noenc.pem apns-dev.pem
  • 12. References  http://mobiforge.com/developing/story/pro gramming-apple-push-notification-services  http://blog.boxedice.com/2009/07/10/how- to-build-an-apple-push-notification- provider-server-tutorial/  http://urbanairship.com/docs/push.html#fe edback-service