Erok,
Thanks for the informative reply. I’ve been out all day doing family
things but I’ll go through this in detail once I get back this
evening.
You are correct re quotes. We use MailMate for our email client and
sometimes strange and wonderful things happen with quotes. The : was a
transcription error as we removed a lot of debug code to make the
example simpler. We do have this stuff working in the foreground and
background :)
What you are describing is that we are doing. However I started to put
together a tiny dummy app last night to test the issue in isolation and
will finish it tonight to see if we get the same results. I agree with
everything you say apart from the bit after killing it, touch a
notification and it being seen as an alert (thats the bit we cannot get
working). I’d be delighted if its our code at fault, embarrassed but
delighted.
From a quick perusal of your code I *think* we are doing exactly what
you are doing.
Let me go through it later and I’ll come back,
Best wishes,
Rob
On 15 Dec 2015, at 10:36, Erik Jan de Wit wrote:
Hi Rob,
That would be a bug, although I can not reproduce it, to test it this
is
what I've done to test it:
$ > cordova create push-test <my bundle id>
$ > cordova platform add ios
$ > cordova plugin add aerogear-cordova-push
copy paste your js code into www/js/index.js onDeviceReady, changed
pushServerUrl and variant info and changed quotes to " (this is your
email
client no doubt) and changed : into ; after console.log("Success")
Attach Safari debugger and send a message when the app is in the
foreground
and get in the console:
HandleAeroGearNotification: event =>
{"alert":"test","foreground":true,"coldstart":false,"sound":"default","badge":-1,"payload":{}}
I press the home button and send the app to the background send
another
message and 'touch' the message to launch the app:
HandleAeroGearNotification: event =>
{"alert":"background","foreground":false,"coldstart":false,"sound":"default","badge":-1,"payload":{}}
The I kill the app by pressing home twice and swiping over the app to
remove it send another message and 'touch' it to launch the app. This
kills
my safari debugger so no way to see the console log, but in this case
coldstart should be true. To test this better changed the code to
alert
instead of console:
function HandleAeroGearNotification(event) {
alert("HandleAeroGearNotification: event => " + event.coldstart);
// Stuff cut for clarity
}
I send another notification 'touch' it to launch the app and see the
alert
box display the text:
HandleAeroGearNotification: event => true
Hope this helps
On Mon, Dec 14, 2015 at 10:20 PM, Rob Willett <
rob.aerogear(a)robertwillett.com> wrote:
> Hi,
>
> We think we have found a possible bug in the Aerogear Cordova 2.0.4
> push
> plugin specifically on the iOS side.
> Summary
>
> We have two versions of our app, an Android and an IOS version. Both
> use
> the latest Cordova push plugin 2.0.4. They also both have the latest
> Cordova platforms, android 4.1.1, ios 3.9.2. Both the iOS and Android
> versions are compiled at the same time. We are running cordova 5.3.3
> with
> Ionic 1.7.8 (?).
>
> 1.
>
> We make sure that both apps are NOT started up on each device. We
> also
> check they are NOT in the background.
> 2.
>
> We send the same simple notification to each device. This
> notification
> config is as below, we have anonymised the variants and alias in this
> JSON
> structure, though we can report that the UPS server sends the data
> correctly. We use the additionalData flag to provide the information
> necessary to decide which notification has been clicked in the
> notification
> drawer.
>
> 'variants' => [‘variant1’,’variant2’ ],
> 'message' => {
> 'additionalData' => { 'Disruption_Id' => '107546',
> 'EpochTime' => '1450125268'
> },
> 'alert' => 'Cannon Street (EC4N) (All Directions) at the junction of
> King William Street - To facilitate a heavy lift in Cannon Street,
> Cannon Street will be closed. Traffic is slow moving on diversion.'
> },
> 'alias' => [ ‘alias1’ ],
> 'ttl' => 600
> };
>
>
> 1.
>
> Both devices show the message, the Android device stacks the message
> and the iOS device display an individual message. This looks correct.
> 2.
>
> Clicking on the Android stacked message starts up the app and the
> Javascript notification handler we have defined,
> HandleAeroGearNotification
> is called
>
> HandleAeroGearNotification: event => {"alert":"Cannon Street (EC4N)
> (All Directions) at the junction of King William Street - To
> facilitate a heavy lift in Cannon Street, Cannon Street will be
> closed. Traffic is slow moving on
>
diversion.","coldstart":true,"foreground":true,"payload":{"alert":"Cannon
> Street (EC4N) (All Directions) at the junction of King William Street
> - To facilitate a heavy lift in Cannon Street, Cannon Street will be
> closed. Traffic is slow moving on
diversion.","badge":"-1"}}
>
>
> 1.
>
> Clicking on the notification in the notification drawer on the iOS
> device also starts our app up correctly but the notification handler,
> HandleAeroGearNotification(), is NOT called. The app starts up as
> normal as
> if the notification had not been clicked. We would expect the
> notification
> handler to be called in iOS as it is in Android.
> 2.
>
> All notifications are cleared on both Android and iOS correctly when
> the app is started up.
> 3.
>
> We define HandleAeroGearNotification as
>
>
> var aeroGearPushConfig = {
> pushServerURL: "https://push-jambuster.rhcloud.com/ag-push/",
> ios: {
> variantID: “variantid_obscured”,
> variantSecret: “variant_secret_obscured”
> } ,
> android: {
> senderID: "variantid_obscured" ,
> variantID: "variant_id_obscured" ,
> variantSecret: "variant_secret_obscured"
> } ,
> sendMetricInfo: true,
> alias: alias1
> };
>
> function HandleAeroGearNotification(event) {
> console.log(“HandleAeroGearNotification: event => “ +
> JSON.stringify(event));
>
> // Stuff cut for clarity
> }
>
> // Slightly simplified registration event.
> push.register(HandleAeroGearNotification , function () {
> console.log(“Success”):
> } , function () {
> console.log(“Failure”);
> } , aeroGearPushConfig);
>
> We cannot see any reference to this issue in the JIRA database and
> wondered if it is a bug or not.
>
> If its a bug we are happy to raise it accordingly.
>
> Please let us know,
>
> Thanks
>
> Rob
>
> _______________________________________________
> Aerogear-users mailing list
> Aerogear-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/aerogear-users
>
>
--
Cheers,
Erik Jan
_______________________________________________
Aerogear-users mailing list
Aerogear-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-users