We're using Fabric Crashlytics with BETA for distribution of our builds and we noticed that it adds certain set of unwanted preferences to app data. One of them is called 'TwitterAdvertisingInfoPreferences' which doesn't seem to be useful for our usage and may become a privacy issue. How can we prevent Crashlytics from adding it?
Mike from Fabric here.
That preference is added when an app starts using Fabric and is one of the identifiers used to help uniquely identify devices to give accurate counts of the number of users affected by crashes. Fabric completely respects the limit ad tracking features on both iOS and Android so if a user reset their advertising identifier then they would be treated as a new user for Crashlytics or Answers.
You should be able to write your own random value to advertising_id in that shared preference in order to block the tracking. I don't know if that would violate Fabric's terms of use.
Related
I got below mail from play store. so we are using firebase sdk for analytics in our app.
Could you guys help we need to fill the below form.
New Advertising ID declaration form coming to Console
Starting July, you'll need to tell us in Play Console if your app uses an advertising identifier. This will let us provide helpful feedback if your release is at risk of having an advertising identifier zeroed out. You will not be able to create releases targeting Android 13 until you complete the advertising ID declaration form.
As a reminder, apps that target API level 33 (Android 13) or later and use advertising ID must include the normal permission com.google.android.gms.permission.AD_ID in their Android Manifest.xml. This will prevent your advertising identifier from zeroing out. If you do not declare the permission in your manifest file, or if you use an SDK that omits the permission from their library manifest, this may impact your advertising and analytics use cases.
I had the same question so I contacted Firebase Support and they replied that Google Analytics for Firebase uses Advertising ID by default. More info: https://support.google.com/firebase/answer/6318039?hl=en
The answer to ask someone else is not helpful at all. Especially when you don't have a "digital analytics team" or a "marketing team" as a single app developer. The question is whether Firebase uses the AD_ID internally to track visitors or not, not whom to ask.
Ok then. I did some research and and I found that Firebase is not using the AD_ID at all. Also in the codebase of the Firebase plugins I was not able to find the AD_ID string somewhere - just for the iOS implementations. So I guess (let's say about 90 %) you can fill the declaration form by saying "no, I am not using the AD_ID", when you are only using Firebase and no other tracking / advertising plugins.
Another information: Google will not remove your app, if you do a mistake here. So if your app actually uses the AD_ID and you don't know it, the worst case which would happen then is that they are filling the AD_ID with zeros, means you would get in trouble "only" with tracking or analyzing your visitors/customers.
Most likely yes, but it depends on the exact firebase libraries your using.
My app doesn't use ads, but I do the following firebase libraries.
implementation 'com.google.firebase:firebase-core:21.1.0'
implementation 'com.google.firebase:firebase-analytics-ktx:21.1.0'
implementation 'com.google.firebase:firebase-crashlytics:18.2.12'
This answer states that
You may not be including this permission explicitly in your AndroidManifest.xml but it could still be present in your final merged manifest after the build is done, contributed by one of the dependencies you have on your project.
I checked my app's merged manifest file and the com.google.android.gms.permission.AD_ID was included in the final manifest.
As announced by Google, the Firebase Crash Reporting is joining forces with Fabric. Here's a link
The exact details of how is this going to happen are abstract. But for developers who were using Firebase Crash Reporting, does this mean that they have to create a new account on Fabric and integrate its SDK and remove the one from Firebase?
I know I could wait until Google does the actual implementation, but switching from one SDK to another is not the best approach, if anyone has any insight on this...
The following is the text from the Firebase console when looking at Crash Reporting for the first time without any existing data. There's no additional information available about how exactly it's going to work.
Fabric’s Crashlytics
In the future, Fabric’s Crashlytics will become our primary crash
reporter because it provides advanced tools for solving stability
issues. If you’d like to be an early adopter, you can get a head start
by using Crashlytics on Fabric’s platform.
Crash Reporting
If you prefer to monitor stability in Firebase, you still have access
to Firebase Crash Reporting, which equips you with the essential tools
you need to track and resolve crashes. Eventually, Firebase Crash
Reporting will be seamlessly upgraded to Crashlytics.
according to the Google groups discussion, they recommend ppl to use crashytics for now if they don't have any strong preferences.
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/firebase-talk/_uUuJm0wui8/rHuWYKbABwAJ
Ian Barber
We're mainly trying to signal forward intent - the feature sets are slightly different so I appreciate you may prefer to use Firebase Crash on a new app, but for those with no standing inclination we're recommending they go with crashlytics.
I have several customized Apps which have different package name/bundle ID. Crash data will be sent to different apps in Fabric Crashlytics dashboard (I guess they have different package name), even if the crash data are same(same type, same exceptions...). My question is: is that possible or is there a way to get the aggregated crash data from these Apps? Thanks.
Mike from Crashlytics and Fabric here.
If you want multiple apps to flow into a single "parent" app on your Fabric dashboard, then here's what you need to do.
First ensure that the parent app has been added to your Fabric dashboard. Then you want to use something like this, depending on the kits of Fabric that you're using:
Fabric.with(new Fabric.Builder().kits(new Crashlytics(), ...).appIdentifier("parent app identifier").build());
One important note is that if you're using Proguard or Dexguard, de-obfuscation will not work correctly on crashes from the child app. Second, currently this only supported on Android.
Hi recently published a Crashlytics enabled mobile app and we don't how to make it so that our development sessions do not skew the result of the daily reports we get from the service.
Ideally we'd want to have separate reports for development sessions and productions service but without having to resort to complicated adjustments like changing the package name.
Thanks in advance for any help.
Mike from Crashlytics here.
In addition to changing the name of your app which was mentioned, you can also create multiple organizations and conditionally call which API key to use based on the type of build you're doing.
Change the version name to Beta in your manifest
I'm looking for an .jar or library project that will allow users of my application to easily send feedback from inside the application about their experience.
As asked in this question, I am looking for something similar to the crash reporting tool used in Google Plus, that allows the user to get in contact with me, besides leaving bad reviews.
Some not-quite there solutions that came up in answers to other questions:
ACRA : Application Crash Report for Android (functions as a crash reporting tool)
Hockey Kit: Helps distribute betas, nothing related to send feedback to developer.
Does a library like this exist? Is there an easy way to gather user feedback from within the application?
For a full-featured user support service, you can have a look to Capptain: http://www.capptain.com/
But with ACRA you can also trigger a report programmatically. You could call the method handleException(new UserRequestedException()) when the user selects an option in your preferences screen, for example.
You would then filter your ACRA reports spreadsheet for all stacktraces containing UserRequestedException.
UserRequestedException would be a custom Exception that you would implement.
The NOTIFICATION mode can be configured to display a form containing an e-mail field and comments field. The e-mail given by the user the first time is saved in the apps preferences.
A bit late to answer your question, but you might want check out this: http://www.android-feedback.com/ . Its an in app feedback / support system. Its not live yet, but the beta stage is going to start in a few weeks. (and beta testers get bumped to the premium/paid plan once live)
Edit: Disclaimer: its my project
i think you need to use a tool like instabug it provides you a way for collecting bug reports and feedbacks about user experience and also you can talk back to them
As of this date (27th April 2018), HockeyApp can handle this issue. It enables users to send In-app Feedback to developers, which then developers can access through a Dashboard.
Check out: www.hockeyapp.net
The problem I've had with implementing HockeyApp, is that, the feedback form requires the user to add unnecessary details like name, email, etc. I can't seem to find a way to add these detail programmatically.