
Нарешті настав цей день! Сьогодні у нас стаття з кодом. Вона стала результатом двотижневої боротьби з Facebook SDK та Facebook API. Сподіваюся, що інформація, яку я надам тут, буде вам корисною. Згідно з моїм досвідом, немає жодної твердої гарантії, що все залишиться незмінним після наступного оновлення Facebook SDK, тому слідкуйте за оновленнями, поки це ще актуально.
План:
- Інтеграція Facebook SDK (читаємо зараз)
- Авторизація та обмін новинами
Відмова від відповідальності. Як і решта моїх статей, ця може містити деякі не оптимальні рішення, тому якщо ви хочете вказати на кращі варіанти, обов'язково зробіть це в коментарях нижче — я буду радий почути від інших розробників Unity.
Отже, ура Facebook!
Найпопулярніша соціальна мережа у світі навряд чи потребує представлення чи переліку переваг залучення гравців і заохочення їх ділитися своїми досягненнями в іграх з друзями у Facebook. В цілому, існує два можливих способи інтеграції Unity з Facebook:
- Використання Facebook Graph API (низькорівневий API на основі HTTP-запитів)
- Використання Facebook SDK для Unity (набір інструментів, що надає специфічні можливості для платформи)
У першому випадку ви зможете спілкуватися з сервером Facebook на нижчому рівні. Це корисно, коли ви працюєте з веб-застосунками або веб-сайтами, але спілкуючись з віддаленим сервером через REST-архітектуру та аналізуючи його запити, ви зможете досягти більшого контролю над комунікацією з Facebook. Ваш додаток також буде трохи легшим (всього кілька класів у порівнянні з повною бібліотекою в SDK).
У другому випадку використовується буферна бібліотека. Вона містить найпопулярніші методи та сценарії, що використовуються при роботі з Facebook.
Ось приклад авторизації через SDK:
FB.LogInWithReadPermissions ( new List<string>(){"public_profile", "email", "user_friends"}, AuthCallback );</string>
Вам потрібно лише вказати дозволи та зворотний виклик, визначений раніше, який дозволить вам отримати та обробити відповідь після повернення логіки в ваш додаток. До речі, працюючи з SDK, сама бібліотека відповідає за пошук доступного додатку Facebook, і якщо вона не знайде жодного, вона перенаправить вас на сторінку, де ви зможете виконати всі необхідні дії. Крім того, є гарний метод FB.Api(), який дозволяє викликати всі інші необхідні методи в GraphApi через SDK.
Зверніть увагу: для успішної інтеграції Unity з Facebook, перевірте офіційний веб-сайт (оскільки команда Цукерберга просто обожнює впроваджувати невеликі зміни весь час). Подивіться тут спочатку:
Тепер, коли ми знаємо, як інтегрувати Unity з Facebook, пропоную вам інтегрувати цю соціальну мережу у ваш проект. Для цього натисніть це посилання, завантажте пакет та імпортуйте існуючий проект, двічі клікнувши на нього.
Коли ми закінчимо, з'явиться новий пункт меню з назвою Facebook. Відкрийте Facebook/Редагувати налаштування:
Тепер ми можемо налаштувати наш додаток в Інспекторі:
Як ви можете бачити, нам потрібно ввести Назву та App Id. Тому зараз час створити його у Facebook, використовуючи це посилання.
Після вказівки назви нашої гри (для цілей цього навчального посібника я припустив, що ми створюємо гру), нас буде переадресовано на її сторінку.
Підказка. Варто зазначити, що Facebook не дозволяє включати слово "face" у назву додатків. Чому "face", а не "facebook"? Я не знаю. Але врахуйте це, обираючи назву для вашого додатку.
Після копіювання AppID у відповідне поле редактора та вказівки назви вашого додатку ви можете спробувати протестувати зразки, надані з SDK, просто перетягуючи всі доступні сцени:
Після натискання Play (поточна сцена повинна бути Головне меню) ми побачимо:
Тут ми можемо спробувати всі можливості SDK.
Android
Зверніть увагу, що нам потрібно налаштувати деякі додаткові параметри для мобільних платформ. Давайте подивимося, як це працює з Android OS.
Щоб створити збірку для Android, просто змініть цільову платформу. Ви можете зробити це в Файл/Налаштування збірки…/Android/Налаштування гравця…
Натисніть Налаштування гравця, щоб редагувати налаштування збірки для вибраної платформи. Тут нам потрібно вказати Bundle Identifier (ви можете використовувати будь-яку назву, яку хочете) та мінімальний рівень API (Facebook SDK вимагає 15).
Давайте повернемося до Facebook/Редагувати налаштування — тут ми бачимо, що всі наші зміни були збережені.
Тепер нам потрібно повернутися до сторінки налаштувань гри у Facebook і ввести назву пакету, назву класу та ім'я для налагодження. Для цього відкрийте вкладку Налаштування і додайте платформу (якщо вона ще не доступна), а також скопіюйте дані з редактора в відповідні поля, які ви бачите на зображенні нижче.
Панель з усіма необхідними опціями (такими як номер пакету, назва класу та ключові хеші) з'являється після того, як ми виберемо правильну платформу (в нашому випадку це Android):
Це все, що вам потрібно знати про інтеграцію Facebook в Unity. Удачі з вашими збірками для Facebook!
“Прощавайте і дякуємо за всю рибу”
Частина 2. Інтеграція Unity у Facebook: авторизація та обмін новинами
Потрібна розробка MVP, iOS та Android застосунків або прототипування? Ознайомтеся з нашим портфоліо та замовте сьогодні!