I am working on native-hybrid App using MobileFirst 7.0. The app use notifications push managed by MobileFirst. Notifications are sent using an MobileFirst adapter. Occasionally we are receiving the following error when sending notifications push:
com.ibm.pushworks.server.notification.gcm.TimeoutQueue W FPWSE1060W: GCM: 1 notifications deleted from the queue GCM-sender-AIzaSyAE because the waiting time is more than 50,000 sec.
Any idea why this error happens?
This error is a known problem that was recently fixed: PI67242 PUSH NOTIFICATION WONT SENT IN ANDROID DEVICES GCM WHEN MAXQUEUE LENGTH IS HIT
The fix for MobileFirst Platform Foundation 7.0 is available starting the build number dated 20160830-0817.
Please head over to IBM Fix Central and download the latest available iFix for MobileFirst Platform Foundation 7.0, which includes this fix and see if your issue is resolved.
Related
I am building a ios 10 app using xcode 8 and ibm mobile first 7.1. However the app can not connect to the mfp server.
Here is the error code:
Client registration failed with error: {"responseHeaders":{},"status":200,"responseText":"Invalid response when registering application","invocationContext":null}
2016-09-21 10:02:37.753286 [ERROR] [NONE] [/apps/services/api/**********/iphone/init] failure. state: 200, response: undefined
I am under HTTP network.
Your application will not be able to communicate with the back end by using plain HTTP or older SSL/TLS protocols from iOS 9 on-wards. This feature is introduced by Apple and you can find more information about this here.
If you turned off Application transport security feature and still facing this issue means then we require entire client side log and network capture between your client and server in order to debug the issue as this error occurs for multiple reasons.
We are implementing the GCM Push notification for app updates on AppCenter Client app
We have setup the following values in the server configuration
jndiName="ibm.appcenter.gcm.signature.googleapikey value="***"
jndiName="ibm.appcenter.push.schedule.period.unit" value="seconds"
jndiName="ibm.appcenter.push.schedule.period.amount" value="40"
And our app is still not receiving push notifications from GCM,
is there anything additional in the AppCenter Client to modify to enable this feature?
we have already set the config.json file gcmProject attribute with the GCM project number and rebuilt the apk accordingly.
the logs don't show any exceptions and no registered devices are available for push notification update
This type of question does not fit StackOverflow, which is meant for programming-related questions. Please open an IBM PMR (support ticket) to address this kind of server configuration question.
When I send multiple notifications to Apple or Android devices through MFP, Apple devices will receive all the notifications on the other hand Android will only receive the last notification. We are using Unicast Notification to send messages to user devices using this REST API.
Android devices will also receive all the push notifications sent by the MFP server. The notification shade ( center) will however display only the last received. This does not mean the earlier ones are lost. They are all still available, just not visible in the notification shade.
You have not mentioned the complete build version of your MFP. To see all the notifications in the shade-
install the latest ifix from FixCentral, rebuild your application. Edit your wlclient.properties and add the following property-
showAllNotificationsInTray=true
We have develop a cross platform app with mobilefirst studio 7.0 and test it on production environment.
It was fine before we upgrade our project with mobilefirst studio 7.1.0.00-201510120-1525 and test it on clean staging server (7.1.0.0 20151012-1525).
It seems that the push notification functionality dedicated on mobilefirst 7.0 did not work properly on production server of mobilefirst platform version 7.1. The source code and configuration file of our mobilefirst push notifcation adapter and configuration files are here.
Inorder to fix the issue, we refer to official push notification tutorial which was documented here.
Surprisingly, although the source project in official tutorial looks fine on development server, it still not work on production server either.
We have test this project using iphone5s with ios 8.4 and HTC 816h phone with android 4.4.2, both of them fail to register push notification service after we login to the HybridEventSource sample application and tap the “Subscribe Notification” button.
The Mobilefirst server logs down internal server error message during the registration process of client devices.
I am wondering how to let the push notification mechanism work again on mobilefirst 7.1?
Either a valid push notification sample code of mobilefirst 7.1 or any fix pack which we do not know is welcomed.
Since we did not authenticate users via mobilefirst server, and devices were connected through vpn to server,
we prefer to have a solution which does not depends on particular mobilefirst server side authentication mechanism.
The server log message generated during this test is in this file.
The log file generated while we run EventSourceNotification app as xcode project is in this file.
For detail system log from ios device, please refer to device log file
And the Log message generated by HTC 816h android 4.4.2 phone is here
Information about our server environment:
Operating system : centos 5.8 linux
Java development kit : Oracle jdk 1.8 update 65 x86-64
Application server : Apache tomcat server 7.0.63
Worklight environment database : oracle database 11g.
Apple push notification service certificate : sandbox version
Well that's kinda suspicious, isn't it?
Since we did not authenticate users via mobilefirst server, and devices were connected through vpn to server, we prefer to have a solution which does not depends on particular mobilefirst server side authentication mechanism.
You are using the push mechanism provided by MFPF but you do not want to go through MFPF? You are required to go through MFPF if you want to use the push mechanism provided by MFPF... What did you mean by the above?
That said, did your DBA examine mf7-1-EventSourceNotifications-catalina.out.log? There are quite a few Oracle-related exceptions there that you should look at.
If you are still unable to resolve it I suggest to open a PMR instead so that the development team will be able to further investigate.
After successfully building the AppCenter client application and launching it in an iOS device, my problem is that when I enter my Worklight Server credentials, the server URL and the port and with or without the applicationcenter context, the loading progress keeps running...
How to solve this issue?
I agree with Idan, first thing to do is to run the application center client on the iOS emulator and look at the device logs. I have seen the loading never ending when the client was not compiled correctly, note that the native folder of the application center client worklight project contains native code (a cordova plugin) that needs to be present in order for the application to run properly. If this is the problem you are facing, the cordova log will tell you that the plugin named 'com.ibm.mobile.InstallerPlugin' is missing.