Настройка интеграции с Facebook 1 (для версий до 10.0 включительно)
В этой статье содержатся все сведения о канале общения операторов сервиса Webim через социальную сеть Facebook. Данная статья актуальна для интеграции с Facebook при использовании версий Webim до 10.0 включительно. Начиная с версии 10.1 интеграция настраивается намного проще и быстрее при помощи использования приложения Webim (см. ссылку).
В соответствии с решением Тверского суда Москвы от 21 марта 2022 года о запрете продуктов компании Meta мы не предоставляем данные услуги. Уточняйте подробности в нашем чате или пишите на почту.
Чат Facebook можно подключить к сервису Webim в качестве канала общения. Все сообщения пользователей из чатов с Вашим сообществом попадут в общую очередь Webim и буду распределяться из неё между Вашими операторами. Общий интерфейс, общая очередь, общий список операторов и механизм обработки обращений. Это удобно и эффективно. Вы можете подключить любое число Страниц Facebook к своей учётной записи Webim.
До перехода к подключению, собственно, самой интеграции, необходимо создать и настроить своё приложение в Facebook. О том, как это сделать, подробно расписано в этой статье.
Добавление канала общения в Webim
Первым делом нужно добавить канал общения в Webim:
- Перейдите в раздел основных настроек приложения (Настройки (Settings) -> Основное (Basic)). Здесь запишите или скопируйте (например, в предварительно открытый текстовый документ) секрет приложения (App Secret), чтобы не потерять.

- В отдельной вкладке браузера откройте страницу Общих настроекWebim (Settings -> General). В разделе Каналы общения (Communication Channels) найдите Facebook и нажмите Добавить страницу (Add Page).

- Откроется форма Добавление страницы Facebook (Adding a Facebook Page). Заполните поля формы следующим образом:
- Название страницы (Page Name): введите любое удобное для вас название страницы.
- Маркер доступа страницы (Access Token): вставьте маркер доступа из Facebook, сохранённый Вами в текстовом документе, в это поле.
- Код подтверждения (Confirmation Code): придумайте и введите здесь псевдослучайный набор знаков по тем же правилам, как придумываете пароли.
- Секрет приложения (App Secret): вставьте секрет приложения Facebook, сохранённый Вами в текстовом документе, в это поле.
- Отдел (Department): если сообщения со страницы Facebook нужно направлять в определённый ранее созданный отдел Webim, выберите его из списка. Если сообщения можно направлять операторам вне зависимости от того, к какому отделу они принадлежат, оставьте значение Без отдела.
- Вернитесь во вкладку с настройками приложения Facebook (важно: вкладка с Webim должна оставаться открытой) и откройте Messenger -> Настройки (Settings). Здесь в разделе Webhooks нажмите кнопку Добавить URL обратного вызова (Add Callback URL).
- В появившейся форме заполните поля URL обратного вызова (Callback URL) и Маркер подтверждения (Verify Token): скопируйте значения адреса сервера и кода подтверждения из вкладки с формой добавления страницы Facebook в Webim, затем вернитесь на вкладку c Facebook и вставьте скопированные значения в соответствующие поля формы. Для наглядности примеры заполнения обеих форм представлены в иллюстрации ниже (адрес сервера и код подтверждения копируются из формы справа и вставляются в форму слева).

- Сохраните заполненные формы сначала на вкладке с Webim, а затем c приложением Facebook. В противном случае, на вкладке с приложением Facebook Вы увидите сообщение об ошибке.
Настройка Webhooks
- Теперь в разделе Webhooks появится уже добавленная страница и рядом с ней появится кнопка Добавить подписки (Add subscriptions). Нажмите на эту кнопку.

- В появившейся форме поставьте галочку у messages и нажмите Сохранить (Save).

Создайте запрос на проверку приложения
- Теперь перейдите в Проверка приложения (App Review) в раздел Разрешения и функции (Permissions and Features). В списке разрешений найдите 4 разрешения: pages_show_list , pages_messaging , pages_read_engagement и pages_manage_metadata . У каждого из этих разрешений нажмите кнопку Запросить расширенный доступ (Request Advanced Access).

- Теперь на любом из разрешений нажмите кнопку Редактировать запрос на отправку приложения (Edit App Review Request).

- После этого Вы попадёте на страницу редактирования запроса.

Заполнение форм
Чтобы отправить приложение на проверку, Вас попросят заполнить следующие формы:
Информация для подтверждения приложения
- При заполнении информации для подтверждения приложения сначала Вас попросят указать платформу. Нажмите Добавить платформу (Add platform).

- Откроется вкладка с основными настройками приложения. В самом низу Вы увидите кнопку Добавить платформу (Add platform). Нажмите на неё и выберите Website.

- Укажите адрес сайта Вашей компании в появившемся поле.

- На этой же вкладке убедитесь, что у Вас указан адрес электронной почты для связи и ссылка на политику конфиденциальности Вашего сайта. Обычно эти данные подгружаются с информации, содержащейся на странице Вашей компании в Facebook. Если Вы не указывали эти данные на странице, укажите их сейчас. Также добавьте значок приложения (1024х1024 пикселей) и укажите категорию приложения, которая соответствует целям Вашей компании. После этого сохраните изменения.
N.B. Указывайте актуальную ссылку на политику конфиденциальности. Если будет указана неактуальная ссылка, Facebook не даст сохранить информацию для подтверждения приложения.

Вернитесь на вкладку с запросом и снова откройте форму заполнения информации для подтверждения приложения. Откроется форма, в которой нужно будет написать пошаговую инструкцию для проверяющего в Facebook, как протестировать интеграцию и указать все необходимые данные для входа (то есть, предполагается создание тестовой учётной записи в Webim для проверяющего из Facebook).
N.B. Убедитесь, что инструкция написана подробно и понятно и содержит всю необходимую для проверяющего информацию, иначе запрос может быть отклонён; также убедитесь, что Facebook может использовать Ваши данные для входа (поставьте да в соответствующем поле). Писать инструкцию можно как на английском, так и на русском языке. После заполнения формы, сохраните её.
Запрашиваемые разрешения и функции

- Теперь последовательно заполните 4 формы с информацией об использовании запрашиваемых разрешений (по одной форме для каждого запрашиваемого разрешения). В каждой форме необходимо описать, зачем запрашивается разрешение и как оно используется ( pages_messaging используется для отправки сообщений; pages_manage_metadata используется для получения долгосрочного маркера доступа к странице Вашей компании в Facebook и для его дальнейшего обновления; pages_read_engagement используется для получения фото профиля посетителей и их имён; pages_show_list позволяет использовать разрешения pages_manage_metadata и pages_read_engagement ).
- Также напишите подробную инструкцию для тестирования интеграции (если требуется для конкретного разрешения), укажите страницу Вашей компании (если требуется для конкретного разрешения) и приложите запись экрана (скринкаст), в котором подробно показан процесс тестирования интеграции. По окончании заполнения формы подтвердите своё согласие с условиями пользования (поставьте галочку в конце формы).
Настройки приложения
В этой форме Вам будет предложено ещё раз проверить наличие актуальной ссылки на политику конфиденциальности Вашего сайта, адреса электронной почты для связи, значка приложения, выбранной категории приложения и назначение приложения.

После заполнения всех необходимых данных, нажмите Отправка на проверку (Submit for Review).

Ожидание результатов проверки

- Прежде, чем отправить приложение на проверку, в целях безопасности Вас попросят ввести пароль от учётной записи Facebook.
- Проверка приложения займёт примерно 5 дней. Статус текущего запроса можно смотреть в Проверка приложения (App Review) -> Запросы (Requests). Также уведомления о статусе запроса будут приходить на на адрес электронной почты, указанный Вами в качестве адреса для связи. Если приложение будет работать с данными других компаний, то потребуется подтвердить идентификационные данные Вашей компании или физического лица, имеющего роль в приложении (администратор/разработчик/. ). Сделать это можно в любой момент.
- По прошествии 5 дней, либо как только Вы получите уведомление на электронную почту от Facebook, можно узнать результаты проверки. Если всё сделано верно, то Вы увидите сообщение о том, что все разрешения одобрены для использования и приложение можно публиковать (делать его доступным для всех остальных пользователей Facebook). В противном случае, Вы увидите сообщение о том, что одно или несколько разрешений не были одобрены. Также в этом сообщении будут отображены комментарии от Facebook с рекомендациями, что нужно исправить для получения одобрения. После исправления запроса, его можно отправить на повторную проверку.
N.B. На повторную проверку отправляются только те разрешения, которые не были одобрены ранее, одобренные разрешения на проверку не отправляются.


