/ / Facebook Zaloguj się po odrzuceniu uprawnienia - ios, swift, facebook, fbsdk

Facebook Zaloguj się po odrzuceniu uprawnień - ios, swift, facebook, fbsdk

Od czasu wydania nowego FBSDK napotykam ten problem.

Scenariusz:

1. Logowanie użytkownika do mojej aplikacji przez FBLogin
2.User odmawia jedno z moich uprawnień

  1. Moja aplikacja ustawia go z powrotem na pierwszym ekranie (nie pozwalam na tworzenie konta bez podawania informacji)
  2. Próbuje zalogować się ponownie
  3. Uświadamia sobie, że FBSDK zapisał swoje ustawienia, których nie może zmienić.

Jak zapewnić użytkownikowi możliwośćZmień to? Moja aplikacja przechodzi do rzeczy, zauważam odrzucone pozwolenie i daję użytkownikowi powiadomienie, aby zmienić ustawienie. Ale nie mam pojęcia, co robić w tym momencie.

Odpowiedzi:

3 dla odpowiedzi № 1

Po pierwsze, nie wolno ci robić wszystkich uprawnień jako obowiązkowych z Facebooka. Chociaż w razie potrzeby można sprawdzić, czy udzielono pozwolenia, czy nie, korzystając z poniższego kodu

if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
// TODO: publish content.
} else {
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
//TODO: process error or result.
}];
}

Aby sprawdzić odrzucone uprawnienia

  FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if ([result.declinedPermissions containsObject:@”publish_actions”]) {
// TODO: do not request permissions again immediately. Consider providing a NUX
// describing  why the app want this permission.
} else {
// ...
}
}];

Uwaga : Jeśli użytkownik odrzuci uprawnienia, powinieneśnie od razu poprosić o nich ponownie. Zamiast tego Twoja aplikacja powinna nadal działać. Możesz rozważyć dostarczenie przewodnika lub interfejsu użytkownika wyjaśniającego korzyści wynikające z przyznania tego uprawnienia, ale powinien on poprosić o ponowne podanie tylko wtedy, gdy użytkownik wykona działanie, które tego wymaga.

Ref: https://developers.facebook.com/docs/facebook-login/ios/permissions https://developers.facebook.com/docs/ios/errors