Как установить facebook sdk в приложение
На сегодняшний день почти любой мобильное приложение имеет «социальные» фишки. Вся хотят твитить и ставить лайки. И мы хотим! Поэтому давайте сегодня научимся работать с Facebook SDK for Android.
Что будем делать?
Необходимый инструмент
Для работы нам понадобится следующее:
- Eclipse + ADT
- Android SDK
- Facebook SDK
Первые два инструмента вы скорее всего уже имеете.
в результате этой команды получите у себя на компе копию репозитория с искомым SDK
Алгоритм действий
Последовательность действий при привязке приложения к FB можно описать следующим образом:
- Зарегистрировать приложение в FB
- Добавить в workspace эклипса Facebook SDK как библиотеку
- Реализовать авторизацию приложения
- Реализовать собственно постинг на стену
Далее пройдемся по этим пунктам детально.
Водим название приложения, выбираем локаль и попадаем на следующий экран:
Заполняем нужные поля и запоминаем app ID – он понадобиться в недалеком будущем.
Теперь скролим страницу вниз и жмем на Mobile native, видите поле Android Key Hash?
Этот кэш нужно получить притом 2 раза: для вашего debug ключа и ключа которым вы будите подписывать приложение перед релизом. Для debug ключа это делается при помощи консольной команды:
/.android/debug.keystore –путь к хранилищу ключей (keystore). При выполнении команды система обязательно должна спросить пароль – android.
Для получения хэша релизного ключа замените путь и псевдоним на свои, пароль тоже известен вам. После того как внесет оба хэша в нужно поле не забудь нажать “save changes”.
На всякий случай покажу, как узнать путь в дебажному ключу в эклипсе:
На этом первый шаг закончен. Идем дальше.
Добавление Facebook SDK как библиотеки
Теперь создадим проект и назовем его Eveybody_loves_idev и создадим в нем ссылку на проект com_facebook_android, чтобы использовать его как библиотеку. Зайдите в настройки проекта и следуйте скриншоту:
Теперь можно использовать Facebook SDK в нашем проекте.
Авторизация приложения
авторизации есть 2 подхода:
Как вы уже поняли, тут будет описан второй подход. Предлагаю посмотреть код:
Видите 3 поля? Сейчас расскажу, зачем они нужны.
Не забудьте реазиловать метд onActivityResult() так как описано, иначе будет траблы.
Сначала код, комментарии потом:
На этом все, запускаем приложения и радуемся, теперь ваш апп может гадить юзеру на стену.
Android позволяет вашему приложению подключаться к Facebook и обмениваться данными или любыми обновлениями на Facebook. Эта глава посвящена интеграции Facebook в ваше приложение.
Интеграция Facebook SDK
Это первый способ связи с фейсбуком. Вы должны зарегистрировать свое приложение, а затем получить идентификатор приложения, а затем загрузить SDK facebook и добавить его в свой проект. Шаги перечислены ниже:
Генерация подписи приложения
Вы должны сгенерировать ключевую подпись, но перед тем, как сгенерировать ее, убедитесь, что у вас установлен SSL, иначе вам придется скачать SSl. Его можно скачать здесь .
Теперь откройте командную строку и перенаправьте в папку java jre. Как только вы доберетесь туда, введите эту команду точно. Вы должны заменить путь в кавычках на путь хранилища ключей, который вы можете найти в eclipse, выбрав вкладку окна и вкладку настроек, а затем выбрав опцию сборки в Android с левой стороны.
Теперь перейдите в раздел нативного приложения для Android, введите имя проекта и класса и вставьте хэш, скопированный на шаге 1. Он показан ниже:
Скачивание SDK и его интеграция
Создание приложения для входа в Facebook
Намеренная доля
Intent share используется для обмена данными между приложениями. В этой стратегии мы не будем обрабатывать SDK, но пусть приложение Facebook обрабатывает это. Мы просто позвоним в приложение Facebook и передадим данные для обмена. Таким образом, мы можем поделиться чем-то на Facebook.
addCategory (строковая категория)
Этот метод добавляет новую категорию в намерение.
createChooser (целевой объект, заголовок CharSequence)
Удобная функция для создания намерения ACTION_CHOOSER
Этот метод извлекает общее действие, которое нужно выполнить, например ACTION_VIEW.
getCategories ()
Этот метод возвращает набор всех категорий в намерении и текущее событие масштабирования
putExtra (String name, int value)
Этот метод добавляет расширенные данные к цели.
Этот метод возвращает строку, содержащую краткое, понятное человеку описание этого объекта
addCategory (строковая категория)
Этот метод добавляет новую категорию в намерение.
createChooser (целевой объект, заголовок CharSequence)
Удобная функция для создания намерения ACTION_CHOOSER
Этот метод извлекает общее действие, которое нужно выполнить, например ACTION_VIEW.
getCategories ()
Этот метод возвращает набор всех категорий в намерении и текущее событие масштабирования
putExtra (String name, int value)
Этот метод добавляет расширенные данные к цели.
Этот метод возвращает строку, содержащую краткое, понятное человеку описание этого объекта
пример
Вот пример, демонстрирующий использование IntentShare для обмена данными на Facebook. Он создает базовое приложение, которое позволяет вам поделиться текстом на Facebook.
Чтобы поэкспериментировать с этим примером, вы можете запустить его на реальном устройстве или в эмуляторе.
меры | Описание |
---|---|
1 | Вы будете использовать Android studio для создания приложения Android в пакете com.example.sairamkrishna.myapplication. |
2 | Измените файл src / MainActivity.java, чтобы добавить необходимый код. |
3 | Измените res / layout / activity_main, чтобы добавить соответствующие компоненты XML. |
4 | Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты. |
Ниже приводится содержимое измененного основного файла активности MainActivity.java .
Ниже приводится измененное содержимое файла xml res / layout / activity_main.xml .
Ниже приводится содержимое файла AndroidManifest.xml .
Давайте попробуем запустить ваше приложение. Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок с панели инструментов. Перед запуском приложения Android Studio отобразит следующее окно, чтобы выбрать опцию, в которой вы хотите запустить приложение Android.
Теперь просто нажмите на кнопку, и вы увидите список поставщиков акций.
Постановка задачи: Познакомиться с Facebook SDK. Залогиниться. Получить некоторые данные: картинка профиля, дата рождения, email, город, число френдов, etc.
Начало
Создаем новый проект, выбираем Empty Activity. Затем подключаем библиотеки:
NB: Не стоит включать в название проекта слово “Facebook” или “FB” - как показал опыт Facebook ругается на это, когда регистрируешь приложение.
Facebook советует: В своем проекте откройте your_app -> Gradle Scripts -> build.gradle (Project) и добавьте следующий репозиторий в раздел buildscript < repositories <>>, чтобы скачать SDK с Maven Central Repository:
Теперь в build.gradle (Module: app) добавляем инструкции компиляции в раздел dependencies<>.
Макет
Подготавливаем макет Activity:
Прописываем разрешения и мета-данные в манифесте. Перед тегом <application> пишем:
Теперь внутри <application> добавляем ApplicationId:
И последнее, но не обязательное как показал опыт. Прописываем в манифесте внутри тегов <activity> <intent-filter> … схему (тип) данных, которые будет принимать наша Activity:
В res/values/strings.xml добавим две строчки, значения в которые пропишем позднее:
Key Hash и регистрация приложения на Facebook
Теперь получим Key Hash в формате Base64 согласно данной документации. В Activity временно пишем код (разумеется “…” это пропуски кода):
Запускаем приложение и в логах находим Key Hash:
Далее “Настройки” (“Settings”) -> “Основное”(“Basic”). Внизу видим кнопку “+ Добавить платформу” (“+ Add platform”). Жмем. Добавляем Android. В поле “Название пакета Google Play” (“Google Play package name”) вводим свой package. В моем случае это “io.github.ziginsider.facebooksdkdemo”. В поле “Название класса” (“Class name”) полное имя класса Activity - в моем случае “io.github.ziginsider.facebooksdkdemo.MainActivity”. В поле “Ключевые хэш-адреса” (“Key Hashes”) вводим полученный ранее Key Hash.
Далее берем “Идентификатор приложения” (“App ID”) и записываем его в значения res/values/strings.xml. В моем случае:
Т.е., во второй строке, просто добавляем “fb” перед идентификатором.
Рабочий код
Теперь добавим в MainActivity некоторые переменные, которые нам понадобятся в дальнейшем, и переопределим onActivityResult(…), чтобы ловить ответы, которые будут приходить от Facebook:
Итак, по requestCode будем определять на какой именно запрос пришел ответ, resultCode показывает удачно ли завершился запрос, а data - массив данных, из которых мы будем получать информацию. CallbackManager, согласно документации Facebook, будет управлять нашими запросами к Facebook через onActivityResult(…).
Теперь в MainActivity onCreate(…) определим наши View и зададим CallbackManager для кнопки:
printKeyHash() можно удалить или закомментить. Эта функция нам больше не понадобится.
setReadPermissions(List) - задаем разрешения на использование информации, которая будет предоставлена, если пользователь залогинился. Разрешения дается только на чтение. Список разрешений можно глянуть на этой странице.
NB: внешний вид loginButton мы оставили без изменений, однако его можно настроить под свое приложение, как в файле *.xml так и программно.
Переопределим функцию ответа на запрос о регистрации onSuccess(…):
Классы GraphRequest и GraphResponse позволяют отправлять запросы и получать ответы в формате JSON в асинхронном режиме. Собственно это обертка Facebook SDK для интеграции с API Graph (основной инструмент для загрузки и получения данных из социального графа Facebook).
В классе GraphRequest метод newMeRequest вызывает эндпойнт /user/me, чтобы извлечь данные пользователя для указанного маркера доступа.
Facebook Android SDK отправляет все разрешения, указанные в access_token, тем самым обеспечивая контроль доступа к данным.
По умолчанию метод newMeRequest извлекает из объекта пользователя поля, заданные по умолчанию. Если вам нужны дополнительные поля или в целях повышения производительности нужно сократить полезную нагрузку ответа, добавьте параметр fields и запросите требуемые поля. В нашем случае это “id, email, location, birthday, friends”.
В методе обратного вызова данные ответа десериализуются в JSONObject, если запрос выполнен успешно. Поля, которые невозможно извлечь из-за отсутствия необходимых разрешений, будут исключены из результата. Вот пример ответа в формате JSON, который мы будем разбирать:
Итак, десериализуем полученный ответ в методе getData(JSONObject)
Первым делом извлекаем картинку профиля. В дело вступает библиотека Picasso. Далее получаем необходимые нам поля. Все довольно просто и интуитивно понятно.
Если регистрация уже пройдена, то незачем запускать ее снова. Добавим в onCreate(…):
Запуская рекламу приложений в Facebook Ads, вы можете при грамотном подходе получить CPI и CPA на уровне показателей кампаний с контекстной рекламой и даже лучше. Как запустить рекламу мобильного приложения, чтобы увеличить объем скачиваний и привлечь новых пользователей, рассказывает SMM-менеджер в i-Media Екатерина Николаева.
Реклама приложений в Facebook Ads Manager — один из наиболее популярных методов продвижения. Это не удивительно: Facebook используют 2,45 млрд людей по всему миру. Кроме того, у соцсети максимально широкий охват по странам, полу и возрасту. Все это делает Facebook отличной площадкой для продвижения.
С помощью Facebook Ads Manager можно продвигать приложение в Facebook, Instagram, Messenger и сети Audience Network. Настройки рекламного кабинета позволяют найти потенциально заинтересованную аудиторию, получить скачивания приложения и достичь целей внутри приложения. При этом CPI и CPA могут быть близки к показателям кампаний с контекстной рекламой и даже в ряде случаев превосходить их.
Давайте разберем, как запустить рекламу мобильного приложения, чтобы увеличить объем скачиваний и привлечь новых пользователей.
Перед запуском рекламы
Прежде чем продвигать приложение в Facebook, нужно зарегистрировать его на сайте Facebook for Developers и получить специальный ID. Это задача разработчика. Помимо этого до настройки рекламы разработчику нужно по отдельности добавить в Facebook for Developers приложения для iOS и Android. Это нужно для того, чтобы приложение отображалось в рекламном кабинете.
Когда вы настроите и зарегистрируете приложение, предоставьте доступ к нему для Business Manager и рекламного аккаунта. Без этого шага вы не увидите приложение при создании кампании.
Чтобы фиксировать события внутри приложения и измерять действия пользователей, необходимо настроить Facebook SDK. Отличный вариант — использовать интеграцию с одним из сервисов аналитики (например, AppsFlyer) и в нем настроить события, которые должны передаваться: установки, регистрации, покупки и так далее.
Если вы хотите оптимизировать рекламу под определенные цели в приложении, нужно настроить передачу целевого события как одного из основных событий Facebook. Подробнее об этом читайте в справке.
В связи с обновлением Apple для iOS 14 желающие запустить рекламу на устройства с iOS должны настроить регистрацию событий и отслеживания результатов с помощью SKAdNetwork. Рекомендуем учесть этот момент для корректного запуска рекламы приложений на iOS 14.
После предварительной подготовки — настройки приложения, регистрации и подключения Facebook SDK — можно запускать рекламу, а также измерять установки, внутренние события и отслеживать эффективность рекламных кампаний. Если вы все сделали правильно, то при создании кампании вы сможете выбрать свое приложение в группе объявлений.
Настройка кампании
Для рекламы приложений доступно три цели: трафик, установки приложений и конверсии. По нашему опыту, который совпадает с рекомендациями Facebook, для приложений лучше не использовать цель «Трафик» — у кампаний будет низкая конверсия в установку. Из оставшихся двух целей выбираем ту, что соответствует нашей задаче — получить установки или мотивировать пользователя совершать действия внутри приложения.
Рассмотрим вариант, при котором нас интересуют установки. Заходим в Ads Manager, нажимаем «Создать новую кампанию», указываем тип закупки и выбираем цель «Установки приложений», ниже ставим чекбокс в графе «Реклама приложения».
Также доступна опция «Автоматизированная реклама приложения», при которой Facebook будет сам выбирать аудиторные настройки. Вам останется на уровне групп объявлений выбрать страну, язык, а на уровне объявлений — загрузить креативы. Пока мы не тестировали автоматизированную рекламу приложения, но планируем это сделать.
На следующем этапе задаем название для группы объявлений, выбираем магазин приложений iTunes или Google Play и само приложение. Устанавливаем бюджет и лимиты, выбираем настройки аудитории, соцдем-параметры и интересы. Все, как в обычных рекламных кампаниях в Facebook Ads.
В настройках пользовательских аудиторий можно вычесть тех, кто уже взаимодействовал с приложением или открывал его за определенный промежуток времени, а также список клиентов, загруженный в кабинет, и посетителей сайта. Так вашу рекламу увидят только новые пользователи.
Если цель — вернуть клиентов и побудить их к действию внутри приложения, то наоборот, включите одну из этих аудиторий, например, тех, кто уже использовал приложение. Сделать это можно в разделе настроек аудитории, в графе «Связи».
В настройках мест размещения мы всегда оставляем автоматические настройки и не режем плейсменты, так как Facebook сам решит, где лучше показывать рекламу для получения более высоких результатов. Аналогично действуем с выбором операционных систем и их версий. В дальнейшем вы можете вручную отключить малоэффективный сегмент, если Facebook будет не совсем корректно распределять ресурсы.
Далее выбираем оптимизацию для показа рекламы. Используйте действие, которое отвечает цели рекламной кампании. Доступно три варианта: «Установки приложения», «Клики по ссылке» и «События в приложении».
Если основная цель — установка приложения, выбираем этот вариант, а если конкретное событие в приложении, отметьте «Событие в приложении». Так Facebook будет искать людей, которые с большей вероятностью совершат целевое действие внутри приложения.
Однако чтобы оптимизироваться по событию, сперва нужно дать системе накопить достаточное количество информации об этом событии — это 1000 соответствующих действий. Посмотреть накопленное число сработавших событий можно в Events Manager. В дальнейшем на основе этих данных можно создать look-alike аудиторию по нужному событию, и система будет искать тех, кто больше всего похож на ЦА.
Оптимизацию «Клики по ссылке» можно использовать в ремаркетинге и при тестировании, если хочется сбить стоимость клика или аудитория слишком узкая. Но имейте в виду, что коэффициент конверсии может сильно снизиться: объявления будут показываться тем, кто вероятнее всего кликнет, а не совершит целевое действие. В большинстве случаев стоит пользоваться более «продвинутыми» моделями оптимизации — «Установки приложения» и «События в приложении», — и Facebook найдет нужную аудиторию.
Когда закончите настраивать группу объявлений, переходите к созданию объявлений. Загрузите визуальные креативы, заполните тексты и заголовки объявлений и выберите призыв к действию на кнопке — «Установить», «Использовать приложение», «Подробнее» и другие.
Рекомендуем протестировать различные рекламные форматы, не только статичный баннер: например, соберите основные УТП в карусель, продемонстрируйте плюсы и возможности приложения с помощью динамичного видео.
Для одной группы объявлений достаточно четырех—шести креативов, состоящих из текста и визуала. Facebook сам определит, какое объявление потенциально наиболее успешное, и будет распределять бюджет на него.
Если вы хотите вести пользователей на определенный раздел в приложении, используйте поле для глубокой ссылки: введите туда сгенерированный разработчиками deeplink, и тогда пользователь приложения попадет на заданную страницу, а новый пользователь — в магазин приложений. Это увеличит конверсию в целевое действие.
Аналитика и оптимизация
Анализировать кампании можно с помощью Facebook Ads и на основании данных платформ партнеров. Как только алгоритм Facebook достаточно обучится, он будет нацелен на результат и будет стремиться к максимальной эффективности кампаний в рамках заданных целей и задач.
Отметим, что кампании, нацеленные на установку приложений или событие в приложении, крайне чувствительны к изменениям. Рекламная система Facebook в принципе не любит серьезных изменений в кампаниях, и с каждым таким изменением заново обучается. Поэтому не советуем вносить серьезные коррективы без крайней необходимости: не стоит менять креативы чаще, чем раз в одну—две недели, корректировать бюджет больше чем на 20%, а также вносить изменения в аудитории и прочее.
Кампания обучается около недели, при этом в процессе ей нужно набрать 50 конверсий. При большом бюджете набрать нужное количество событий можно и за день, но это не значит, что настройки кампании нужно корректировать каждый день.
Результаты после каждых значительных изменений всегда будут хуже возможных — эффективность РК пострадает. Подробнее о существенных изменениях и о том, как они влияют на обучение системы, можно почитать в справке.
Это не значит, что оптимизировать РК не нужно. Наоборот — важно своевременно анализировать результаты.
В первую очередь смотрим на результаты на уровне кампании, групп объявлений и самих объявлений. Если вы используете бюджет на кампанию, Facebook автоматически распределяет расход среди групп, стараясь достичь максимальных результатов. Однако система не всегда работает идеально, потому иногда специалисты предпочитают выставлять бюджет на уровне групп объявлений, чтобы вовремя отследить, если что-то пойдет не так.
Если нас интересуют несколько событий в приложении — например, не только стоимость установки, но и условные покупки, — анализируем, какие кампании наиболее успешны по совокупности показателей, и перераспределяем на них бюджет вручную.
Также следим за результативностью рекламных креативов и выделяем наиболее эффективные. На уровне объявлений мы не выставляем бюджет на отдельный креатив, однако внимательно контролируем их результативность и при необходимости отключаем неэффективные объявления.
Кроме того, анализируем данные по плейсментам, устройствам и соцдем-характеристикам. Мы можем снизить стоимость целевого действия, если отключим дорогие сегменты. К примеру, видим, что женщины в ряде кампаний приносят меньше конверсий, но Facebook тратит много бюджета на этот сегмент. Если это неавтоматизированная кампания, мы можем отключить этот сегмент. Аналогично: если в Audience Network конверсия стоит 3000 рублей против 1500 рублей в плейсменте Stories, отключаем Audience Network. И так далее.
Найти статистику можно, перейдя в раздел «Разбивка» — «По доставке» в рекламном кабинете или на сайте партнера для аналитики.
Что рекомендуем тестировать:
модель оптимизации: установки, события в приложении, формат «автоматизированная реклама»;
аудитории: по интересам, look-alike на основе различных сегментов, соцдем-параметры, ремаркетинг;
Тестируя различные модели оптимизации, аудитории и креативы, вы сможете найти наиболее релевантные настройки и получить результат (установки, события в приложении) по наименьшей цене. Например, вы увидите, что CPA при оптимизации по установкам ниже, чем при оптимизации по конверсиям, или обнаружите, что не совсем целевой сегмент по интересам демонстрирует отличные показатели, и его можно масштабировать.
Наш опыт рекламы приложения в Facebook Ads
При продвижении мобильных приложений мы часто используем рекламу в Facebook. Если посмотреть на результаты по различным сферам, этот канал стабильно показывает хорошие результаты. В качестве примера делимся показателями по трем разным проектам, рассмотрим одинаковый период продвижения — с 1 по 31 марта 2020 года.
Показатель CPI в Facebook может быть равен показателю по контекстной рекламе или даже выигрывать. Так, по второму проекту за тот же отчетный период стоимость установки в контекстной рекламе была на 16% дороже, чем в Facebook. При этом стоимость CPA, целевого действия внутри приложения, была выше на 30%.
Показатели могут отличаться от месяца к месяцу — это зависит от многих факторов, в том числе от стоимости аукциона (CPM) и активности конкурентов. Мы со своей стороны можем повлиять на результат с помощью грамотных настроек и оптимизации, подбора релевантных аудиторий, креативов и масштабирования успешных кампаний.
Facebook Ads — отличная площадка для performance-продвижения приложений из разных сфер. При грамотных настройках реклама дает действительно хорошие результаты. Мы в этом уверены — дерзайте!
Читайте также: