Сервисы аутентификации. Аутентификация с помощью Facebook Login (Android)
Ранее в блоге мы уже рассматривали использование аутентификацию с помощью Facebook Login в рамках iOS приложения. В данной статье мы рассмотрим использование сервиса Facebook Login для Android приложений, поддержка которого появится в версии FGX Native 1.16.1.0.
Настройка серверной части была подробно расписана в статье для iOS. Если вы ранее уже настраивали серверную часть для iOS приложения, то можете пропустить этот шаг.
Перейдем непосредственно к настройке приложения.
1. Добавить библиотеку-зависимость Facebook SDK в настройках проекта с помощью диалога Project -> FGX Android Libraries -> Добавить библиотеку-зависимость.
com.facebook.android:facebook-login:16.2.0
(на момент написания статьи (03/09/2023) актуальная версия SDK 16.2.0)
2. Создаем текстовый файл в папке проекта с именем strings.xml, в который добавляем константы, взятые из настроек приложения на сервере.
<resources> <string name="app_name">APP-NAME</string> <string name="facebook_app_id">APP-ID</string> <string name="fb_login_protocol_scheme">fb1234</string> <string name="facebook_client_token">CLIENT-TOKEN</string> </resources>
где APP-ID - App ID из шага 8a
CLIENT-TOKEN - Client token из шага 8b
APP-NAME - имя приложения
3. Добавляем файл strings.xml в деплой приложения (Project -> Deployment) для обеих платформ Android32/64. Remote path должен быть res\values\.
4. Вносим изменения в шаблон манифеста AndroidManifest.template.xml сразу после плейсхолдера <%fgx-activities%> и до основной activity
... <%fgx-activities%> <!--begin insertion--> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/> <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" /> <activity android:name="com.facebook.CustomTabActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="@string/fb_login_protocol_scheme" /> </intent-filter> </activity> <!--end insertion--> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" ....
Внимание! Из-за ошибки в Facebook Login SDK пока недоступно получение дополнительных данных таких как email, имя и т.д. На данный момент в случае успешной аутентификации сервис возвращает только основной токен.
Мы следим за исправлением этой ошибки и сообщим вам, как только это произойдет.
Спасибо за внимание.
- 6
0 Comments
Recommended Comments
There are no comments to display.