Can the mobile App share only selected attributes to Crashlytics? - crashlytics

As part of the crash report, I see several attributes about the mobile, platform, app, crash are gathered by the Crashlytics SDK and sent to Crashlytics.
Due to security concerns, we DO NOT want to send certain attributes (e.g. device rooted status) to Crashlytics. Is there a configuration or way to implement this ?

Mike from Fabric here. I haven't heard of this particular security concern before. There is not a way to customize the data payload sent over.

Related

Is it possible to avoid collecting specific data in Sentry?

when I’m in a sentry issue description page I can see some information collected by the sentry service and I’d like to avoid collecting them to avoid privacy issues.
The information that I’d like to not see are: app.device and user id as you can see here:
Is it possible? I’m concern about new apple privacy restrictions. I don't know if I understood them correctly, but it is necessary to explain to the user, using a pop up or something similar, that the app is using a third party software to collect data about "app crashing" and "app performance". Giving to the user the possibility to choose to not collect those data would bring to developers a lot of headaches.
I searched in all project settings and documentation but I found only a way to hide certain tags/data but the point is not hiding information, but not collecting them at all.
Thanks
The 'user.id' that Sentry creates is not an identifier that can be used to track the user across apps or devices. It's a random id created when the app runs for the first time and it's sent with all errors that happens.
The sole goal of this ID is to give the developer an idea of how many different users are affected by an issue. The developer (owner of the app) doesn't know exactly who the user is and if that same users reinstalls the app, a new id is generated so technically Sentry would report all new errors as a new user. Which is fine given the goal is to give an approximation of impact of an issue.
Developers might focus on issues that affect more customer than not.
That said, you can strip data in many ways. Through the SDK or in Sentry itself.
If you drop data in Sentry, that is done before the event is written to disk.
Sentry's documentation talks about Scrubbing Sensitive Data here.
Doing it on the SDK side, for example for React Native, you could do:
Sentry.init({
dsn: "https://examplePublicKey#o0.ingest.sentry.io/0",
beforeSend(event) {
// Modify the event here
if (event.user) {
// Don't send user id
delete event.user.id;
}
return event;
},
});
There's also a page talking about Data Privacy in the context of Google and Apple:
https://docs.sentry.io/product/security/mobile-privacy/

Titanium Appcelerator App (IOS) publishing issue

Hi I have uploaded my app to iTunes connect. The app is validated and submitted successfully. While publishing the app to the app store my app got rejected because of insufficient meta data
can any one tell me the reason for the same and what changes do I require to make to resolve the issue.
Metadata rejection means that the description/screenshots/search tags, that us anything apart of the IPA, which you provide in iTunes, is not as per the guideline or is not incomplete.
In the iTunes Resolution Center they will mention that issue in details. If not you can contact them through the chat option and ask for more information. Usually the Resolution Center will provide all the details.
Insufficient meta data means you might have provided invalid meta data. There are 17 guidelines given by Apple for Metadata as given below. Make sure that you are following all of them.
Apps or metadata that mentions the name of any other mobile platform will be rejected
Apps with placeholder text will be rejected
Apps with names, descriptions, screenshots, or previews not relevant to the content and functionality of the App will be rejected
App names in iTunes Connect and as displayed on a device should be similar, so as not to cause confusion
Small and large App icons should be similar, so as to not to cause confusion
Apps with App icons, screenshots, and previews that do not adhere to the 4+ age rating will be rejected
Apps with Category and Genre selections that are not appropriate for the App content will be rejected
Developers are responsible for assigning appropriate ratings to their Apps. Inappropriate ratings may be changed/deleted by Apple
Developers are responsible for assigning appropriate keywords for their Apps. Inappropriate keywords may be changed/deleted by Apple
Developers who attempt to manipulate or cheat the user reviews or chart ranking in the App Store with fake or paid reviews, or any other inappropriate methods will be removed from the iOS Developer Program
Apps that recommend that users restart their iOS device prior to installation or launch may be rejected
Apps should have all included URLs fully functional when you submit it for review, such as support and privacy policy URLs
Apps with screenshots, previews, and marketing text that do not clearly identify supplemental content or items that must be purchased separately (e.g. using IAP) will be rejected
App previews may only use video screen captures of the app, voice-overs, and textual and design overlays, or the app will be rejected
Apps with previews that display personal information of a real person without permission will be rejected
App previews may only include music that is licensed for that purpose in all selected territories
App previews that include content played or streamed via the app (e.g. iTunes playlist, YouTube streaming video) that is not licensed for use in the preview will be rejected
Finally, you have to make sure that you have provided information about how to use your application so that they can easily test the application.

is web view wrapper app get rejected by apple app store?

