Fabric Crashlytics reports not being sent when using crashlyticsDidDetectReportForLastExecution - crashlytics

When using the delegate method crashlyticsDidDetectReportForLastExecution without the handler, crash reports are not being sent.
From the docs, this method "does not give you the ability to prevent the report from being submitted". However, that's not the case.
The delegate method is being called though. I'm using it to send logs to a custom server. But if implementing Crashlytics delegate, its report is not sent and does not appear on Fabric's dashboard.
I'm using Fabric 1.7.6 and Crashlytics 3.10.1.

Related

In which call Sonos is showing the custom error messages?

It would be nice to know in the CUSTOM ERROR MESSAGES section of the Error handling guide which calls actually work with custom error messages and shows it. As an example, as of right now, returning a soapFault in the getMediaMetadata shows An error occurred while adding songs to the Queue (701) instead of showing the custom error message.
I tested those calls with the desktop Sonos app for Mac and the Android app.
Showing it: getMediaURI, getMetadata, getDeviceAuthToken
Not showing it: getMediaMetadata, getAppLink
Can getMediaMetadata work with custom error messages too?

Empty log for Safari Push Notifications webservice

I've implemented Safari Push Notifications both server-side and client-side. On the client, after asking for permissions, the callback function is called with permission "denied".
On the server-side, the logs show that a request for the push package has been made and returns a 200, but a few seconds later the /v1/log endpoint is called with no payload.
Does anyone have an idea how to debug this?
May help following guide and push package creator.
browser-push
A helpful tip is to look in the System Log, from the Console app. Safari shows messages in there.
Another reason for my issue is realted to Django, which as 1.5 doesn't show non-form data in request.POST, but in request.body.

Mobilefirst 8.0 Push notification Implemantation

I have made simple application using Ionic and cordova. Added Mobilefirst plugin in it. Also I have used security adapters in it ResourceAdapter and UserLogin Adapter which is provided by IBM.
Now I want to include push notification part in this project. So I have added push notificationMFP plugin in same project. Sender id and key in push settings. Added scope push.mobileclient also.
When I tried to call MFPPush.registerDevice javascript method I am getting failed to register device.
Failed to register device:"com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPushException: Response: Status=404, Text: Error 404: SRVE0295E: Error reported: 404\n, Error Message: Not Found"
Also when App get initialized I can see in MFP console that particular device in devices list and when I login I can see user ID also get added in device information. So what is problem is something I am missing? Why device is not able to register for push?
The original issue in the question was resolved:
Yes. Now its working Its initialization issue. Just got it. Thnks.
The user then added a new issue via comments:
One more help I need. I am trying to send notification to particular User ID through MFP console. But device can not get any notification. But i cn see User ID against device id. So there is option to send to user id in console. But its not working for me
Unless you got an error in the console, this means that the notification in all likelyhood left the MobileFirst Server. From there there are numerous options why the sending will fail. See the Push Notifications Troubleshooting section.

How to configure Android Push Notifications (GCM) in Appcelerator Titanium Dashboard?

