| Zend_Mobile_Push |
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
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.Zend Framework: Zend_Mobile_Push Component Proposal
Proposed Component Name
Zend_Mobile_Push
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Mobile_Push
Proposers
Mike Willbanks
Zend Liaison
TBD
Revision
1.0 - 26 November 2011: Initial Draft. (wiki revision: 3)
Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
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 operation of this component is very simple. It is based simply off of interfaces and abstract classes to implement the server and messages. All common operations have been stated there. The instances of each type of message does not make sense in the context of an abstract factory or a factory at all since each must be implemented in a specific way.
Generally an instance of the client will be created followed by a message that will be passed to the send method.
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
| UC-01 |
|---|
Sending an APNS Message
| UC-02 |
|---|
Feedback of an APNS Message
| UC-03 |
|---|
Sending a C2DM Message
| UC-04 |
|---|
Sending a MPNS Message