I am creating the app which loads the HTML page in UIWebView. Here, we are doing the offline capture feature for the app(doing encryption and storing data to the device using coredata).
Note : My App UI is completely UIWebView.
Recently, I heard that these kind of apps gets rejected by apple app store.
If it is true or some one have the same rejection, please provide the info.
your help could be appreciated.
Just using HTML as an implementation method of your UI doesn't become a reason for rejection. This once has been an issue a few years ago, and Apple formally does not limit implementation method anymore. If they do, most of hybrid app platforms couldn't work.
If someone have rejection of their HTML UI app, that should be due to bug or crude implementation of the app features rather than using of HTML stuff. In many cases HTML based UI on mobile systems fails to provide nice responses, then you need to care a lot not to break them. If the reviewer think your app is broken, then your app will be rejected.
Take care that the basis of normal or working state is always Apple's native app.
Yes. An app which its purpose is only to preview a website will be rejected based on Apple's Review Guidelines. Your app has to offer a minimum functionality and introduce at least some App Specific values to be acceptable. You can refer to this link for more information on Apples policy for releasing new applications:
App Store Review Guidelines Minimum Functionality

Google Analytics iOS SDK - Multiple accounts

I am trying to make my view controllers be tracked by two different accounts on my iPhone app. I am currently using the version 1.5.1 of the SDK, which doesn't support this functionality. On the documentation of the version 2, it says that it supports multiple trackers, but I couldn't figure out a way to make both track the same view. Does anyone know how can I do that?
Thanks!
here is the detailed explaination for the same
As of version 2 of the SDK, you can use multiple trackers in a single implementation, one per unique tracking ID. All trackers share the same global state held by your GAI singleton,including settings like periodic dispatch interval, app-level opt out, and debug mode.
Keep in mind that automatic screen tracking and uncaught exception tracking will only use one tracker to make tracking calls. If you are using these features and want to send similar data to other trackers, you will need to do so manually.
For reference, automatic screen tracking uses the tracker specified in the tracker property of a given GAITrackedViewController. Uncaught exception tracking uses the default tracker specified in your GAI instance.
Here the detailed code & documenation about the same,you should view this
I am sure this'll help you...!!!

iOS Crash Reporter Service / Alternative to MacDevCrashReports.com

I'm looking for a iOS crash reporter web service. I know MacDevCrashReports but they currently do not accept new sign ups.
I know there is a open source crash reporter framework on GitHub, but I don't want to put that stuff on a server, configure it and so on. A nice web service would be much nicer.
Thanks,
Patrick
I've been using Crittercism for my iOS and Android apps. It's saved me a LOT of time. It has a few more features than BugSense and Hoptoad.
MacDevCrashReports is running out, since I am not able to continue providing the service for free, the amount of data is just too huge. 100.000 crash reports e.g. require about 2GB of storage. BUT I am working on a new service with some friends to provide enhanced functionality for managing crash reports and other developer related data. You might want to check for HockeyApp for news about that.
Until then, you can also use the source MacDevCrashReports is based on, on your own web server. It is completely open source and available at GitHub.
The process of collecting crashes is using PLCrashReporter. Which is more reliable and is async-safe. There are also cases of crashes, like crashes in objc runtime, where it will result in a deadlock (Information by Landon Fuller, creator of PLCrashReporter).
Symbolication of PLCrashReporter created crash log files, can be done with the dSYM bundles, check this description.
Regarding the AppStore argument from Peter. As Patrick points out, this is not working for Ad-Hoc builds, which is one big issue, since you want to find and fix the crashes while testing. On the other side, the crash reports in iTunes Connect are very inaccurate:
The data set only updates once a day
The data is only available after users sync their devices with iTunes and only IF they agreed sending that data. Since most users don't understand the dialog, they deny
You only get a subset of crashes, the top 5
You don't get instant reports, as opposed using an in-app reporter
You don't get grouping of similar crashes as the web service does
You don't get a web interface to work with the crashes, make notes, mark as fixed, etc.
iTunes connect reports for my app to have 0 (zero) crashes, but in my database there are about 200! Check this blog post by futuretap about their experience and findings of using an in-app crash reporter.
There is a new service called BugSense . Give it a shot!
For ad-hoc crash reports you can use TestFlight. It has TestFlights SDK, using which you can collect crash reports and additional data, checkpoints, feedbacks.
If you're distributing through the App Store, you should get crash reports in iTunes Connect.
We're playing around with Hoptoad for some apps. Looks to work pretty well.
I've used HockeyApp and Crashlytics with great success. HockeyApp is nice in that once you've added your IPA file to their service they even provide a download page for you to distribute your build to your testers.
Crashlytics is a little cleaner from a UX perspective but it's still in beta and has a bit of a wait period whereas HockeyApp you can use immediately and it's a bit more mature. It also seems Crashlytics gives preference to apps that are already in the app store when you sign up for the program.
You can also check out BugHD,support iOS,Mac & Android Crash Report
For tracking crashes, I really like Appsee for iOS (although also great for Android apps). It gives detailed crash reports, and also session recordings that let you visually monitor all crashes within your app.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
Appsee.start()
return true
}