- Публикация контента в Android
- Предварительные требования
- Привязывание Facebook SDK с использованием Maven
- Дальнейшие предварительные требования
- Моделирование контента
- Ссылки
- Видео
- Мультимедийный контент
- Добавление интерфейсов для публикации контента
- Кнопки
- Кнопка «Поделиться»
- Диалог «Поделиться»
- Диалог сообщения
- Дополнительные функции
- Хэштеги
- Публикация цитаты
- Дополнительные материалы
- Встроенные альтернативные диалоги для публикации контента
- App Links
- Публикация в Messenger для iOS и Android
- Типы публикаций
- Привязка ID Страницы к приложению
- Добавление доменов в «белый список»
- Необходимые условия
- Ограничения
- Пример публикации ссылки
- Swift
- Objective-C
- Пример публикации фото
- Swift
- Objective-C
- Пример публикации видео
- Swift
- Objective-C
- Android
- Необходимые условия
- Sharing to Stories for Android Developers
- Implicit Intents
- Sharing an Image or Video Background Asset
- Sharing a Sticker Asset
- Facebook SDK for Android
- Sharing a Bitmap Image Background Asset
- Sharing an Image Background Asset with a URI
- Sharing a Video Background Asset
- Sharing a Background Color
Публикация контента в Android
В этом руководстве поясняется, как интегрировать в приложение Android функцию публикации контента на Facebook. Контент, которым люди делятся через ваше приложение, появляется в их хронике, а также может отображаться в Ленте новостей их друзей.
Кроме того, контентом из приложения можно делиться в Facebook Messenger.
Предварительные требования
Прежде чем дать пользователям возможность делиться на Facebook контентом из приложения, нужно привязать или скачать Facebook Sharing SDK для Android.
Sharing SDK для Android — это компонент Facebook SDK для Android. Чтобы использовать Facebook Sharing SDK в проекте, сделайте его зависимостью в Maven.
Привязывание Facebook SDK с использованием Maven
Откройте в своем проекте your_app | Gradle Scripts | build.gradle (Project) и добавьте в раздел buildscript < repositories <>> следующий репозиторий:
Откройте в своем проекте your_app | Gradle Scripts | build.gradle (Module: app) и добавьте в раздел dependencies<> следующее выражение:
При использовании Facebook SDK некоторые события в приложении регистрируются и собираются автоматически (если не отключить их автоматическую регистрацию). Подробнее о том, какая информация собирается и как отключить автоматическую регистрацию событий, см. в разделе, посвященном автоматической регистрации событий в приложении.
Дальнейшие предварительные требования
Выполните следующие действия:
Подробные сведения об этих требованиях см. в статье Начало работы с SDK для Android.
Также потребуется настроить ContentProvider в файле AndroidManifest.xml , где
Приложение, в котором интегрирована публикация контента, не должно заранее заполнять поля для контента, которым люди хотят поделиться. Это нарушение Политики платформы Facebook (см. правила для разработчиков).
Моделирование контента
В Facebook SDK версий 4.0 и выше предусмотрены новые модели публикации контента. Для каждого типа контента, которым хотят поделиться люди, предусмотрен свой класс. После моделирования контента добавьте в приложение интерфейс публикации.
Ссылки
Когда люди публикуют на Facebook ссылки из вашего приложения, в публикацию добавляется contentURL с соответствующей ссылкой. Подготовьте ссылки для публикации, используя модель ShareLinkContent . Список всех атрибутов см. в справке по ShareLinkContent .
Пример кода для запуска публикации:
Чтобы предварительно просмотреть публикуемую ссылку на App Store или Google Play, введите ее URL в отладчике репостов.
Если ваша публикация содержит ссылку на приложение в Google Play или App Store, описание и изображение в публикации будут игнорироваться. Вместо этого мы загрузим название и изображение приложения из магазина (если изображения в магазине нет, его не будет и в публикации).
Люди могут делиться на Facebook фотографиями из вашего приложения. Для этого используется диалог «Поделиться». Кроме того, на устройстве должно быть установлено нативное приложение Facebook для Android (версии 7.0 или более поздней).
Подготовьте контент фото для публикации, используя модель SharePhotoContent . Список всех атрибутов см. в справке по SharePhotoContent .
Видео
Люди могут делиться на Facebook видео из вашего приложения. Для этого используется диалог «Поделиться».
Подготовьте контент видео для публикации, используя модель ShareVideoContent . Список всех атрибутов см. в справке по ShareVideoContent .
Мультимедийный контент
Люди могут делиться мультимедийным контентом, содержащим фото и видео, из вашего приложения на Facebook с помощью диалога «Поделиться». Обратите внимание на следующие ограничения:
Подготовьте мультимедийный контент для публикации, используя модель ShareMediaContent . Список всех атрибутов см. в справке по ShareMediaContent .
Добавление интерфейсов для публикации контента
После создания модели контента запустите интерфейс Facebook для публикации.
Кнопки
Для запуска публикации контента можно воспользоваться нативными кнопками Facebook для Android.
Кнопка «Поделиться»
Кнопка «Поделиться» служит для вызова диалога «Поделиться». Чтобы добавить кнопку «Поделиться», вставьте в представление следующий фрагмент кода:
Диалог «Поделиться»
Этот диалог служит для переключения в нативное приложение Facebook для Android. После публикации он возвращает управление вашему приложению. В зависимости от используемого вами SDK для возврата в приложение, возможно, потребуется нажать стрелку назад. Если на устройстве не установлено приложение Facebook, диалог «Поделиться» автоматически переключается на веб-диалог.
Например, чтобы показать диалог ShareDialog для ссылки в вашем действии, создайте в методе onCreate экземпляр ShareDialog :
Затем покажите диалог ShareDialog:
Наконец, в onActivityResult вызовите callbackManager из SDK для обработки ответа:
Если вы используете действия или фрагменты AndroidX, не нужно переопределять onActivityResult .
Диалог сообщения
Этот диалог служит для переключения в нативное приложение Messenger для Android. После публикации он возвращает управление вашему приложению. В зависимости от используемого вами SDK для возврата в приложение, возможно, потребуется нажать стрелку назад.
Дополнительные функции
При использовании диалога «Поделиться» Facebook вы можете применять дополнительные функции, которые недоступны, если вы публикуете контент с помощью API.
Хэштеги
Для фото, ссылки или видео, которыми вы делитесь, можно указать один хэштег. Он также будет отображаться в диалоге «Поделиться». При желании люди могут удалить его перед публикацией.
Ниже показано, как добавить хэштег к ссылке.
Публикация цитаты
Вы можете позволить людям самостоятельно выделять текст, который будет отображаться как цитата со ссылкой. Кроме того, вы можете сами выбрать цитату, например врез в статье, который будет отображаться вместе со ссылкой. В любом случае цитата отображается в собственном поле отдельно от комментариев пользователя.
Дополнительные материалы
Встроенные альтернативные диалоги для публикации контента
В предыдущих версиях Facebook SDK для Android, прежде чем открыть диалог «Поделиться», приложению необходимо было проверить, установлено ли на устройстве нативное приложение Facebook, и предусмотреть соответствующий код для вызова альтернативной версии диалога, если оно отсутствует.
Теперь SDK автоматически проверяет наличие на устройстве нативного приложения Facebook. Если оно отсутствует, SDK переключает пользователя в его браузер по умолчанию и открывает диалоговое окно.
App Links
С помощью App Links можно создавать обратные ссылки на ваше приложение из публикаций на Facebook, которыми поделились из него. Когда человек нажимает такую публикацию, открывается ваше приложение. Можно также создать ссылку на определенный контент в приложении.
Источник
Публикация в Messenger для iOS и Android
Last June, we announced plans to no longer support the Share to Messenger SDK. We are excited to share we will continue to support a modified version of the Share to Messenger SDK, which will allow people to share links and photos from your app to Messenger. The support for link and image/video sharing on the iOS Messenger app will be rolled out gradually over the next few weeks. We will no longer support sharing generic and media templates. If you still have the SDK in your app, no action is required.
Если при разработке используется Facebook SDK для iOS или Android версии 4.29.0 или более поздней, можно предоставить людям возможность публиковать ссылки и медиафайлы из ваших приложений в Messenger. Эти публикации могут задействовать ваши расширения чата через ссылку атрибуции. Кроме того, ваше расширение для чата появится в поле «Дополнительно» у человека, который поделился контентом.
Подробнее читайте в следующих разделах:
О том, как добавить возможность публикации в Messenger для веб-платформы, читайте здесь.
Типы публикаций
Facebook SDK поддерживает четыре типа публикаций с атрибуцией и один тип публикаций без атрибуции:
В таблице ниже перечислены все поддерживаемые типы публикаций в Messenger и приведены способы использования шаблона. В ней также указано, нужен ли ID Страницы или приложения.
Привязка ID Страницы к приложению
Разработчики могут указать в потоке публикации ID Страницы, и тогда при публикации контента из приложения в Messenger через Sharing SDK публикуемый контент будет соотнесен с этой Страницей. В свою очередь администраторы Страниц могут выбирать, какие приложения могут соотносить публикации с их Страницами, и предотвращать ложную атрибуцию. Чтобы разрешить приложению атрибуцию публикаций, администратор может связать ID приложения и Страницы.
Для этого следуйте инструкциям ниже:
- Откройте Настройки Страницы.
- Нажмите Платформа Messenger.
- В Общих настройках перейдите в раздел Привязать приложение.
- Введите ID приложения и нажмите кнопку Связать.
- Если приложения ещё НЕ БЫЛО в таблице Подписанные приложения, оно появится там с ролью «атрибуция публикаций». Если приложение уже было в этой таблице, ему просто будет добавлена роль «атрибуция публикаций».
Администраторы Страницы могут лишить приложение этого разрешения, то есть запретить использовать атрибуцию публикаций.
Чтобы удалить роль «атрибуция публикаций» для конкретного приложения, следуйте инструкциям ниже:
- В таблице Подписанные приложения нажмите раскрывающееся меню в столбце «Роль» для нужного приложения.
- Нажмите «Атрибуция публикаций», чтобы отменить эту роль.
- Если «атрибуция публикаций» была единственной ролью для этого приложения, строка приложения из таблицы удаляется. В остальных случаях строка приложения остается, а со строки «атрибуция публикаций» снимается выделение.
Добавление доменов в «белый список»
Если вы используете кнопку с URL в Share SDK и хотите включить для URL расширение Messenger, вам нужно добавить домен URL в «белый список», чтобы публикация работала корректно.
Для этого следуйте инструкциям:
- Откройте Страницу.
- Перейдите в раздел Настройки >Расширенный обмен сообщениями.
- Добавьте домен в поле Белый список доменов.
Подробнее о добавлении доменов в белый список см. в документации по SDK расширений Messenger.
Необходимые условия
Прежде чем добавить в приложение возможность публикации в Messenger, выполните следующие действия:
Убедитесь, что приложение выполняет вызов canShow для экземпляра FBSDKMessageDialog , чтобы определить, установлена ли на устройствах совместимая версия Messenger.
Ограничения
Цитаты не поддерживаются.
Пример публикации ссылки
Swift
Objective-C
Пример публикации фото
Swift
Objective-C
Пример публикации видео
Swift
Objective-C
Android
Необходимые условия
Следуйте инструкциям в статье Публикация контента в Android, которые кратко изложены ниже:
Источник
Sharing to Stories for Android Developers
As an Android developer, you can implement Sharing to Stories by using implicit intents or the Facebook SDK for Android.
Implicit Intents
To implement Sharing to Stories using implicit intents, in general, your sharing flow should:
- Instantiate an implicit intent with the content you want to pass to the Facebook app.
- Start an activity and check that it can resolve the implicit intent.
- Resolve the activity if it is able to.
You can pass the following content to the Facebook app:
Facebook app ID *
(Required) Your Facebook app ID.
Uri to an image (JPG, PNG) or video (H.264, H.265, WebM). Recommended image dimensions: device fullscreen or smaller. Videos can be 1080p and up to 20 seconds in duration. The Uri needs to be a content Uri to a local file on device.
Uri to an image (JPG, PNG). Recommended dimensions: 640×480. This image will be placed as a sticker over the background. The Uri needs to be a content Uri to a local file on device.
Background layer top color
A hex string color value used in conjunction with the background layer bottom color value. If both values are the same, the background layer will be a solid color. If they differ, they will be used to generate a gradient instead. Note that if you are passing a background asset, the asset will be used and these values will be ignored.
Background layer bottom color
A hex string color value used in conjunction with the background layer top color value. If both values are the same, the background layer will be a solid color. If they differ, they will be used to generate a gradient instead. Note that if you are passing a background asset, the asset will be used and these values will be ignored.
* In addition to your app’s FB app ID, you must pass the Facebook app a background asset (image or video), a sticker asset, or both.
Sharing an Image or Video Background Asset
This sample code shows how to pass the Facebook app a background layer image or video asset. Note that both the Data and Type must be set for the Intent.
Sharing a Sticker Asset
This sample code shows how to pass the Facebook app a sticker layer image asset and a set of background layer colors. Note that if you do not supply background layer colors, we will set the background layer color to #222222 .
Facebook SDK for Android
To implement Sharing to Stories by using the Facebook SDK for Android, in general, you should:
- Model the content that will be shared — for images, construct a SharePhoto ; for videos, construct a ShareVideo .
- Add the modeled content to ShareStoryContent .
You can pass the following content to the Facebook app:
Uri to an image (JPG, PNG) or video (H.264, H.265, WebM). Recommended image dimensions: device fullscreen or smaller. Videos can be 1080p and up to 20 seconds in duration. The Uri needs to be a content Uri to a local file on device.
Uri to an image (JPG, PNG). Recommended dimensions: 640×480. This image will be placed as a sticker over the background. The Uri needs to be a content Uri to a local file on device.
Background color list *
A list of hex string color values used to generate a gradient from top to bottom, in the order in which they appear in the list. Note that if you are passing a background asset, the asset will be used and the color list will be ignored.
* You must pass the Facebook app a background asset, a sticker asset, or a list of background colors.
Sharing a Bitmap Image Background Asset
This sample code shows how to pass the Facebook app a bitmap image background asset.
Sharing an Image Background Asset with a URI
This sample code shows how to pass the Facebook app a background asset from an image uri.
Sharing a Video Background Asset
This sample code shows how to pass the Facebook app a video background asset.
Sharing a Background Color
This sample code shows how to pass the Facebook app an image sticker asset, and a list of background colors to be rendered from top to bottom.
Источник