Jump to content

Сервисы аутентификации. Аутентификация с помощью Facebook Login (Android)


Viktor Akselrod

389 views

Ранее в блоге мы уже рассматривали использование аутентификацию с помощью 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

image.png

(на момент написания статьи (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\.

image.png

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, имя и т.д. На данный момент в случае успешной аутентификации сервис возвращает только основной токен.

Мы следим за исправлением этой ошибки и сообщим вам, как только это произойдет.

 

Спасибо за внимание.

  • Like 6

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...