Когда люди создают аккаунты или входят в ваше приложение, используя «Вход через Facebook», они могут предоставлять разрешения, которые вы запрашиваете. При этом они имеют возможность отклонить любые разрешения, за исключением разрешения на доступ к публичному профилю. Люди могут отклонить разрешение, если они не хотят делиться запрашиваемой информацией с вашим приложением или не понимают, каким образом такая информация поможет удобнее работать с приложением.
Если человек отклоняет разрешение, важно, чтобы ваше приложение оставалось удобным и интересным для человека.
Приложение может отреагировать одним из трех следующих способов:
В некоторых случаях приложение может работать и без определенного разрешения. Тогда самым разумным решением будет отнестись с уважением к тому, что человек отклонил разрешение, и продолжить процесс его входа в приложение.
В примере ниже приложение Flick Finder может предоставлять улучшенные рекомендации по просмотру кинофильмов, если у него есть разрешение user_likes
. Но если человек отклоняет это разрешение, Flick Finder просто предоставляет рекомендации более общего характера.
Это поведение свидетельствует об уважении к выбору человека, который решил отклонить разрешение.
Люди могут отклонить разрешение, потому что не понимают, зачем приложению нужна эта информация. В этом случае ваше приложение может вывести диалог, объясняющий, зачем нужна информация и каким образом она поможет сделать работу с приложением более удобной.
В примере ниже приложение Flick Finder выводит диалог, в котором объясняется, что, получив доступ к эл. адресу, приложение сможет присылать оповещения о выходе новых фильмов. Кнопка «Добавить эл. адрес» возвращает человека в процесс «Входа через Facebook», где он может предоставить разрешение email
.
Примечание. В этом примере человек все еще имеет возможность отклонить разрешение email
.
Эта стратегия может использоваться для получения разрешений, которые являются крайне важными или очень желательными для функционирования вашего приложения.
Некоторую информацию можно достаточно просто собрать самостоятельно.
В рассматриваемом примере приложение Flick Finder хочет получить информацию о дате рождения человека, чтобы рекомендовать ему фильмы, подходящие по возрасту. Если человек решил не предоставлять информацию о дате своего рождения при входе через Facebook, Flick Finder может получить эту информацию самостоятельно, независимо от процесса «Входа через Facebook». Мы рекомендуем делать это после того, как у человека было время познакомиться с вашим приложением и он смог понять, каким образом данное разрешение поможет сделать приложение более удобным для него.
К информации, которую можно собрать таким путем, можно отнести такие данные, как user_hometown
, user_location
, user_birthday
или даже email
.
Если человек отклонил какое-либо разрешение в процессе входа через Facebook, ваше приложение может легко это обнаружить и отреагировать, используя одну из описанных выше стратегий.
В Android вы можете вызвать метод getDeclinedPermissions
объекта AccessToken
в Facebook SDK для Android.
В iOS вы можете вызвать метод [FBSDKAccessToken declinedPermissions]
в Facebook SDK для iOS.
Чтобы выявить отклоненные разрешения, вы можете вызвать границу permissions
объекта User
API Graph. Вы можете получить отклоненные разрешения, повторив свой запрос, через отклик:
FB.api('/me/permissions', function(response) { var declined = []; for (i = 0; i < response.data.length; i++) { if (response.data[i].status == 'declined') { declined.push(response.data[i].permission) } } alert(declined.toString()) });
Чтобы выявить отклоненные разрешения, вы можете вызвать границу permissions
объекта User
API Graph:
GET https://graph.facebook.com/me/permissions?access_token=USER_ACCESS_TOKEN
Будет получен отклик в форме:
{ "data": [ { "permission": "user_birthday", "status": "granted" }, { "permission": "public_profile", "status": "granted" }, { "permission": "email", "status": "declined" } ]}
Это означает, что человек дал разрешения user_birthday
и public_profile
, но решил отклонить разрешение email
.
Вежливое поведение в случае отклонения человеком приглашений позволяет поддерживать хорошие отношения с людьми, которые используют функцию «Вход через Facebook».
Следуя одной из описанных выше стратегий, вы сможете добиться того, что люди, которые скачивают и устанавливают ваше приложение, будут входить в него, не испытывая раздражения и разочарования. Как результат: ваша репутация будет безупречна, а рейтинг приложения в магазине будет расти.