2012-11-06 3 views
0

내 acra 버그 보고서가 BugSense에 "Android ID"필드와 함께 표시됩니다. acra : "android id"를 보내지 마십시오

enter image description here

내가이 테스트, 그리고 응용 프로그램 설치 간의 일정하게 유지된다. 우리는 사용자를 추적하는 데 사용할 수있는 정보를 보내고 싶지 않습니다. 그러한 데이터를 보내는 것을 피할 수있는 방법이 있습니까?

보고서 데이터를 전혀 사용자 정의하지 않으므로 기본값입니다. 나는 READ_PHONE_STATE 권한을 부여하지 않으므로 "Android ID"가 BugSense로 보내지는 것을 막을 것으로 기대됩니다.

어떤 아이디어가 있습니까? 덕분에 .

답변

1

customReportContent (https://github.com/ACRA/acra/wiki/AdvancedUsage#wiki-Choosing_which_fields_to_be_included_in_reports)을 시도해 볼 수 있습니다. 문서에 따르면 "customReportContent에 설정된 필드 만 실제로 처리됩니다". 자신의 샘플 코드에서

:

@ReportsCrashes(formKey = "xxxxxxxxxxxxxxxx", 
      customReportContent = { APP_VERSION, ANDROID_VERSION, PHONE_MODEL, CUSTOM_DATA, STACK_TRACE, LOGCAT },     
      mode = ReportingInteractionMode.TOAST, 
      resToastText = R.string.crash_toast_text) 
+0

안드로이드 ID 이외의 모든 단일 필드를 열거 값을 제외하는 방법, 대있다. –

+0

@JeffreyBlattman : ACRA가 제공한다는 사실을 알지 못합니다. 문제의 값은 아마도'android.provider.Settings.System'의'ANDROID_ID' 값일 것입니다. 나는 이것이 독립적으로 토글 가능해야한다는 것에 동의하지만, 그것은 아마도 여러분이 요청할 필요가있는 기능 일 것입니다. – CommonsWare

+0

이유가 확실하지 않지만이 방법이 효과적이었습니다. 장치 ID에 대한'ReportField'가 있는데 그것은 IMEI 번호이며'READ_PHONE_STATE' (내가 부여하지 않은)를 보내야한다고합니다. 내가 제거한 필드가 정확히 안다는 이유는 안드로이드 ID가 전송되지 않기 때문입니다. –

0

당신이 당신의 응용 프로그램에 READ_PHONE_STATE 권한를 추가 한 경우의 DeviceID 번호

포함/비활성화를 사용하지만 사용자의 포함을 해제 할 수 있도록하려면 충돌 보고서에 기기 ID가 있으면 다음 CheckBoxPreference를 포함 할 수 있습니다.

<CheckBoxPreference android:key="acra.deviceid.enable" 
    android:title="@string/pref_acra_deviceid" 
    android:summaryOn="@string/pref_acra_deviceid_enabled" 
    android:summaryOff="@string/pref_acra_deviceid_disabled" 
    android:defaultValue="true"/> 

strings.xml 파일에 필수 문자열을 추가하는 것을 잊지 마십시오. 내가 바라고 있어요

https://github.com/ACRA/acra/wiki/AdvancedUsage#wiki-Enable/disable_including_DeviceID

+0

이 작동하지 않습니다. 나는 그 권한을 추가하지 않았고 달리 권한을 부여하지 않았다. 내 생각 엔 "안드로이드 ID"는 장치 ID와 다릅니다. 유일하게'customReportContent'를 명시 적으로 호출하는 것이 효과적이었습니다. –