9

Firebase 9.0.0에서 Firebase 9.0.2로 한 응용 프로그램을 업데이트했습니다. 나는 메시징 + 광고를 사용합니다.Firebase + Permissions

compile 'com.google.firebase:firebase-messaging:9.0.2' 
compile "com.google.firebase:firebase-ads:9.0.2" 

는 이제 불필요한 권한이 많이

android:name="android.permission.READ_PHONE_STATE" 
android:name="android.permission.READ_EXTERNAL_STORAGE" 
android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

난 아무데도 그 권한을 추가하지 않은 자른, 그래서 그들은 중포 기지에서해야합니다. 내가 내 고객이 이러한 권한을 좋아하지 않아 알고, 그래서

내 애플은 여전히 ​​작동
<uses-permission 
    android:name="android.permission.READ_PHONE_STATE" 
    tools:node="remove" /> 
<uses-permission 
    android:name="android.permission.READ_EXTERNAL_STORAGE" 
    tools:node="remove" /> 
<uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
    tools:node="remove" /> 

그들을 제거, 메시징 및 광고는 여전히 작동 여전히 내가 확인 내 의심을하고 싶습니다.

Firebase가 이러한 권한을 추가하는 이유는 무엇이며 왜 그런 것처럼 제거합니까?

+0

https://groups.google.com/forum/#!topic/firebase-talk/CXgecSxgsRE –

+0

참조 firebase-messaging 또는 firebase만으로 앱을 빌드하면 firebase로 권한이 추가 된 것 같지는 않습니다. 이 사용 권한 중 어느 것도 추가되지 않습니다. 9.0.0으로 앱을 빌드 할 때 9.0.2 (현재 9.2.1)로 이동할 때 이러한 사용 권한이 없다는 것을 확인할 수 있습니까? –

+0

@ArthurThompson 더 이상 9.0.0로 빌드 할 수 없습니다. 그것이 종속성을 업데이트 한 이유입니다. 9.0.0을 사용할 때 "java.lang.IncompatibleClassChangeError : java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir (android.content.Context)"메소드가 가상 유형이지만 대신 직접 유형 ('com.google.firebase.iid.zzg'... '선언) 인 것으로 확인되었지만 이제는 9.2.1로 변경되어 빌드 도구와 기타 모든 기능이 업데이트되었으며 이제는 충돌없이 다시 작동합니다. 불필요한 사용 권한도 사라졌습니다. – ElDuderino

답변

0
android:name="android.permission.READ_PHONE_STATE" 
android:name="android.permission.READ_EXTERNAL_STORAGE" 
android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

이러한 사용 권한은 fcm에서 사용되지 않습니다.

PHONE_STATE 당신이 이러한 기능 중 하나를 사용하지 않는 경우 당신이 그것을 제거 할 수 있습니다 앱에서 메모리에 추가하고 파일을 삭제 전화

READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE의 현재 상태를 알 수 권한을 .

+0

Merge Manifest 파일에서 프로젝트에서 이러한 사용 권한을 제거하는 방법은 무엇입니까? –