-
Notifications
You must be signed in to change notification settings - Fork 65
Binary plist message format (OS X)
steve918 edited this page Oct 18, 2012
·
2 revisions
Below is couple of example binary plist payloads attached to messages with an 0A Id.
0A - Message
* 04 - PushId (4 bytes)
* 01 - Topic
* 02 - Push Token
* 03 - Payload (see plist below)
Corresponding payload
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>D</key>
<true/>
<key>E</key>
<string>pair</string>
<key>P</key>
<data>
...
Base64 encoded blob
...
</data>
<key>U</key>
<data>
...
Base64 encoded blob
...
</data>
<key>c</key>
<integer>100</integer>
<key>i</key>
<integer>37708141</integer>
<key>sP</key>
<string>mailto:[email protected]</string>
<key>sT</key>
<data>
...
Base64 encoded blob
...
</data>
<key>t</key>
<data>
...
Base64 encoded blob
...
</data>
<key>tP</key>
<string>mailto:[email protected]</string>
<key>ua</key>
<string>[Mac OS X,10.7.4,11D1069,MacBookPro6,2]</string>
<key>v</key>
<integer>1</integer>
</dict>
</plist>
Key meanings
- D
- E
- P
- U
- c
- i - ? unique message id
- sP - sender contact
- sT
- t
- tP - recipient contact
- ua - user agent
- v - version?
0A - Message
* 07 - 0x02
* 04 - (4byte push id)
* 05 - 00 00 00 00
* 06 - (8bytes timestamp?)
* 01 - Push Token
* 02 - Topic
* 03 - Payload (see plist below)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>c</key>
<integer>255</integer>
<key>i</key>
<integer>35607200</integer>
<key>s</key>
<integer>0</integer>
</dict>
</plist>