Hello,
We are using
compile 'com.google.firebase:firebase-common:9.6.1'
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-analytics:9.6.1'
compile 'com.google.firebase:firebase-crash:9.0.1'
And it appears that adding Firebase Analytics and Crash adds Cloud messaging permissions to our app, specifically
com.google.android.c2dm.permission.RECEIVE
${applicationId}.permission.C2D_MESSAGE
Our app does not make use of any cloud messaging functionality.
Our company has few apps with multimillion existing user base, and we are looking at migrating our analytics backend from Google Analytics to Firebase. In the past, when permissions were added to the existing app it has resulted in very slow upgrade velocity (as compared with app update with no permission change) and multiple support tickets from users (to explain added permission).
Ideally we would like to be able to add only permissions that derived from the library functionality; if we are risking thousands of users staying on old versions of our app because of onboarding to FB, this becomes not only engineering issue.
In case every Firebase module absolutely requires those permissions, could I suggest that documentation includes this data as part of onboarding guide (or would appreciate pointers if such guide exists)? It appears that may be quite important for developers converting from GA to Firebase.
Additionally, it appears that WAKE_LOCK permission gained in importance in FB (as compared with GA where that was a requirement only for non-GP devices) and cannot be safely removed. Could that be reflected in documentation too?
Thanks much,
Eugene