The Appoxee Adobe Air Plugin Constructor contains a parameter to a callback function which will be called every time a push notification is being received. The method will get a JSON formatted String which is the push payload.
This document will cover the different payloads (iOS & Android) and how to parse them.
Prerequisite :
This is how you code should look like in your main actionscript class :
//Add this to imports : import com.appoxee.AppoxeeANE; ... //Add this to class : private var _appoxeeANE:AppoxeeANE; //Add the class's constructor : _appoxeeANE = new AppoxeeANE("YOUR_APPOXEE_APP_KEY","YOUR_APPOXEE_SECRET_KEY",handleIncomingPushMessage); ... //Add this method to get notified when push messages arrive to the device private function handleIncomingPushMessage(payload:String):void { trace("Handle Incoming Push Message Called with : "+result); //Parse the JSON-Formatted String into an ActionScript Object //All fields from JSON are accessible by theit property names here var data:Object = JSON.parse(payload); //Rest of your logic } |
Parsing the Push Payload
In order to parse the JSON-Formatted String to an ActionScript Object, you will need to use JSON.Parse() method which part of ActionScript, as explained in the following link.
Be advised : The Appoxee AppStoreID Extra Field (apx_aid) & The Appoxee URL Extra Field (apx_url) are being handled internally by the plugin. |
The following JSON-Formatted Strings are the payloads for Adobe Air under Android OS :
//No Extra Fields , No Sound , Regular Push : { "alert":"Push Message with no extra fields", "push_description":"Push Message with no extra fields", "p":"301226468", "collapse_key":"301226468" } //No Extra Fields , With Sound , Regular Push : { "push_description":"Push Message with no extra fields but with sound", "collapse_key":"301233338", "sound":"appoxeesound.wav", "alert":"Push Message with no extra fields but with sound", "p":"301233338" } //With Extra Fields , With Sound , Regular Push : { "SampleKey2":"SampleValue2", "SampleKey1":"SampleValue1", "push_description":"Push Message with regular extra fields and with sound", "collapse_key":"301249598", "sound":"appoxeesound.wav", "alert":"Push Message with regular extra fields and with sound", "p":"301249598" } //With Website URL , With Sound , Regular Push : { "push_description":"Push Message with URL and with sound", "collapse_key":"301253096", "apx_url":"http:\/\/www.appoxee.com", "sound":"appoxeesound.wav", "alert":"Push Message with URL and with sound", "p":"301253096" } //With AppStoreID , With Sound , Regular Push : { "push_description":"Push Message with AppStoreID and with sound", "collapse_key":"301253096", "apx_aid":"com.facebook.katana", "sound":"appoxeesound.wav", "alert":"Push Message with URL and with sound", "p":"301253096" } //With DeepLink , With Sound , Regular Push : { "push_description":"Push Message with DeepLink and with sound", "collapse_key":"301253096", "apx_dpl":"sample://route/to/target", "sound":"appoxeesound.wav", "alert":"Push Message with URL and with sound", "p":"301253096" } |
The following JSON-Formatted Strings are the payloads for Adobe Air under iOS :
//Push with No Extra Payload { "aps": { "alert":"Push with No Extra Payload", "badge":1 } } //Push With Sample Extra Payload { "aps": { "alert":"Push With Sample Extra Payload", "badge":1 }, "SampleKey1":"SampleVal1", "SampleKey2":"SampleVal2" } //Push With URL Payload { "aps": { "alert":"Push With URL Payload", "badge":1 }, "apx_url":"http:\/\/www.nba.com" } //Push With AppStoreID Payload { "aps": { "alert":"Push With AppStoreID Payload", "badge":1 }, "apx_aid":"112346543" } //Push With DeepLink Payload { "aps": { "alert":"Push With DeepLink Payload", "badge":1}, "apx_dpl":"sampleurl:\/\/route\/to\/target" } } |