I've tried to following the instructions
Configuring push services for Android devices
However, the steps mention 'Click Push Notifications on the left-side navigation' but they don't exist...
Once you've created a Google API project with GCM enabled, you need to update your application's settings page in Dashboard with the API key and sender ID you generated.
To configure Arrow for push notifications using Dashboard:
Open Dashboard and select your application from the Apps drop-down menu.
Click Push Notifications on the left-side navigation <-- MISSING.
Select the Android Push tab.
Enter the server key in the GCM API Key field and the GCM sender ID in the GCM Sender ID field.
Here's a screenshot to show what's listed...
If I look under Arrow (where I suspect it might be expecting to be listed) that's empty (I'm not using Arrow - I thought it was an alternative UI using declarative XML)...
I've checked the subscription that I'm on (Indie) and it shows that I should have the ability to send up to 1 million push notifications for free..
Does anyone know how I can associate the Appcelerator Titanium project to the GCM server key??
Also, when I looked in Googles developer console, my application (which is live on their app store) wasn't listed, so I've created a new application called 'Gcm'. The Appcelerator Titanium seemed to confirm that I needed to 'create' the application, I was just too worried to call it the same name as the live application. How does the 'Google Developer Console' Application relate to the 'Google Play' application?! - if at all?
UPDATE
I've just discovered in TiApp.xml that I can enable some 'Cloud' settings and this has unlocked the 'Push' menu - so I think all is good now, could someone confirm that this is the right thing to do and answer my related question about Google play applications v google developer console applications?
Update 2
I started to get this error
[ERROR] : GooglePlayServicesUtil: The Google Play services resources
were not found. Check your project configuration to ensure that the
resources are included.
[INFO] : CloudPush.retrieveDeviceToken error: INVALID_SENDER
I'm simply calling this to try and register for Android push notifications ...
CloudPush.retrieveDeviceToken({
success : function(e) {
console.info("CloudPush.retrieveDeviceToken success");
},
error : function(e) {
console.info("CloudPush.retrieveDeviceToken error:"+e.error);
}
});
I have tried with and without the ti.cloud module (I think it got added when I clicked the 'Enable Services' button which meant that I could see the 'Push Notifications' tab, but it seems to still be listed whether the ti.cloud module is elected or not)..
Before..
Q - How to stop the Google Play error and retrieve the device token (oddly I was getting the token before enable services.
Q - Is ti.cloud used to receive the push notification, or is ti.cloudpush sufficient for this?
Thanks for the detailed question :) Let me go into some of the things you mention and clarify what I can.
If I look under Arrow (where I suspect it might be expecting to be listed) that's empty
As you later found out you have to enable platform services for your app which will create an ArrowDB app with the same name as your app. This app will have the Push Notifications in the sidebar to configure. I've updated the guide's wordings to make clear we mean the ArrowDB app, not the Titanium app.
(I'm not using Arrow - I thought it was an alternative UI using declarative XML)...
Don't confuse Arrow with Alloy - which is the MVC framework for Titanium which indeed uses XML.
How does the 'Google Developer Console' Application relate to the 'Google Play' application?! - if at all?
It doesn't. You can even have multiple apps share the same GCM sender.
[ERROR] : GooglePlayServicesUtil: The Google Play services resources were not found.
What did you use to test? A Genymotion emulator without Google Apps installed perhaps? You'll need that.
Is ti.cloud used to receive the push notification, or is ti.cloudpush sufficient for this?
ti.cloud is the module to communicate with ArrowDB, subscribe to channels etcetera. On Android you need ti.cloudpush (or as #Shawn mentioned another module) to retrieve the device token where on iOS you can use a Ti. API for that. Follow this guide for all steps.
You can ignore the Google Play Service error, but it seems your GCM Sender ID and/or API Key is wrong. Read through the tutorial and make sure you put down the right ones.
If you are using Appcelerator Cloud Service to send push notifications, you need ti.cloud to register the devices.
To get the device token and to receive push notifications, you use ti.cloudpush. There are other modules that you can use instead of ti.cloudpush.

WL push notification callback not being invoked in iOS when app is in background

We have push notifications working successfully. Backend event source is a Worklight adapter written in JS using the 'WL.Server.createDefaultNotification' and 'WL.Server.notifyAllDevices' API calls to send unicast notifications. In the front-end, the app is registered for push notification call back using 'WL.Client.Push.registerEventSourceCallback' JS API.
These particular scenarios are not working:
App is open in the background after login. Notification message is received, but user does not tap notification banner message - and instead just opens app by touching app icon. Notification callback method is not called - and subsequently payload from the backend is not available for the method.
App is open in the background after login. Notification message is received which only has iOS badge change and payload but no notification message for the banner or lock screen. In which case user has nothing to tap on. When user opens the app again - notification callback is not called.
Knowledgecenter documentation seems to indicate that the callback method should be getting invoked even if the app is running in the background. This is with Worklight 6.2.0.1.
Push is indeed supposed to work as you've describe. This is a bug.
This is no manual workaround for this.
If you are an IBM customer or Business Partner you will need to open a PMR (support ticket).