Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Mobile_Push Component Proposal

Proposed Component Name Zend_Mobile_Push
Developer Notes
Proposers Mike Willbanks
Zend Liaison TBD
Revision 1.0 - 26 November 2011: Initial Draft. (wiki revision: 1)

Table of Contents

1. Overview

Zend_Mobile_Push is a component for implementing push notifications for the 3 major push notification platforms (Apple (Apns), Google (C2dm), and Microsoft (Mpns). The actual implementation is based on mostly abstraction.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will implement base interfaces along with an abstract class.
  • This component will implement the current specifications for APNS, C2DM and MPNS.

4. Dependencies on Other Framework Components

Zend_Http_Client - for implementation of sending messages to C2DM and MPNS.
Zend_Filter_Alpha - for filtering out dynamic text to ensure alpha characters.
Zend_Loader - for dynamically loading exception classes based on responses.

5. Theory of Operation

The component will provide interfaces and abstraction for implementing notifications. However, the message structure of such messages are very different and the server implementations are vastly different. So in terms of structure the push and messages are vastly different.

6. Milestones / Tasks

  • Milestone 1: Finish proposal and architectural description. [Done]
  • Milestone 2: Working prototype. [Done]
  • Milestone 3: Unit tests exist, work, and are checked into github. [Partially Done]
  • Milestone 4: Refinements [Not Done]
  • Milestone 5: Initial documentation exists. [Not Done]

7. Class Index

  • Zend_Mobile_Exception
  • Zend_Mobile_Push_Exception
  • Zend_Mobile_Push_Exception_MessageTooBig
  • Zend_Mobile_Push_Exception_InvalidRegistration
  • Zend_Mobile_Push_Exception_InvalidToken
  • Zend_Mobile_Push_Exception_DeviceQuotaExceeded
  • Zend_Mobile_Push_Exception_NotRegistered
  • Zend_Mobile_Push_Exception_MissingCollapseKey
  • Zend_Mobile_Push_Exception_InvalidAuthToken
  • Zend_Mobile_Push_Exception_InvalidTopic
  • Zend_Mobile_Push_Exception_ServerUnavailable
  • Zend_Mobile_Push_Exception_MismatchSenderId
  • Zend_Mobile_Push_Exception_QuotaExceeded
  • Zend_Mobile_Push_Exception_MissingRegistration
  • Zend_Mobile_Push_Apns
  • Zend_Mobile_Push_C2dm
  • Zend_Mobile_Push_Mpns
  • Zend_Mobile_Push_Message_Exception
  • Zend_Mobile_Push_Message_Mpns_Tile
  • Zend_Mobile_Push_Message_Mpns_Raw
  • Zend_Mobile_Push_Message_Mpns_Toast
  • Zend_Mobile_Push_Message_Apns
  • Zend_Mobile_Push_Message_C2dm
  • Zend_Mobile_Push_Message_Mpns
  • Zend_Mobile_Push_Message_Interface
  • Zend_Mobile_Push_Message_Abstract
  • Zend_Mobile_Push_Interface
  • Zend_Mobile_Push_Abstract

8. Use Cases


Sending an APNS Message


Feedback of an APNS Message


Sending a C2DM Message


Sending a MPNS Message

9. Class Skeletons



Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.