Теперь канал общения Facebook готов к работе.
Как использовать канал
В режиме разработки Facebook предоставляет все разрешения для работы приложения пользователям, у которых есть роль в нём (администратор и назначенные им пользователи; следующую последовательность действий можно использовать для записи экрана (скринкаста) при отправке запроса на проверку приложения. Прежде, чем начать использование приложения, отправьте тестовое сообщение. Для этого нужно выполнить следующие шаги:
- Откройте страницу, на которой используется приложение Webim в Facebook. Выберите способ взаимодействия от имени Вашей личной учётной записи.

- После этого на странице появится кнопка Сообщение. Нажмите на неё и наберите тестовое сообщение.

- Если интеграция настроена верно, то операторы в Панели управления увидят набранное тестовое сообщение из Facebook. Оно будет отображаться точно также, как и обычное сообщение от посетителя, при этом оператор будет видеть основные данные посетителя: имя и фамилия, фото профиля, точка входа (в данном случае, это сайт Facebook). Также обращаем Ваше внимание, что, согласно правилам Facebook, ответить на сообщения оператор может в течение 24 часов.

На этом настройка интеграции между сервисами Webim и Facebook завершена. В некоторых случаях, приложение может оказаться заблокированным сразу после публикации. Чтобы снять блокировку приложения, подайте жалобу и пройдите дополнительные проверки подтверждения личности, если потребуется. После этих действий, блокировка приложения будет снята, и канал общения будет готов.
- Деятельность корпорации Meta, а также её платформ Facebook и Instagram, признана экстремистской и запрещена в РФ. ↩
Как перевести фейсбук из режима разработки в режим готового приложения

Проєкти Freelancehunt
6.41K subscribers
10.2K links
Свіжі фриланс проєкти.
Канал для справжніх фрилансерів: @FreelancehuntNews.
About
Blog
Apps
Platform
Проєкти Freelancehunt
6.41K subscribers

Вычитка, корректировка и редактирование электронной книги.
Здравствуйте, Ув. Фрилансеры . Нужна вычитка, корректировка и редактирование электронной книги только что написанной человеком который не является профессионалом в этом деле. Нужно придать тексту в книге читабельный вид. Чтобы книга читалась легко. С переводом на украинский язык. Книга на 100…

Небольшие правки по сайту
В личном кабинете на сайте если таблицы в них нужно исправить/изменить фильтрацию + исправить паггинатор
А на другой странице сделать модалку, все элементы модалки есть
сайт на чистом php

Дизайн Лендінгу
Вам потрібно буде зробити дизайн лендінгу за прикладом(приклад відправлю вам у приватні повідомлення) Головне буде швидкість та якість.

Завантаження нового асортименту на сайт
на сайт, що на платформі хорошоп потрібно додати ( завантажити) нові позиції з ексель файлу.
Створити нові категоріі, фільтри, характеристики. Кількість позицій — 200..

Настроить рекламу в Тик ток Адс для Таиланда
4000 UAH
#продвижение_в_социальных_сетях_smm
Нужно настроить на поиск официанток в Таиланде. Несколько раз пробовал блокирует аккаунт. Рекламный аккаунт предоставлю или можете на своем аккаунте

Створити відео для YouTube про наш продукт 2-3 хвилини
2000 UAH
#аудио_и_видео_монтаж
Доброго дня, ми хочемо створити відео про наш продукт для Youtube.
Деталі я надішлю кандидату.
Відео 2-3 хвилини, голосовий супровід про нові оновлення в продукті на задньому плані.

Настроить выгрузку с Opencart в Rozetka
Нужно настроить выгрузку товаров из Opencart в Rozetka. Пишите, у кого есть опыт в подобных задачах.

ИЩУ КОДЕРА КОТОРЫЕ ИМЕЛ/ИМЕЕТ ОПЫТ В НАПИСАНИИ СОФТОВ ДЛЯ ИГРЫ STANDOF
. Софт должен заходить в режим, после открывать чат/ писать туда заготовленный текст раз 5 секунд ( 10 раз) и выходить. И так постоянно. Извини за долгий ответ

Потрібен ескіз тату змії, яка буде охоплювати ікру, тобто потрібен 150см ескіз прямої змії, з шириною в 4см в стилі як на доданих фото, але чорні лінії на білому фоні і лише верхньою ( чешуйчатою ) стороною доверху

Приложение android на flutter

Требуется оптимизировать и стартануть проект в СЕО
Проект новый, предварительные работы не делались даже не начинали ничего делать
Нужно сделать все начиная от аудита и продумывания стратегии продвижения!
Настроены работать в долгую, поэтому планируйте свое время и ресурсы
А так же ресурс…

Анализ показателей, сайта, почему заходы есть, а конверсии нет.
Добрый день.
Интересует анализ эффективности сайта по доставке фермерских продуктов. Заходы на сайт есть, а конверсии нет, включаем рекламу количество заходов увеличивается в разы, конверсия нет. Сайт на платформе джумла. В поиске гугл мы отображаемся корректно и интернет-магазин хорошо бьется,…

Оновити логотип
Доброго дня.
Маємо основний логотип який має лишитися незмінним, до якого потрібно додати: підзаголовок підрозділу компанії текстом підзаголовок підрозділу компанії текстом і іконку щоб якось підкреслити напрямок цього підрозділу
Стилізувати по шрифтах і кольорах, щоб виглядало одним цілим.

Експерт з просування телеграм каналу
Вітаю,
Наразі є бажання створити канал з новинами у месенджері.
Шукаю експерта зі створення та просування телеграм каналу.

Разработчик SAMP
Необходимо помочь с поиском хорошей сборки SAMP на карте CRMP, а также с адаптацией всего мода. Всё подробно обсудим в лс!

Відновлення коректної роботи сайту
Після налаштування редіректів на сайті виникають помилки при переході з контекстної реклами. Посилання на сайт — https://www.kmeshok.com.ua/

Создание фида и его интеграция
Добрый день.
Есть сайт фермерских продуктов на платформе джумла. В мерчант ценр был загружен фид, но сейчас он некорректен. Необходимо или отредактировать существующий или создать новый файл.
Задача разобраться с фидом и вставить его правильно в google merchant center. Чтоб файл приняла система и…

Куплю аккаунт work ua перевірений
2000 UAH
#обработка_данных #работа_с_клиентами
Куплю аккаунт перевірений work ua. Треба в кількості 5 шт. Телеграм для звʼязку
Розглянемо інші варіанти

Зробити генерацію XML прайсу з файлу Excel чи Google Таблиці
Потрібно організувати можливість генерації посилань з нашого сайту на XML-прайс для різних платформ. На моменті треба для для F.ua, Vencon.ua, foxtrot.ua
Приклад вимог для файлу xml одного з магазинів — https://f.ua/pricelists_specs_xml.html
Вимоги решти магазинів схожі.
Прохання відгукнутись тих…

SEO просування Фото Ретушер — ГЕО США
Обзор Facebook API
Основную долю разрабатываемого сейчас программного обеспечения составляют приложения, так или иначе ориентированные на web. Громадные дата-центры с петабайтами данных, миллионы человеко-часов, потраченные на разработки самомасштабирующихся приложений, — всё это показывается пользователю в виде скромного web-интерфейса. Следом за web-ориентированными приложениями появился ещё один феномен — социализация. Благодаря таким сервисам, как livejournal, Facebook и Twitter, человек перенёс часть своей личной жизни и общения в Интернет. Первопроходцы в сфере социальных сетей захватили этот сегмент рынка и развили огромную инфраструктуру, предоставляющую богатые возможности для общения, обмена и оценки любого содержимого, а главное — изменяющуюся по требованию пользователя.
Появление новых социальных сервисов либо их элементов стало невыгодно ни титанам, захватившим эту область, ни пользователям, которым надоело регистрироваться каждый раз при заходе на новый сайт, ни владельцам этих сайтов — содержание базы данных пользователей и обеспечение их регистрации и взаимодействия подразумевают немалые расходы. Решение пришло в виде создания API (application programming interface), средствами которого социальная сеть предоставляла очередному сайту доступ к своим пользователям и сервисам, сайт фактически становился частью социальной сети. Пользователям не нужно больше регистрироваться и разбираться в незнакомом интерфейсе, теперь они заходят на сайт и видят привычные кнопки; владельцам небольшого сайта не нужно содержать базу данных пользователей и привлекать их для регистрации, а социальные сети получили вместо конкурентов дополнительную рекламу.
В данной статье будут рассмотрены основные возможности Facebook API для интеграции сайта с этой социальной сетью.
Платформа Facebook
Перед тем как рассматривать способы взаимодействия с какой-либо системой, нужно представлять, как она устроена изнутри. В качестве операционной системы создатели Facebook выбрали Linux, основная часть кода написана на PHP (который средствами HipHop компилируется в c++). База данных MySQL используется как хранилище пар ключ-значение, никаких сложных структур и join запросов. Для кэширования применяется memcached.
Для представления масштабов системы следует обратить внимание на следующую статистику:
- ежемесячная аудитория Facebook составляет более 500 млн пользователей;
- более 200 млрд просмотров страниц в месяц;
- более 4 трлн действий попадает в новостные ленты каждый день;
- более 150 млн обращений к кэшу в секунду; 2 трлн объектов в кэше;
- более 3 млрд фотографий загружается каждый месяц, до 1.2 млн фотографий в секунду;
- более миллиарда сообщений в чате каждый день;
- более 100 млн поисковых запросов в день.
Graph API
Graph API — это основа платформы facebook, средствами которой можно читать и писать информацию в социальную сеть. По сути, graph api представляет собой объекты (пользователи, фотографии, события, страницы) и связи между ними (отношения, общее содержимое и фото-теги). Каждый объект в графе имеет уникальный идентификатор, используя который, можно получить к нему доступ следующим образом — https://graph.facebook.com/ID. Ответ придёт в виде json. Например, запросив объект официальной страницы платформы facebook (идентификатор которой 19292868552), получим:
Существуют альтернативные идентификаторы, более приятные глазу, например, ту же страницу можно получить так https://graph.facebook.com/platform.
Все объекты в графе могут быть связаны между собой отношениями, проверить наличие данной связи можно следующим способом:
Друзья: https://graph.facebook.com/me/friends?access_token=.
Новостная лента: https://graph.facebook.com/me/home?access_token=.
Like’и: https://graph.facebook.com/me/likes?access_token=.
Access_token — параметр, относящийся к авторизации, которая будет рассмотрена далее.
Основные объекты Facebook:
- Album (фотоальбом);
- Application (описание приложения, зарегистрированного в социальной сети);
- Checkin (географическая информация о местах, где побывал пользователь);
- Comment (комментарий на любой объект графа);
- Event (событие, например, описание времени и места какого-нибудь концерта);
- Insights (статистическая информация о приложениях, зарегистрированных в facebook, например, количество пользователей, нажатий кнопки like, и т.п.);
- остальные объекты — Link, Message, Note, Page, Photo, Post, Review, Status message, Subscription, Thread, User, Video, Group, FriendList.
Над всеми описанными выше объектами разрешены определённые операции. Основная операция — получить объект, поэтому рассмотрим некоторые возможности API, которые сделают это более удобным:
Selection — позволяет точно указать, какие поля объекта возвращать:
Также есть возможность запрашивать несколько объектов одновременно:
https://graph.facebook.com?ids=arjun,vernal — вернёт информацию о двух объектах в одном ответе. Интересно, что в параметр ids можно передать URL, так достаточно удобно искать идентификаторы сайтов в графе https://graph.facebook.com/?ids=http://www.imdb.com/title/tt0117500/.
Для удобства введён специальный идентификатор — me:
https://graph.facebook.com/me — так мы получим объект активного пользователя (который зашёл на наш сайт). Т.е. для того чтобы получить список друзей, посетителя нашего сайта, достаточно сделать такой запрос https://graph.facebook.com/me/friends?access_token=. Естественно, при условии, что наш сайт зарегистрирован в социальной сети, и пользователь на нём авторизовался.
Существует универсальный способ показать картинку любого объекта:
Естественно, этот подход работает и с профилями, событиями, группами и др. объектами графа. Дополнительный синтаксический сахар в возможных параметрах: square (50×50), small (50 пикселов в ширину, высота подбирается автоматически), large (200 пикселов в ширину, высота варьируемая). Пример запроса:
Естественно, что информации больше, чем мы можем принять за один запрос, поэтому рассмотрим механизм постраничного получения данных:
- Вариант со смещением и установкой размера страницы — limit, offset: https://graph.facebook.com/me/likes?limit=3
- Вариант с заданием временных рамок — until, since: https://graph.facebook.com/search?until=yesterday&q=orange
Стоит отметить, что если информация пришла не вся, то в json-ответе будет объект data с нашими данными и объект paging, содержащий поля previous и next, в которых содержатся ссылки для получения предыдущей и следующей страницы, соответственно. Это очень удобно, если нужно вытянуть из социальной сети всю информацию по определённому ключевому слову, её объём заранее неизвестен.
По умолчанию, дата в запросах представлена согласно стандарту ISO-8601, т.е. выглядит примерно так 2011-02-22T23:59:56+0000
Существует возможность задать формат возвращаемой даты:
http://graph.facebook.com/platform/feed?date_format=U, где в качестве параметра date_format можно передать то же, что и в php функцию stringdate ( string $format), довольно удобно и избавляет от постоянной конвертации даты из одного формата в другой.
Introspection — это красивое слово можно перевести как «само-выгребатор». Мы можем вытягивать информацию о пользователе сами, по кусочкам, запросить его сообщения, фотографии, его друзей, места, где он побывал, а можем просто попросить graph api вернуть нам объект, со всеми возможными связями для данного типа объекта, таким вот способом: https://graph.facebook.com/331218348435?metadata=1. Данная возможность — настоящая находка для тех, кому надо получить всю возможную информацию о каком-либо объекте.
Поиск. Формат запроса для поиска следующий — https://graph.facebook.com/search?q=ключевое_слово&type=тип_объекта. Поиск можно осуществлять по всем общедоступным объектам (post, user, page, event, group, place, checkin). Также можно использовать поиск по индивидуальной ленте новостей пользователя https://graph.facebook.com/me/home?q=facebook. Естественно, не без разрешения пользователя, но об этом — в разделе авторизации.
Публикация. Картина была бы не полной, если бы мы ничего не могли дописывать в граф. К счастью, это возможно с помощью HTTP POST запроса. Например, если нам надо опубликовать новое сообщение в новостной ленте пользователя Vasya_Pupkin (т.е. дописать сообщение в объект https://graph.facebook.com/Vasya_Pupkin/feed), то это можно сделать следующим запросом:
curl -F 'access_token=. ' \ -F 'message=Hello, Vasya_Pupkin. I like this new API.' \ https://graph.facebook.com/Vasya_Pupkin/feed
Рассматривать, как изменять все типы объектов и какие конкретно поля содержат данные объекты, смысла нет, это можно посмотреть в документации, по ссылке http://developers.facebook.com/docs/reference/api/post/. По приведённой выше ссылке находится документация, позволяющая составить любой post запрос к graph API. Для операции записи необходимы дополнительные разрешения со стороны пользователя. Все возможные типы разрешений приведены по ссылке http://developers.facebook.com/docs/authentication/permissions/ — там есть всё, начиная от доступа к загруженным фотографиям и заканчивая разрешением отправлять sms-сообщения пользователю. Кроме записи новых данных, существует возможность удаления (https://graph.facebook.com/COMMENT_ID?method=delete).
Статистика. Почти все вышеперечисленные запросы (кроме поиска по общедоступным объектам) должны содержать параметр &access_token — это, по сути, идентификатор нашего приложения или сайта. По этому идентификатору можно получать различную статистику (в виде объектов типа insights), либо авторизовавшись как администратор приложения, и просматривать её на http://www.facebook.com/insights/ в виде удобных графиков.
Закончить краткий обзор graph API следует на самой интересной возможности — Real-Time updates. Наличие этого пункта показывает всю серьёзность, с которой Facebook относится к интеграции с другими приложениями. Обновления в режиме реального времени позволяют разработчикам сторонних сайтов получать информацию о некоторых изменениях их пользователей. Facebook сам уведомляет о том, что пользователь написал сообщение в новостную ленту, добавил друга или нажал кнопку like. Этот пункт разработчиков от необходимости периодически опрашивать API о таких изменениях. Некоторые детали этого механизма:
- Real-time — это может быть несколько минут;
- он распространяется только на объекты user, permissions, page (для приложений);
- требует подписки, поддержки особого механизма взаимодейстивия;
- принимать сторонний сайт должен как GET (для проверки подписки) так и POST (для данных) запросы.
Для управления подписками можно использовать (POST/GET/DELETE)
Хранятся подписки в таком виде:
"object": "user", "callback_url": "http://www.xyz.com/sub_endpoint?xyz_token=123", "fields": ["email", "friends", "name", "picture"], "active": true
Механизм взаимодействия Faceook и подписанного на обновления стороннего сайта:
- Сначала facebook отправляет GET запрос на сервер сайта с тремя параметрами: hub.mode (тут будет передана строка subscribe), hub.challenge (произвольная строка) и hub.verify_token (токен сайта, который был отправлен на Facebook в запросе на подписку).
- Сначала сайт должен проверить, что посланный и принятый token совпадают.
- Затем отослать произвольную строку обратно (этот шаг позволяет избежать случая, когда Facebook может быть использован для DDoS атаки на сервер сайта).
- Только после вышеописанных шагов, facebook присылает сайту POST запросом идентификатор объекта, и список полей, которые изменены.
Новые данные придётся получать отдельным запросом.
Авторизация
Для аутентификации Facebook использует протокол OAuth 2.0, суть которого в трёх шагах:
- Аутентификация пользователя (проверка, что он тот, за кого себя выдаёт).
- Авторизация приложения (пользователю точно описывается, к чему сайт будет иметь доступ и что делать).
- Аутентификация приложения — подтверждение, что информация всё ещё уходит авторизированному приложению.
После прохождения этих трёх шагов сайт получает «user access token», который позволяет делать с данными пользователя всё, что он разрешил.
Facebook поддерживает аутентификацию на стороне сервера и на стороне клиента (JavaScript).
Примечание: Facebook поддерживает три типа приложений (Websites, Apps on Facebook.com, Mobile). В данной статье рассматривается только интеграция web-сайтов c социальной сетью.
Вначале разработчику необходимо зарегистрировать сайт — http://developers.facebook.com/setup/. После регистрации выдаётся App ID и AppSecret, а также html+JavaScript код с кнопками fb-login и fb-like.
Аутентификация, серверная сторона:
- При первом посещении сайта пользователем перенаправляем его на Facebook, с полученными при регистрации appid, указав redirecturl:
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL - Если пользователь не авторизирован, он увидит окошко для ввода логина и пароля.
- Затем пользователь увидит список того, что web-сайт будет делать с его данными (стандартно — access my basic information, но можно запросить права на отправку писем на электронную почту, доступ к новостной ленте и т.п.).
- Если пользователь разрешает запрашиваемые сайтом действия, то его перенаправит обратно на web-сайт разработчика
http://YOUR_URL?code=A_CODE_GENERATED_BY_SERVER
С этим кодом можно пройти следующий этап — аутентификацию приложения, чтобы получить accesstoken, который необходимо передавать во всех запросах к graph api. Для этого нужно выполнить следующий запрос:
https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE
Если аутентификация успешно завершена, сайт наконец-то получает accesstoken, вместе с которым передаётся ещё один параметр — expires, время в секундах, которое этот token будет работать.
Есть возможность запросить разрешение на offline_access, тогда token будет действовать вечно.
Выполняются похожие действия, итогами которых станет
access_token придётся извлекать из url при помощи JavaScript
Примеры обоих способов (на php и js) можно найти по ссылке http://developers.facebook.com/docs/authentication/.
Social plugins
Разработанные Facebook модули легко встраиваются в сторонний сайт, они позволяют интегрировать все самые распространённые функции:
- LikeButton — кликнув на кнопку like на сайте, ссылка на него уйдёт в новостную ленту пользователя, с его описанием;
- ActivityFeed — сама новостная лента;
- Recommendations — позволяет рекомендовать конкретные страницы на сайте;
- LikeBox — на сайте отображаются like’и;
- LoginButton — показывает аватар пользователя и друзей, которые также авторизировались на сайте;
- Registration — позволяет зарегистрироваться на сайте, используя fb эккаунт;
- Facepile — список аватарок пользователей, которые нажали like на сайте;
- Comments — возможность оставлять комментарии на сайте (сами комментарии хранятся в Facebook). Комментарии можно оставлять к чему угодно. Если зайти на сайт с модулем комментариев, под учётной записью администратора (под которой вы регистрировали ваш сайт), то модуль comments позволит модерировать и администрировать оставленные комментарии;
- LiveStream — позволяет пользователям делиться комментариями и активностями в реальном времени.
Перед тем, как разрабатывать собственный функционал, следует подробно изучить все возможности стандартных социальных модулей, может статься, предъявляемые требования уже реализованы. Более подробно с социальными модулями можно познакомиться по ссылке http://developers.facebook.com/docs/plugins/.
Facebook SDKs
В данном разделе будет рассмотрен основной инструментарий, который можно использовать для разработки под facebook api.
Вот так можно реализовать асинхронную загрузку JavaScript библиотеки
Позволяет парсить fbml тэги из DOM’а
FB.XFBML.parse(document.getElementById('foo'));
Упрощает добавление социальных плагинов:
Дополнительный APIs — FQL, Old REST API
FQL — Facebook Query Language — позволяет по данному адресу https://api.facebook.com/method/fql.query?query=QUERY передавать запросы к graph api в стиле sql (использовать join’ы нельзя, только простые запросы)
SELECT name FROM user WHERE uid = me()
Также есть «встроенные функции» now(), strlen(), substr() и strpos().
Или более сложный — вытягиваем информацию о друзьях
SELECT uid, name, pic_square FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
Вещь весьма удобная, почитать описание «таблиц» и синтаксиса можно по ссылке http://developers.facebook.com/docs/reference/fql/
Старый API, который в скором времени будет удалён, не рекомендуется его использовать, однако ознакомиться с ним можно по ссылке http://developers.facebook.com/docs/reference/rest/
Реальные задачи
Большинство задач для обычных сайтов можно решить средствами стандартных социальных модулей. Примеры нестандартных задач также не являются сложными.
Рассмотрим первый пример — необходимо создать приложение, которое по списку ключевых слов отслеживает активность в социальной сети, например, количество сообщений в группах. Возьмём ключевую фразу «lady gaga», по данной фразе нам необходимо отслеживать, как изменилось количество сообщений в день до и после выхода нового клипа. Грубо говоря, нам надо вытягивать из Facebook все группы, в названии которых содержится ключевое слово, это можно сделать с помощью запроса поиска (https://graph.facebook.com/search?q=lady%20gaga&type=group). Затем, не забывая про постраничный вывод информации, получать новые сообщения из каждой группы с помощью поиска с заданными временными рамками. Возникает вопрос: почему бы не искать сразу в сообщениях? Не все сообщения в группе, с названием «lady gaga» будут содержать данное ключевое слово, их то мы и не найдём, используя поиск сразу объектов типа post.
Составить top сайтов по количеству like’ов. Для решения данной задачи был использован старый REST API (а именно http://developers.facebook.com/docs/reference/rest/links.getstats/).
Заключение
Гид по Фигме
для начинающих веб-дизайнеров
Figma (Фигма) — это графический онлайн-редактор для совместной работы. В нём можно создать прототип сайта, интерфейс приложения и обсудить правки с коллегами в реальном времени. В этой статье рассмотрим инструменты и возможности Фигмы, популярные плагины и расскажем, где научиться работать с сервисом бесплатно.
Для чего нужна Фигма
В Фигме могут работать дизайнеры, маркетологи, менеджеры и разработчики. В этом разделе расскажем об основных сценариях использования сервиса и его преимуществах перед другими графическими редакторами.
Какие проекты можно создавать в Фигме
В Фигме можно отрисовать элементы интерфейса, создать интерактивный прототип сайта и приложения, иллюстрации, векторную графику. Многие дизайнеры делают в ней макеты сайтов для Тильды.
Если вы хотите более гибко работать с интерфейсной графикой, можно отрисовать макет в Фигме и перенести в Тильду.
Прототип — это модель сайта или приложения. С ней заказчику проще оценить, как люди будут пользоваться продуктом. Чтобы создать прототип сайта, дизайнер отрисовывает экраны и создаёт связи между ними.

В Фигме можно сразу показать заказчику, как дизайн будет выглядеть на экране смартфона, планшета и других устройств.

Элементы интерфейса — это внешний вид продукта. В Фигме можно создать кнопки, иконки, формы обратной связи и настроить эффекты: сделать кликабельные кнопки, раскрыть списки, создать анимацию для блоков и попапов.

Примеры интерфейса, созданного в Фигме
Примеры интерфейсов и прототипов, сделанных в Фигме
- Интерфейс мобильных приложений Figma iOS UI kit.
- Прототип панели управления Tesla Model 3 и элементы её интерфейса.
Векторная графика
В Фигме есть основные инструменты для работы с векторными объектами, она позволяет экспортировать дизайн в формат SVG, импортировать векторные объекты из Adobe Illustrator или редактора Sketch.
Что ещё можно делать в Фигме
Фигмой могут пользоваться не только дизайнеры. Неочевидные сценарии использования сервиса можно посмотреть в разделе Templates .

Шаблон карты пути клиента в Фигме
Предприниматели, SMM-щики и менеджеры проектов могут вести в Фигме проекты с Диаграммой Ганта , создавать рекламные объявления с шаблонами для Facebook.

Шаблоны для Facebook Ads Manager
Для разработчиков Фигма сделала режим Developer Handoff . Можно использовать направляющие, чтобы определить расстояния до объектов и их размер, скопировать CSS-стили элементов, их код для Android и iOS.
Совместная работа в Фигме
Фигма создала единую среду для работы целой команды над дизайном. В этом её основное преимущество перед другими графическими редакторами. Теперь разработчик всегда в курсе последних изменений макета, менеджер в реальном времени видит, что происходит с проектом, а заказчик оставляет комментарии к дизайну прямо в Фигме.
Три причины выбрать Фигму для совместной работы
- Кроссплатформенность. Работать в сервисе можно из браузера, с любого устройства и в любой операционной системе. Не нужно скачивать дополнительные приложения, чтобы согласовать дизайн.
- Облачный сервис. Фигма — онлайн-редактор, поэтому результаты работы сохраняются в облаке, их видят все члены команды. В любой момент можно посмотреть изменения, которые внёс коллега, и восстановить резервную копию, если нужно.
- Обратная связь. К макету в Фигме участники могут оставлять комментарии и получать фидбек от коллег. Согласования пройдут быстрее, а история переписки не затеряется в почте.
Начало работы в Фигме
В этом разделе рассмотрим, как устроена Фигма: создадим первый файл и поработаем с ним.
Как установить Фигму
В сервисе можно работать из браузера или скачать приложение Фигма на компьютер. Выбирайте браузер, если часто пользуетесь разными устройствами. Для этого зайдите на сайт Фигмы figma.com и зарегистрируйтесь.

Вы можете бесплатно скачать Фигму на рабочий стол, это поможет избавиться от многочисленных вкладок браузера перед глазами. Зайдите на figma.com/downloads и выберите версию программы для iOS или Windows.
Дополнительно скачайте бесплатную программу Figma Mirror (Android/iOS), чтобы оценить, как ваш дизайн будет выглядеть на телефоне.
Интерфейс Фигмы
После регистрации пользователю доступны две рабочие области — графический редактор и менеджер файлов, в котором можно создавать проекты и изменять настройки профиля. Рассмотрим пункты меню менеджера файлов.

В настройках профиля можно загрузить аватарку, сменить имя, пароль и email, на который приходят оповещения. Там же можно обновить тариф и удалить аккаунт.

Ищите файлы и проекты, в которых вы участвуете, через поиск Search .

Переименовывайте файлы, с которыми хотите работать в будущем, чтобы их было легче найти.
Последние файлы
В Фигме файлы сохраняются автоматически. Все файлы, которые вы открывали, можно увидеть во вкладке Recent .

Фигма сохраняет историю изменений каждого файла. Вы легко сможете восстановить резервную копию вашей работы.
В пункте Plugins собраны расширения, которые помогут ускорить работу в Фигме. Например, с плагином Unsplash можно находить стоковые иллюстрации, не покидая Фигмы. А с Iconify под рукой дизайнера будут 40 000 векторных иконок на все случаи жизни.
Пять плагинов, которые прокачают вашу Фигму
Плагины отсортированы по рекомендуемым, популярным и установленным. Чтобы увидеть все плагины, нажмите Browse all plugin.

Новый файл
Создать новый файл в Фигме можно через пункт Drafts или New File в правом углу экрана. По умолчанию файл называется Untitled .

Чтобы начать совместный проект, создайте команду: нажмите New Team и придумайте ей название.


Вы можете пригласить участников по email и обозначить их роли: только просмотр или редактирование файла. На бесплатном тарифе права редактора могут быть у двух человек, включая вас.

По умолчанию при добавлении команды, Фигма создаёт для неё новый проект . Проект — это папка. В ней команда хранит все файлы, которые относятся к одному проекту. Это удобно, если в каждом проекте у вас десятки файлов и вы не хотите в них путаться. На бесплатном тарифе вы сможете создать максимум три проекта.

Чтобы создать дополнительный проект внутри команды, нажмите New Projects . Внутри проекта создавайте новые файлы или перетаскивайте сюда SVG, PNG, JPEG-файлы.

Если вы фрилансер, и вам не нужно создавать команды и вести проекты, приглашайте участников к работе с файлом через кнопку Share .

Как устроен редактор файлов Фигмы
В новом файле пользователю доступны три области: рабочая область, панель инструментов и панель слоёв. Рассмотрим важные функции пунктов меню.

Панель инструментов
Рабочая область
Панель слоев
Панель инструментов
Поиск Search ищет пункты меню, а не элементы, которые вы создавали. Пригодится, если вам нужна конкретная команда, но вы забыли, где именно она находится.

Панель File
Инструменты панели помогают применить действие к файлу, в котором вы работаете. Например, с помощью New file from Sketch можно импортировать файлы, созданные в графическом редакторе Скетч.

Фигма — это инструмент для совместной работы, она сохраняет изменения файла автоматически. Вы можете сохранить изменения немедленно, нажав Save to Version History или посмотреть историю изменений коллег, нажав Show Version History .
Чтобы сохранить файл Фигмы в pdf, используйте Export Frames to PDF . Пригодится для презентаций.
Панель Edit
Панель позволяет работать с элементами дизайна в файле. Чтобы применить действие к элементу, его нужно выделить. Например, объект можно скопировать как код CSS, SVG или PNG-файл с помощью Copy As .

Функция Paste Over Selection позволяет разместить скопированный элемент в левом верхнем углу другого объекта.

Все новые объекты, созданные в файле, по умолчанию серого цвета. Бывают ситуации, когда вам нужно создать множество объектов с другим цветом. Используйте Set Default Properties : скопируйте цвет нужного объекта один раз и все последующие объекты будут созданы с заданными свойствами.
Окрашивайте объект в нужный цвет пипеткой Pick Color .

Группа команд Select All with подсвечивает все похожие объекты в файле: с одинаковыми свойствами, заливкой, шрифтами, эффектами и так далее.

Панель View
Панель находится слева в меню редактора и дублируется справа. Она отвечает за масштабирование макета и навигацию по нему.

Из полезного — функция Pixel Preview . Фигма — векторный редактор, поэтому дизайнер видит ровные векторные линии. Подключая просмотр объекта в пикселях, можно увидеть, как элемент будет выглядеть на экране.

Масштабировать макет можно функциями Zoom In/Zoom Out .

Чтобы показать линейки и вытянуть направляющие в Фигме, используйте Rules .

Чтобы расширить рабочую область и получить больше простора для вдохновения, можно скрыть панель слоёв и интерфейс командами Layers Panel, Show/Hide UI .

Панель Preferences
Панель определяет навигацию в файле. Первые три пункта — Snap to Geometry, Snap to Pixel Grid, Snap to Objects — настройки привязки. Помогут слегка примагнитить элементы и избежать «кривой» сетки, если вы работаете быстро.

Highlight Layers on Hover лучше держать включенным всегда — функция подсвечивает мелкие элементы дизайна при наведении — кнопки, буквы, иконки, значки.

Включенная функция Keyboard Zooms into Selection будет приближать/удалять макет относительно элемента, выбранного на экране.

Инструменты и возможности Фигмы
Рассмотрим панель инструментов для работы с графикой и выравнивания объектов, выбора шрифтов, создания эффектов для слоёв и фигур.
Фрейм или артборд — основной элемент дизайна в Фигме. Это законченный документ, который может быть страницей сайта или экраном мобильного приложения.
Вы можете задать размер фрейма самостоятельно или выбрать готовые размеры экранов популярных устройств — ноутбуков, часов, планшетов — в панели инструментов справа.

Фрейм объединяет объекты внутри себя. Когда вы создаёте дизайн внутри фрейма, в панели свойств слева будут добавляться слои. Слои в Фигме — это содержимое вашего фрейма: объекты, текст, фотографии.

Вы можете сгруппировать отдельные объекты во фрейм или разбить его на объекты сочетаниями клавиш
Windows;MacOS
Ctrl + Alt + G;Cmd + Opt + G;объединить объекты во фрейм Ctrl + Shift + G;Cmd + Shift + G;разбить фрейм на объекты
Чтобы выровнять объекты во фрейме по оси X/Y или расстояние между элементами, используйте панель справа.

Объекты внутри фрейма можно группировать. Допустим, вы делаете несколько страниц сайта. На каждой странице внизу экрана у вас будут контакты: телефон и электронная почта. Сгруппируйте объекты из меню Object → Group Selection или сочетанием клавиш Ctrl (Cmd) + G. Вы увидите изменения в слоях объектов — они объединились в группу. Теперь вы можете перемещать все объекты разом.

Дополнительно вы можете ограничивать поведение элементов во фрейме. Например, вы хотите, чтобы кнопка вашего дизайна была всегда в углу экрана, даже если размер фрейма изменится. Выберите объект во фрейме и используйте инструмент Constraints в панели свойств справа.

Фрейм — это законченный дизайн, его можно скачать одним файлом. При сохранении убедитесь, что все объекты находятся внутри фрейма. Если случайно переместить слой объекта за пределы фрейма, можно потерять часть дизайна. Перед скачиванием, проверьте превью файла, и выберите нужный формат.
Модульная сетка
Сетка в Фигме помогает упорядочить все элементы дизайна во фрейме. Чтобы легко адаптировать дизайн от одного устройства к другому, используйте в Фигме 12 колоночную модульную сетку (Bootstrap).
Для настройки сетки нажмите «+» в блоке Layout Grid .

Задайте количество колонок, их цвет и прозрачность. Вы можете настроить тип сетки — сделать её адаптивной, выровнять по центру или краю.

Если вы делаете сайты на Тильде, задайте настройки: 12 колонок с отступом 40 пикселей, отступы по бокам экрана — 103 пикселя.

Ребята из Тильдошной сделали готовые шаблоны сетки Тильды под разные экраны для Фигмы, Фотошопа и Скетча.
Некоторым дизайнерам удобно добавлять вертикальный ритм, чтобы перемещать объекты по сетке и настраивать расстояние между элементами. Для этого нажмите «+» в блоке Layout Grid ещё раз — появится дополнительная сетка с шагом 10 пикселей.
Чтобы элементы дизайна не наезжали на края фрейма, используйте монтажные области. Чтобы контролировать отступы, можно использовать дополнительную сетку. Создайте одну колонку слева или справа нужной ширины, сделайте неброский цвет.

Для удобства можно выставить параметр Gutter = 0 и превратить колонку в линию с одним видимым краем.

Векторные формы
Создавайте векторные объекты инструментом Shape Tool . С его помощью можно отрисовывать элементы интерфейса, например, иконки.

Основные векторные объекты — прямоугольник, линия, треугольник, стрелка, круг, звезда. Вы можете вставлять объекты произвольной формы или зажать клавишу Shift и вставить объект правильной формы. Если нажать Alt — объект растягивается из центра.
Панель свойств объектов находится справа. Рассмотрим основные функции работы с объектами и покажем, как сделать в Фигме иконку «Закладка», используя прямоугольник произвольной формы.

Перемещайтесь между полями панели свойств с помощью кнопки Tab .
В верхней части панели можно изменить расположение объекта, растянуть его по оси X/Y. Выберем Corner Radius , чтобы скруглить углы нашего прямоугольника, как у закладки из примера. По умолчанию свойство применяется ко всем сторонам объекта. Чтобы выбрать два верхних угла, нажмём Independed Radius .

Поработаем с обводкой объекта. Толщина линии меняется в пункте Stroke заданным значением или мышкой. Заливка объекта нам не нужна, можно скрыть её в пункте Fill , нажав на «глаз».

Вытянем нижнюю сторону прямоугольника и сделаем его похожим на флаг. Чтобы редактировать фигуру, кликнете по ней дважды.

Редактирование фигуры активирует инструмент Pen Tool . Мы поговорим о нём подробнее дальше.
В разделе Effects можно добавить тень или размытие объекту. Чтобы сохранить иконку, перейдите в раздел Export и выберите формат SVG.

Pen Tool позволяет рисовать кривые линии в Фигме и несложные векторные формы: иконки и графику. Если вы хотите работать со сложными формами, лучше загрузить их из Adobe Illustrator или редактора Sketch.

Используйте дополнительную опцию Bend Tool для скругления кривых или Paint Bucket для заливки закрытого контура.

Изображения
Добавьте одно или несколько изображений в макет через панель File , инструмент Place Image или просто перетащите их с рабочего стола.

В Фигме фото вставляется как shape, а не как отдельный объект. По сути мы заливаем изображением фрейм — прямоугольник. Поэтому, мы можем изменить заполнение фрейма параметрами Fill, Fit, Crop, Tile

С включенным параметром Fill , изображение заполняет весь фрейм. При этом сложно соблюсти его пропорции и картинка может обрезаться.

С включенным параметром Fit , изображение отображается во фрейме полностью. Если пропорции фрейма не совпадают с пропорциями картинки, в нём появится пустое пространство.

С включенным параметром Crop , можно приблизить нужный ракурс изображения, обрезав «лишние» части.

С включенным параметром Tile , вы сможете создать паттерн или узор.

Регулируйте в Фигме цвета, яркость изображения, контраст, насыщенность, яркость отдельных участков фото.

Чтобы добавить изображению градиент, используйте знак «+» в панели свойств. Выберите стиль градиента: Linear (Линейный), Radial (Радиальный), Angular (Угловой) или Diamond (Ромбовидный).

Используйте дополнительные настройки цвета и изменяйте положение градиента, чтобы добиться нужного эффекта изображения.
Вы можете добавлять цвета или другие фотографии к изображению с инструментом «смешивание слоёв». Например, чтобы попасть в фирменный стиль сайта или добавить фотографии индивидуальности.

Вы можете применять векторные объекты к фотографиям и использовать их как маски. Чтобы сделать маску в Фигме, создайте объект, перенесите слой ниже фотографии. Выделите оба слоя и выберите панель Object → Use as mask (горячие клавиши для Windows: Ctrl + Alt + M, для Mac OS: Cmd + Opt + M).



Вы можете загружать в Фигму SVG-файлы и работать с ними. SVG-файлы можно загрузить с компьютера либо переносить прямо из Adobe Illustrator или Sketch с помощью горячих клавиш Cntrl + C и Cntrl + V.
Обычно файлы такого типа вставляются как фрейм. Перейдите в слои, объедините векторные объекты в группу клавишами Ctrl+G и перетяните их выше фрейма.

Эффекты и маски
Фигма позволяет работать с заливкой фреймов и текстовых слоёв. Инструменты заливки находятся в левой панели свойств. Вы можете выбрать цвет, прозрачность, указать конкретные значения цвета.

В Фигме шесть типов заливки: сплошной цвет (Solid), линейный градиент (Linear), радиальный градиент (Radial), угловой градиент (Angular), радиальный с четырьмя лучами (Diamond), изображение (Image). По умолчанию для объекта выбран режим ровной заливки Solid .
Переключитесь на Linear — градиент с осью, вдоль которой изменяется цвет. По умолчанию он с двумя точками, одна из которых прозрачная. Добавьте цвета ползунком или укажите значение цвета в поле Hex-кода.

У линейного градиента есть третья неприметная ручка. Если зажать Alt (Opt) и потянуть за неё, цветовой переход отрисовывается перпендикулярно ей.

Вы можете менять расположение крайних точек градиента. Двигая ползунки, вы можете настроить угол поворота градиента и скорость перехода от одного цвета к другому.
Вы можете добавить несколько цветов в градиент, кликнув по шкале над палитрой. Чтобы удалить цвет — нажмите Delete.
Добавьте объектам заливки с разными градиентами и сочетайте фигуры друг с другом. Вы можете использовать Layer — режим наложения, накладывать их друг на друга для интересного решения.

По умолчанию вам доступна библиотека шрифтов Google Fonts, если вы хотите загружать свои шрифты в Фигму — скачайте десктопную версию Фигмы или установите Font Installers (Windows/Mac OS), чтобы загружать их в браузер.
Инструменты для работы с текстовым слоем стандартные: начертание, размер, выравнивание текста, высота строки, отступ между параграфами и красная строка.

Если будете переносить дизайн в Тильду, указывайте в процентах межстрочное расстояние (0-160%) и межбуквенное расстояние (0-30%).
В меню Advanced Type есть три типа изменения размера текстового блока: 1) Width , где ширина подстраивается под контент, 2) Fixed , чтобы задать блок фиксированной ширины 3) Height , чтобы подстроить высоту текстового блока под его контент.
Всегда создавайте отдельные текстовые блоки для заголовка и основного текста. Так их удобнее редактировать.
В Фигме можно перевести шрифт в кривые и создать необычный объект вашего дизайна. Выберите текстовый слой, пункт Flatten и дважды кликнете на текст.
Изменённый шрифт можно сохранить как SVG-файл и вставить в дизайн.

Компоненты
Компоненты в Фигме помогают применять изменения к группе элементов. Это экономит время дизайнера при изменениях макета.
Допустим, вы сделали макет на 50 страниц, а заказчик захотел изменить в нём цвет кнопок. С компонентами вам достаточно будет пару раз кликнуть мышкой и применить новый цвет ко всем кнопкам сразу.
Чтобы превратить объект или группу объектов в компонент, выделите их и нажмите Create Component (Ctrl+Alt+K).

Увидеть компоненты можно по цвету слоя — Фигма помечает их фиолетовым. Кроме цвета, родительский компонент помечается иконкой с 4 ромбами, а дочерние компоненты — иконкой с одним ромбом.
Теперь ваш фрейм — родительский компонент. Создайте его копии, чтобы получить дочерние компоненты. Все изменения родительского компонента будут отражаться на дочерних компонентах.

Вы можете менять настройки дочернего компонента, делая его относительно самостоятельным. Например, можно вручную задать компоненту размер, цвет, обводку, отличные от родительского компонента.
При этом связь между компонентами не потеряется. Внесите новый объект в родительский компонент, и он отобразиться в дочерних компонентах, даже измененных ранее.

Чтобы восстановить нарушенную связь между родительским и дочерним компонентом, выделите дочерний компонент, нажмите иконку возврата действия и сбросьте параметры, которые меняли в нём в ручную.

Когда вы работаете с компонентами, удобно держать их в одном месте, чтобы они не терялись на холсте. Организовать компоненты для небольших проектов, например, сайта из десятка страниц, можно в отдельном фрейме-контейнере.
Создайте новый фрейм, назовите его Components и вложите в него родительские компоненты.

Пример организации компонентов
Наряду с компонентами в Фигме можно создавать стили. Это коллекции текста, цветов и эффектов, которые вы сможете применять к элементам дизайна. Когда вы меняете свойства стиля, они меняются во всех объектах, использующих его.
Сохраните шаблон из компонентов и стилей, чтобы создать собственную дизайн-библиотеку для будущих проектов.
Текст. Создайте стили, которые будете применять ко всем возможным текстам вашего дизайна: заголовкам, параграфам, подписям, тэгам. Используйте панель свойств справа.

Сохраните все варианты текстовых стилей в отдельном фрейме и применяйте при работе с текстами.

Цвет . По аналогии с текстовыми стилями, создайте заливки с основными цветами вашего дизайна. Подпишите каждый цвет и укажите его код.

Эффекты . Создайте стили размытия слоя, фона и тени.

Для работы с компонентами Фигма разработала функцию Auto Layout . Она помогает избежать проблемы с размером контента в новых компонентах. Допустим, вы создали дочерний компонент кнопки и вписали в нём новую подпись. Размеры кнопки при этом не изменились и ваш дизайн выглядит непрофессионально.

Уберите связь дочернего элемента с родительским элементом командой Detach Instance и примените к нему Auto Layout.


Теперь размеры кнопки динамически изменяются под её содержимое.

Если вы копируете кнопку с функцией Auto Layout — копии также будут динамически изменяться в зависимости от контента.
Дополнительные возможности
В этом разделе рассмотрим инструменты для повышения скорости работы в сервисе, тарифы и ограничения Фигмы.
Плагины для Фигмы
Плагины расширяют возможности Фигмы, помогают ускорить работу и автоматизировать рутинные задачи. Вы можете просматривать плагины, как в магазине приложений: на карточке плагина описаны функции, количество установок и лайков.
Шесть плагинов, на которые стоит обратить внимание дизайнеру:
Плагин генерирует сетку для платформы Tilda Publishing. Раньше дизайнерам нужно было запоминать значения сетки или копировать её, а теперь достаточно нажать одну кнопку.

Вставляйте изображения за два клика. Выбирайте область, в которую нужно вставить картинку или импортируйте ее на холст с оригинальным размером.
Не загружайте картинки в маленькие формы, если собираетесь их масштабировать — фигма автоматически снижает разрешение картинки.

Более 40 000 векторных иконок на все случаи жизни: Material Design Icons, FontAwesome, Jam Icons, EmojiOne, Twitter Emoji.

Добавьте прототипам анимации, не переключаясь на Principle, Haiku или After Effects.

Позволяет рисовать векторные объекты быстрее, чем Pen Tool.

Иллюстрации людей, созданные Пабло Стэнли — иллюстратором и дизайнером платформы InVision Studio. Можно брать готовые варианты иллюстраций или сочетать элементы, создавая уникальные работы.

Горячие клавиши в Фигме
Сочетания горячих клавиш указаны в пункте Keyboard Shortcuts. Вызовите его из меню Help and Account, когда работаете с файлом, или нажмите «Cmd + Shift + ?» в Mac OS и «Ctrl + Shift + ?» в Windows.
Фигма подсвечивает синим цветом те комбинации клавиш, которые вы используете в работе и серым — которыми вы не пользуетесь.
Основные параметры
Инструменты
Настройки просмотра
Масштабирование
Работа с текстом
Работа с формами
Компоненты
Основные параметры;Windows;Mac OS
Показать / скрыть интерфейс редактора;Ctrl + \;Cmd + \ Пипетка;I;I Поиск команд в «Меню»;Ctrl + /;Cmd + /
Инструменты;Windows;Mac OS
Перемещение объектов;V;V Фрейм;F;F Перо;P;P Карандаш;Shift + P;Shift + P Текст;T;T Прямоугольник;R;R Эллипс;O;O Линия;L;L Стрелка;Shift + L;Shift + L Комментарий;C;C Пипетка;I;I Нож;S;S
Настройка просмотра;Windows;Mac OS
Линейка в Фигме;Shift + R;Shift + R Выделить все элементы;Ctrl + Shift + 3;Cmd + Shift + 3 Показать пиксели;Ctrl + Alt + Y;Cmd + Opt + Y Сетка;Ctrl + Shift + 4;Cmd + Shift + 4 Пиксельная сетка;Ctrl + ‘;Cmd + ‘ Интерфейс редактора;Ctrl + \;Cmd + \ Курсоры других пользователей;Ctrl + Alt + \;Cmd + Opt + \ Слои;Alt + 1;Opt + 1 Компоненты;Alt + 2;Opt + 2 Библиотеки команды;Alt + 3;Opt + 3
Масштабирование;Windows;Mac OS
Перемещение по холсту;Space + drag;Space + drag Увеличение масштаба;+;+ Уменьшение масштаба;-;- Увеличение масштаба до 100%;Shift + 1;Shift + 1 Масштабировать выделенный элемент;Shift + 2;Shift + 2 Масштабировать предыдущий фрейм;Shift + N;Shift + N Масштабировать следующий фрейм;N;N Предыдущая страница;Page Up;Fn + ↑ Следующая страница;Page Down;Fn + ↓ Предыдущий фрейм;Home;Fn + ← Следующий фрейм;End;Fn + →
Работа с текстом;Windows;Mac OS
Выделить жирным;Ctrl + B;Cmd + B Выделить курсивом;Ctrl + I;Cmd + I Подчеркнуть;Ctrl + U;Cmd + U Вставить текст в стиле выбранного тестового поля;Ctrl + Shift + V;Cmd + Shift + V Выровнять по левому краю;Ctrl + Alt + L;Cmd + Opt + L Выровнять по центру;Ctrl + Alt + T;Cmd + Opt + T Выровнять по правому краю;Ctrl + Alt + R;Cmd + Opt + R Выровнять по ширине;Ctrl + Alt + J;Cmd + Opt + J Изменить размер текста;Ctrl + Shift < или >;Cmd + Shift + < или >Изменить расстояние между символами;Alt + , или .;Opt + , или . Изменить расстояние между строками;Alt + Shift < или >;Opt + Shift + < или >
Работа с формами;Windows;Mac OS
Перо;P;P Карандаш;Shift + P;Shift + P Заливка;В;В Удалить заливку;Alt + /;Opt + / Удалить обводку;/;/ Поменять местами заливку и обводку;Shift + X;Shift + X Преобразовать обводку в кривые;Ctrl + Shift + O;Cmd + Shift + O Сглаживание слоёв кривых;Ctrl + E;Cmd + E
Выделение;Windows;Mac OS
Выделить все;Ctrl + A;Cmd + А Выделить все, кроме;Ctrl + Shift + A;Cmd + Shift + А Отменить выделение;Esc;Esc Выделить слои под другими слоями;Ctrl + click;Cmd + click Выделить слой на панели меню;Ctrl + right click;Cmd + right click Выделить дочерний элемент;Enter;Enter Выделить родительский элемент;Shift + Enter;Shift + Enter Выделить следующий элемент;Tab;Tab Выделить предыдущий элемент;Shift + Tab;Shift + Tab Сгруппировать элементы;Ctrl + G;Cmd + G Разгруппировать элементы;Ctrl + Shift + G;Cmd + Shift + G Преобразовать во фрейм;Ctrl + Alt + G;Cmd + Opt + G Показать / скрыть элемент;Ctrl + Shift + H;Cmd + Shift + H Заблокировать / разблокировать элемент;Ctrl + Shift + L;Cmd + Shift + L
Компоненты;Windows;Mac OS
Показать все компоненты;Alt + 2;Opt + 2 Создать компонент;Ctrl + Alt + K;Cmd + Opt + K Преобразовать компонент во фрейм;Ctrl + Alt + B;Cmd + Opt + B Многопользовательская библиотека ваших компонентов и стилей;Ctrl + Alt + 0;Cmd + Opt + 0
Экспорт из Фигмы
Вы можете экспортировать отдельные файлы или фрейм, в котором они собраны. Меню экспорта находится в панели справа.

Горячие клавиши для вызова меню экспорта
Windows: Ctrl + Shift + E
Mac OS: Cmd + Shift + E
Вы можете добавить название к имени файла (Suffix) и настроить его размер, например, сделать файл кратный двум.
Выберите формат сохранения файла: для иконок подойдёт SVG, для изображений — JPEG и PNG, а макеты с векторными объектами, которые нужно масштабировать, лучше сохранить в PDF.

На бесплатном тарифе можно работать над тремя проектами. Вместе с вами вносить правки в файл сможет один человек, если предоставить ему права «редактора». Показать файл можно любому количеству пользователей. На бесплатном тарифе история версий макета хранится 30 дней.
Профессиональный тариф позволяет команде работать над неограниченным количеством проектов, бесконечно хранить историю изменений и использовать командную библиотеку элементов. Стоит 12 долларов в месяц за каждого редактора. Преподавателям и студентам тариф предоставляется бесплатно на два года.
Для крупных организаций подписка будет стоить 45 долларов в месяц за каждого редактора.

Ограничения Фигмы
Дизайнеры Тильды любят работать в Фигме. Они создали в ней библиотеку макетов, иллюстраций и файлов PNG, которой может удалённо пользоваться каждый участник команды, не боясь потерять исходники файлов. Несмотря на плюсы сервиса, у Фигмы есть ряд ограничений:
Нельзя установить локальный шрифт без перезапуска . Чтобы применить дополнительный шрифт в Фигме, мало скачать его на компьютер. Придётся прервать работу и перезапустить сервис.
Неточный экспорт файлов . При копировании PNG, JPG и SVG-файлов, Фигма может добавлять к изображению пару пикселей обводки и искажать линейные иллюстрации.
Нет защиты от копирования . На бесплатном тарифе Starter нельзя защитить файл от копирования, недобросовестный заказчик может сохранить его для редактирования через Duplicate to Your Draft и использовать макет.
Нельзя работать без интернета . Фигма похожа на Google Docs: в самолёте или за городом без интернета сохранить изменения в макете не получится. Фигма обновит его, когда вы будете в сети. Нельзя изменять сочетания клавиш.
К заданным горячим клавишам придётся привыкнуть . Или можно скачать плагин Autohotkey и настроить Фигму под себя.
Нет русскоязычной версии . Вы не найдёте Фигму на русском языке, это англоязычный сервис. Если вы до этого работали с любых графическим редактором или прочли нашу инструкцию — проблем не возникнет.