PanicInitiative / PanicButton

Panic Button turns your mobile phone into a secret alarm for when you're in trouble
https://panicbutton.io
GNU General Public License v3.0
199 stars 97 forks source link

Include Crashlytics or Parse in pre-production releases #105

Open jmatsushita opened 9 years ago

jmatsushita commented 9 years ago

The testing branch should contain code to submit crash reports to help during playstore alpha and beta releases. At some point Parse was also used. We need to discuss the merits of each.

jmatsushita commented 9 years ago

If possible, allow to include this as a Gradle "debug" build target.

niccs commented 9 years ago

@jmatsushita, playstore doesn't allows debug build target to publish, so we will add crashlytics in release build. Please confirm. Also, why do we need to put the crashlytics integration only in alpha and beta release? I think adding crashlytics in final builds will help us to identify issues later on also.

niccs commented 9 years ago

@jmatsushita,

The code changes for incorporating crashlytics is done. but to complete the Crashlytics integration(to get the crash reports) , we need to do few more configuration changes.

Following are the steps:--

1) Log on to https://fabric.io -- with the playstore registered id. 2) Create Organization. 3) Add the team members email id 4)Generate the API key and build secret for PB 5) Need to replace the generated API key in AndroidManifest.xml 6)Need to replace the generated build secret key in fabric.properties file.

Right now the api key and build secret incorporated in the code are local for test purpose.

Here is the documentation:-- https://docs.fabric.io/android/fabric/working-in-teams.html

jmatsushita commented 9 years ago

@niccs Done and made you an admin on fabric.io

jmatsushita commented 9 years ago

Please also check the previous Parse code (https://github.com/PanicInitiative/PanicButton/commit/1e668f75226ccdd5eb7a239bd04ad0ebbdc19ec7) for possibly relevant debug information for our debug releases.

niccs commented 9 years ago

@Jmatsushita, I will have a look on earlier code. Also, the package name in fabric dashboard is coming wrong( coming as- com.apb.beacon), I think it is because, the app was also registered locally in my id and it allows one app to be registered to one team only. I have deleted this from my local account. Jun, Once you find time, if you can check the app credentials again in fabric, would be good.

jmatsushita commented 9 years ago

@niccs You have an admin account on fabric so you should be able to add the app with its new name and using your api key. I think that you need to follow these steps: https://fabric.io/downloads/gradle

Please also make sure to disable Crashlytics for releases (i.e. doing the reverse of what's suggested here https://docs.fabric.io/android/crashlytics/build-tools.html)

Thanks!

niccs commented 9 years ago

@jmatsushita, I need more information to understand why we need crashlytics only in debug builds. Playstore doesn't allows debug build target to publish. So even if we are in alpha or beta releases, the build target will be Release. Debug builds will be in local testing. Also,I feel including crashlytics in final releases will help us to identify issues later on also.I am not sure, why we want to disable it.

jmatsushita commented 9 years ago

@niccs, Sorry you're right I meant for alpha and beta releases. I'd prefer not to include it in the final production releases for security and privacy reasons.

jmatsushita commented 8 years ago

@niccs Can you deactivate any data collection feature and remove the internet connectivity permission?

niccs commented 8 years ago

Hi @jmatsushita, I have verified, in androidmanifest.xml, internet permissions are disabled and data collection feature is restricted by android , post android 4.