Lennert de Waal
Lennert de Waal

Reputation: 11

Push notification in Android fails with "connectivity details to GCM are not set"

We are running MobileFirst Platform Foundation 7.0 and are using both iOS Push as well as Android Push messages. We have an issue with talking to GCM after a server restart.

MFP is installed on a WebSphere AppServer Network Deployment version 8.5.5 environment. This server is running behind a corporate firewall.

We set the environment entries to specify the proxy-server MFP should use to talk to GCM; as documented here: https://www-304.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.deploy.doc/admin/t_using_JNDI_lookup_to_override_WL_properties.html

After a full restart of WAS, meaning a stop of the App Servers, the Node Agents and the Deployment Manager and a subsequent start in opposite order - GCM push works fine.

However, if we restart just the App Server MFP is running on, the following errors appear in the server log:

[10/28/15 11:04:17:022 CET] 00000123 JavaScriptInt I com.worklight.integration.js.JavaScriptIntegrationLibraryImplementation info Wed Oct 28 2015 11:04:17 GMT+0100 (CET): Send MyIT Broadcast message for IT Failure with title 'Test Push Message 3' [project babel]
[10/28/15 11:04:17:061 CET] 00000156 GCMMediator   E com.ibm.pushworks.server.notification.gcm.GCMMediator sendOrWait FPWSE1051E: Notification through Google Cloud Messaging (GCM) was not sent to application 'MyITHelpdeskApp-android-0.1.2' because connectivity details to GCM are not set.

And push message sent to Android devices fail to be delivered. It seems environment entries for web modules are not loaded correctly upon AppServer restart, or MFP does not pick-up namespace entries correctly when reloaded.

Is there any setting we missed? Or is there a way to force the update of the namespace with the corresponding GCM Proxy settings?

Upvotes: 1

Views: 367

Answers (1)

Andrew Ferrier
Andrew Ferrier

Reputation: 17732

It turned out that the answer in this case was that the .wlapp deployed to the server was an old version, without an appropriate GCM connection key (in other words, it was a development issue, not an infrastructural one). On fixing this, GCM starting working.

Upvotes: 1

Related Questions