web-dev-qa-db-ja.com

Firebase +権限

1つのアプリをFirebase9.0.0からFirebase9.0.2に更新しました。私はメッセージング+広告を使用しています。

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"

これらの権限はどこにも追加しなかったため、Firebaseからのものである必要があります。クライアントがこれらの権限を気に入らないことを知っているので、

<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がこれらの権限を追加するのはなぜですか?私が行ったようにそれらを削除しても本当に問題ありませんか?

11
ElDuderino

この問題は12.0.1で修正されました。ソース https://developers.google.com/Android/guides/releases

2018年3月28日-Verison12.0.1

12.0.1で修正された問題:

  • GoogleSignInとCredentialsClientが内部のみであると主張する偽のAndroid lintエラーを引き起こした問題を修正します。
  • -licenseアーティファクトに欠落しているminSdkVersionを追加して、READ_PHONE_STATEおよびREAD_EXTERNAL_STORAGE権限が自動的に含まれないようにします。
  • 一部のビルドシステムに影響を与えたランタイムリンクライセンスアーティファクトの一意のパッケージ名を復元します(例:Ionic Pro)互換性の問題。
  • 12.0.1で難読化された一部のフィールド名、つまり、firebase-firestoreおよびfirebase-databaseの@PropertyNameアノテーションのvalue()メソッドを復元します。
5
Guy
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_STORAGEおよびWRITE_EXTERNAL_STORAGEアプリからメモリ内のファイルを追加および削除します。これらの機能を使用していない場合は、ファイルを削除できます。

0
Anil