En iyi kullanıcı deneyimi için, mümkün olduğunca az kapsam talep etmelisiniz.
ilk kez oturum açıyor. Uygulamanızın temel işlevi
Google hizmeti, GoogleSignInOptions.DEFAULT_SIGN_IN
yapılandırması genellikle
ihtiyacınız olan tek şey bu.
Uygulamanızda Google API verilerini kullanabilen ancak kullanılamayan özellikler varsa bir gerekliliklerden biri olması durumunda, uygulamanızı en iyi Böylece, API verilerine erişilemediği durumlarda bu sorunlarla kolayca başa çıkabileceksiniz. Örneğin, kullanıcı Drive'a izin vermediğinde yakın zamanda kaydedilen dosyaların listesini gizleyebilirsiniz erişim.
Yalnızca Google API'lerine erişmeniz için gereken ek kapsamları istemelisiniz. Kullanıcı, belirli bir API'ye erişim gerektiren bir işlem gerçekleştirdiğinde Örneğin, Örneğin, kullanıcının Drive'ına yalnızca kullanıcı "Drive'a Kaydet"e dokunduğunda ilk kez kullanılıyor.
Bu tekniği kullanarak yeni kullanıcıları bunaltmaktan veya kafa karışıklığı yaşamaktan ve kullanıcılara bazı izinler verilmesine yardımcı olabilir.
Kullanıcı işlemlerinin gerektirdiği izinler isteme
Bir kullanıcı, aynı zamanda istenmeyen bir kapsam gerektiren bir işlem gerçekleştirdiğinde
oturum açın, kullanıcının daha önce oturum açmış olup olmadığını kontrol etmek için GoogleSignIn.hasPermissions
numaralı telefonu arayın
gerekli izinleri verdi. Doğru değilse GoogleSignIn.requestPermissions
numaralı telefonu arayın
belirtir.
Örneğin, bir kullanıcı Drive'ına erişmeyi gerektiren bir işlem gerçekleştirirse aşağıdaki adımları izleyin:
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();
}
Etkinliğinizin onActivityResult
geri aramasında,
ve izin başarılı bir şekilde alındıysa kullanıcı işlemini gerçekleştirin.
@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();
}
}
}
Ayrıca hasPermissions
adlı kullanıcıya GoogleSignInOptionsExtension
iletebilir ve
Daha fazla izin grubunu kontrol etmek ve almak için requestPermissions
kolaylaştırdık.