Für eine optimale Nutzererfahrung sollten Sie in folgenden Fällen so wenige Bereiche wie möglich anfordern:
die erstmalige Anmeldung von Nutzern. Wenn die Hauptfunktion Ihrer App nicht an eine
Google-Dienst ist die GoogleSignInOptions.DEFAULT_SIGN_IN
-Konfiguration oft
alles, was Sie brauchen.
Wenn Ihre App Funktionen enthält, die Google API-Daten nutzen können, die aber die für die Hauptfunktion Ihrer App erforderlich sind, sollten Sie Ihre App wenn API-Daten nicht zugänglich sind. Beispiel: Sie können eine Liste der zuletzt gespeicherten Dateien ausblenden, wenn der Nutzer Google Drive nicht zugestimmt hat Zugriff haben.
Sie sollten zusätzliche Bereiche anfordern, die Sie nur für den Zugriff auf Google APIs benötigen Der Nutzer führt eine Aktion aus, die Zugriff auf eine bestimmte API erfordert. Für Beispiel: Sie fordern möglicherweise nur dann eine Berechtigung für den Zugriff auf das Google Drive-Konto des Nutzers an, wenn der Nutzer tippen auf „In Google Drive speichern“ Schaltfläche zum ersten Mal.
So vermeidest du, dass du neue Nutzer überfordert warum sie nach bestimmten Berechtigungen gefragt werden.
Für Nutzeraktionen erforderliche Berechtigungen anfordern
Wenn ein Nutzer eine Aktion ausführt, die einen Bereich erfordert, der nicht angefordert wird,
anmelden und GoogleSignIn.hasPermissions
aufrufen, um zu prüfen, ob der Nutzer
die erforderlichen Berechtigungen haben. Falls nicht, rufen Sie GoogleSignIn.requestPermissions
an.
um eine Aktivität zu starten, die die zusätzlichen erforderlichen Bereiche
Nutzer.
Beispiel: Ein Nutzer führt eine Aktion aus, für die Zugriff auf sein Google Drive-Konto erforderlich ist. App-Speicher zu verwenden, gehen Sie so vor:
if (!GoogleSignIn.hasPermissions(
GoogleSignIn.getLastSignedInAccount(getActivity()),
Drive.SCOPE_APPFOLDER)) {
GoogleSignIn.requestPermissions(
MyExampleActivity.this,
RC_REQUEST_PERMISSION_SUCCESS_CONTINUE_FILE_CREATION,
GoogleSignIn.getLastSignedInAccount(getActivity()),
Drive.SCOPE_APPFOLDER);
} else {
saveToDriveAppFolder();
}
Im onActivityResult
-Callback deiner Aktivität kannst du nachsehen, ob die erforderlichen
Berechtigungen wurden erworben. Wenn ja, führen Sie die Nutzeraktion aus.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (RC_REQUEST_PERMISSION_SUCCESS_CONTINUE_FILE_CREATION == requestCode) {
saveToDriveAppFolder();
}
}
}
Sie können auch eine GoogleSignInOptionsExtension
an hasPermissions
übergeben und
requestPermissions
, um weitere Berechtigungen zu prüfen und zu erhalten
bequemer zu gestalten.