We are using
WL.Analytics.log({"key" : 'value'});
to perform some analytics log in an iOS cordava app.
We are able to view the data using
http://localhost:9500/*/_search?q=module:%TestOldButtonPressedEvent%22%20AND%20timestamp:[2017-04-20%20TO%202017-04-20]
Question:
Yesterday, the mobileFirst and analytics was down for maintenance, user perform "TestOldButtonPressedEvent" using the iPad offline. (the app supports offline mode.
However, after the server is up today, there's no data in the elastic search result.
Does it means it doesn't keep the data in the iPad in offline mode and resend it to the analytics server once the server is up again?
Related
How do I obtain more information, in addition to server logs and trace, on my application that crashes from time to time?
Application crashes can be tracked via the Analytics Console. By using Analytics SDK, the user setcontext api's to set the user in the application. That will ensure the application user data
and the crash captured (when the app starts next time to connect to the Mobilefirst server). This way one can capture the crash logs and analytics from the deviceId and user perspective.
More details:
https://www.ibm.com/support/knowledgecenter/en/SSHS8R_7.1.0/com.ibm.worklight.monitor.doc/monitor/c_op_analytics_data_capture.html#c_op_analytics_data_capture__manually_captured_data (see the [crash report] section)
How to Manage app and data on a device (Block, Wipe and others) in ibm mobilefirst 8.0?
Following options are available in Mobilefirst 7.1:
Managing app distribution (using the Application Center)
Managing app versions (using the Operations Console)
Managing app access (using the Operations Console)
Managing usage, performance, warnings and errors (using the Analytics Console)
Managing data access
I suggest that you will take a tour of the MobileFirst Operations Console in MobileFirst Foundation 8.0. See here: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/product-overview/components/console/
Managing data access / Managing app access
I assume you are referring to "remote disable". This is available from the application screen in the console. Select the desired registered application from the sidebar navigation and under the Management tab you will see a Application Access title.
Managing usage, performance, warnings and errors (using the Analytics Console)
Unsurprisingly, this is available from the Analytics console as before.
Learn more about Analytics console here: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/analytics/console/
Managing app distribution (using the Application Center)
This has not changed and it not related to MobileFirst Foundation 8.0. You do this through the AppCenter console as before. AppCenter did not change between 7.1 and 8.0.
Managing app versions
In previous versions you would have upped the version value in application-descriptor.xml. In v8.0 instead whenever you want to release a new point release, i.e. 1.1 or 2.0 etc, you need to register another app versions, either using the MobileFirst CLI or directly via the console.
I suggest that you will start getting familiar with the product...
Product overview: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/product-overview/
Upgrading/Migrating: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/upgrading/
Application development: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/application-development/
I have a push notification issue with mobilefirst 7.1.
When the mobile device subscribes and receive the push notification message, i see the logged data in the operations console. But I don't see any data in the analytics console. Maybe it doesn't synchronize each other? But the device's data does exist. It only syncs with the device in operations console.
Unfortunately, we do not currently log push notification data in the analytics console. However, our dev team will be looking into it as we see this is an issue.
I'm working in a scenario where we are trying to get Operational Analytics working within an MFP 6.3 environment. There is a MobileFirst client application (hybrid, if it matters), a MFP 6.3 server, and an Operational Analytics server (the system is for dev/test only, so is lightly loaded, and no uptime/performance concerns exist).
Currently, we are seeing intermittent problems, where data sometimes appears in the Operational Analytics console on adapter invocations etc., and then for some periods (sometimes days) go past with no data showing up.
How can we trace or log the behaviour of the Operational Analytics engine? As I understand it, there is a queueing mechanism on the MFP 6.3 server (currently wl.analytics.queue=1 and wl.analytics.queue.size=0) for forwarding data from the client to the OA server. Is there a way to see what messages are put or got from this queue?
This environment uses WAS ND.
From an IBM engineer:
IBM MobileFirst Platform 6.3 does not provide traceability options in
the MFP Operational Analytics component. This was greatly improved in
MFP 7.0 in the log output from the various analytics components,
including the queues and sender embedded in MFP server and the
receiver, processors, and storage in the Analytics server, and more is
planned for the future.
If deemed required in MFP 6.3 consider opening a PMR (support ticket). Or upgrade to MFP 7.0 if possible.
we have an app which uses JSONStore to support offline, if device is offline and user submit data it stores it offline, now when device is online and when user login to the app it sync with server and submit all data to server.
the question is, Is it possible when device comes online then my offline data sync with server without user open my app ?
Does worklight support that? Or I have to do something else?
please advice
Like Idan said, Worklight does not support this, but depending on the OS, it could support it.
For instance, on Android, you could use BroadcastReceivers to detect changes in network connectivity, and execute an action when it happens, regardless of whether your app is closed or not.
Here is the API for the receiver: http://developer.android.com/reference/android/content/BroadcastReceiver.html and here is a SO answer explaining how to use it to detect WiFi connectivity: https://stackoverflow.com/a/22626736/2245921 So you can modify this BroadcastReceiver to run the sync code that you would normally do if your app was already open.
If you are using any other platform (iOS, Windows) there might be an equivalent that you can use.
Also, keep in mind that if you are doing a hybrid application, you can create your own Cordova plugin to execute native code from Javascript. Here is the documentation on how to do so: http://cordova.apache.org/docs/en/3.5.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide