…hy an app needs a specific permission. Why does a flashlight app need the READ_CONTACTS permission? A good practice is to provide an explanation before requesting something, yet be careful not to go overboard. Too much information in the form of dialogs/snackbars can lead to bad user experience. The suggestion from Google themselves is to present extra information only when needed — for example when the user has declined a request once, yet tries to use functionality that requires the specific permission. This usually means that it is not clear to the user why the app need the required permission. That is why a short and informative explanation before showing the system dialog is a great course of action.
Instead, the Material Design team’s focus is purely on the guidelines, which constantly evolve. Individual products have their own design teams that use these guidelines. They might choose to not follow certain specifics if they felt the need to break away, such as the use of bottom tabs before they were “made official” by the Material team. This allows individual products to have their own character and ethos while living inside the general constraints recommended by the Material team.