Учетная запись Facebook — это отличный способ подключиться к социальной сети пользователя, предложить ему более персонализированные услуги и ускорить распространение ваших приложений.
Сегодня мы хотим сообщить вам хорошую новость: теперь вы сможете с легкостью интегрировать учетную запись Facebook в приложения Windows Store и Windows Phone 8. С помощью учетной записи Facebook пользователь входит в эту социальную сеть только один раз, и это распространяется на несколько устройств. Если другое приложение захочет получить доступ к учетной записи Facebook, то пользователь должен просто подтвердить это действие, повторно входить в социальную сеть не нужно.
Давайте посмотрим на пользовательский интерфейс. При первом подключении к Facebook пользователь видит следующий экран:
Он должен ввести здесь данные своей учетной записи. Если отметить опцию keep me logged in (Запомнить меня), то в следующий раз, когда приложение (возможно, ваше) запросит доступ в Facebook, пользователю не придется заново вводить свои данные. Вместо этого он увидит следующий экран:
Пользователь должен будет лишь предоставить вашему приложению доступ к необходимой информации и функциям Facebook. После того как пользователь даст согласие, ваше приложение будет получать нужные данные без повторных запросов.
В данной статье мы приводим пошаговые инструкции, как настроить ваше приложение для единого входа с помощью учетной записи Facebook.
Настройка приложения
- Войдите на портал для разработчиков Facebook ( https://developers.facebook.com) и перейдите к своему приложению. Нажмите Edit App (Редактировать приложение) или Create new app (Создать новое приложение)(рисунок 1).
Рисунок 1 - Далее найдите на странице указанный на рисунке 2 раздел, в котором можно обозначить точку интеграции приложения Windows Store с учетной записью Facebook .
Рисунок 2
Введите идентификатор безопасности пакета вашего приложения Windows Store в поле Windows Store ID. Чтобы получить Windows Store ID для приложения и добавить в него функцию входа посредством учетной записи Facebook и системы единого входа (Single Sign-On), перейдите в информационную панель Windows Store по адресу https://appdev.microsoft.com/storeportalsи следуйте инструкциям, указанным ниже. - Открыв информационную панель Windows Store, найдите свое приложение и нажмите Edit (Редактировать)(рисунок 3).
Рисунок 3 - Откроется страница с детальной информацией о приложении. На этой странице нажмите Services (Службы) (рисунок 4).
Рисунок 4 - На следующей странице щелкните пункт Live Services (Службы Live)(рисунок 5).
Рисунок 5 - На открывшейся странице нажмите Authenticating your service (Проверка подлинности службы) (рисунок 6).
Рисунок 6 - Текст, выделенный цветом на рисунке 7, — это ваш Package Security Identifier (Идентификатор безопасности пакета) или App SID, который необходим для реализации системы единого входа.
Примечание. При копировании SID в поле ввода на портале Facebook удалите префикс ms-app://, предшествующий SID пакета.
Рисунок 7 - После того как вы получите идентификатор безопасности пакета (SID) и скопируете его на портал для разработчиков Facebook, как описано в шаге 1, сделайте запрос WebAuthenticationBroker.authenticateAsync с параметром startUri, включающий SID пакета в качестве URL-адреса перенаправления. Удостоверьтесь, что вы используете версию функции authenticateAsync с двумя параметрами, а не версию с тремя параметрами URI обратного вызова. Если приложение использует вход в Facebook, то в параметре startURI, скорее всего, указан следующий URI обратного вызова: www.facebook.com/connect/login_success.html. Его нужно изменить на ваш SID пакета. Для этого измените startURI в функции вызова authenticateAsync.
Было:
https://www.facebook.com/dialog/oauth?client_id=<Ваш Facebook App ID>&display=popup&response_type=token&redirect_uri=www.facebook.com/connect/login_success.html
Стало:
https://www.facebook.com/dialog/oauth?client_id=<Ваш Facebook App ID>&display=popup&response_type=token&redirect_uri=ms-app://<SID вашего приложения Windows Store>/
Все очень просто!
Подведем итоги
Учетная запись Facebook и система единого входа через WebAuthenticationBroker в приложениях Windows Store обеспечивает пользователям простой и удобный способ входа в ваше приложение. Благодаря этому можно персонализировать взаимодействие пользователя с приложением и получить преимущество от «вирусного эффекта» социальной сети. Чтобы узнать больше, воспользуйтесь Facebook C# SDK для приложений Windows Store и Windows Phone. Ознакомьтесь с интерфейсами Facebook Open Graph API — эти программные средства позволяют публиковать сообщения в «Хронике пользователя», чтобы обеспечить максимальную персонализацию. Кроме того, вы можете посетить сайт http://developers.facebook.com, чтобы узнать больше о социальной платформе Facebook и других способах интеграции функций социальных сетей в приложения.