Розробка авторизації через Facebook Login
Facebook Login у мобільних додатках — робочий метод, але з репутацією. Користувачів становиться менше через втому від Meta-екосистеми, iOS 14+ App Tracking Transparency скоротив обсяг даних, які Meta отримує про користувачів. Тим не менше, для додатків з аудиторією 25-45 років та глобальним охватом Facebook Login все ще показує хорошу конверсію.
Технічна інтеграція
Meta SDK: pod 'FacebookLogin' (iOS) / implementation 'com.facebook.android:facebook-login:latest' (Android). SDK вагомий — додає ~4-8 MB до бінарника. Якщо бінарник критичний — альтернатива: OAuth2 PKCE flow у браузері без SDK Meta, але тоді втрачаємо нативний досвід.
На iOS: додати в Info.plist FacebookAppID, FacebookDisplayName, та URL Scheme fb{app_id}. AppDelegate або SceneDelegate повинен передавати application(_:open:options:) в ApplicationDelegate.shared.
На Android: meta-data у AndroidManifest.xml, налаштування queries для Intent до додатку Facebook. З Android 11+ без елемента queries додаток Facebook не виявляється.
Дозволи та Graph API
При логіну запитуємо тільки потрібні permissions. Мінімум: ["public_profile", "email"]. public_profile дає імена та аватар. email — адреса, але Facebook не гарантує її верифікацію: користувач міг указати невалідний email. email може бути null якщо користувач скрив його у налаштуваннях Facebook.
Після отримання accessToken — запит до Graph API для отримання даних:
GET graph.facebook.com/me?fields=id,name,email,picture.type(large)&access_token=TOKEN
id у Graph API — стійкий ідентифікатор користувача для вашого додатку (App-Scoped ID). Різні додатки бачать різні id одного користувача — це намірна ізоляція Meta.
Backend верифікує accessToken через GET graph.facebook.com/debug_token?input_token=TOKEN&access_token=APP_TOKEN. Перевіряє що токен виданий для вашого app_id та не істекло.
Типова грабля: на iOS з Facebook SDK, якщо додаток Facebook встановлено на пристрої — вхід через Facebook app (fast login), якщо ні — через Safari. Поведінка різна, потрібно тестувати обидва сценарії.
Терміни: 5-8 робочих днів. Включає iOS + Android інтеграцію, серверну верифікацію токена через Graph API, обробку відсутнього email, тестування з/без додатку Facebook на пристрої.







