Facebook: совместное использование ссылки на Play Store с помощью диалогового окна «Поделиться»

#android #facebook #facebook-android-sdk

#Android #Facebook #facebook-android-sdk

Вопрос:

Я делюсь ссылкой с помощью диалогового окна «Поделиться» из Facebook Android SDK. Мой код выглядит так:

 FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
          .setName("My app name")
          .setCaption("A caption")
          .setDescription("My description...")
          .setLink("https://play.google.com/store/apps/details?id=com.company.myapp")
          .setPicture("http://link_to_picture")
          .build();
  

Поскольку я хочу, чтобы пользователи перенаправлялись на страницу Play Store моего приложения, я добавляю этот URL-адрес в ссылку. Но в этом случае в сообщении не отображается указанная мной информация (имя, заголовок, описание). Вместо этого отображается название приложения, указанное в Play Store, с надписью «загрузить» (изображение в порядке).

Когда я устанавливаю другую ссылку, эта проблема не возникает: в сообщении отображаются имя, заголовок и описание, как и ожидалось. Почему я не могу поместить свой собственный текст со ссылкой на Play Store?

Редактировать

Я пытался использовать ссылки на приложения. Итак, я создал объект ссылки на приложение с помощью этого:

 curl https://graph.facebook.com/app/app_link_hosts 
-F access_token="APP_ACCESS_TOKEN" 
-F name="My app link" 
-F android=' [
    {
      "url" : "myapp://share/1234",
      "package" : "com.company.myapp",
      "app_name" : "My app",
    },
 ]' 
-F web=' {
    "should_fallback" : false,
  }'
  

И я получил этот URL: https://fb.me/494085890722766

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

Комментарии:

1. Привет, не могли бы вы рассказать мне, как вы это получили » fb.me/494085890722766 » URL — адрес ? Что нам нужно сделать, чтобы получить ссылку на приложение? Шаги для этого или процедура? Нужно ли мне создавать новую html-страницу на моем веб-сайте для того же?

2. Как мы запускаем код curl? что такое APP_ACCESS_TOKEN и что написать вместо «myapp: // share / 1234»

3. Чтобы создать свой объект ссылки на приложение, следуйте инструкциям, описанным здесь: developers.facebook.com/docs/applinks/hosting-api Вы получаете свой токен приложения, прочтите это: developers.facebook.com/docs/facebook-login/… Curl — это инструмент командной строки, который можно использовать для выполнения HTTP-запросов POST.

4. @Superthib, один быстрый вопрос, что вы сделали с сгенерированным URL, «fb.me/494085890722766 «? документация, похоже, ничего не говорит об этом.

Ответ №1:

Наконец, я нашел обходной путь, используя ссылки на приложения, который подробно описан здесь : https://developers.facebook.com/docs/applinks/hosting-api

Я создал свой объект ссылки на приложение без какого-либо параметра «-F web», например:

 curl https://graph.facebook.com/app/app_link_hosts 
-F access_token="APP_ACCESS_TOKEN" 
-F name="My app link" 
-F android=' [
    {
      "url" : "myapp://share/1234",
      "package" : "com.company.myapp",
      "app_name" : "My app",
    },
 ]'
  

Однако я не понимаю, почему API Facebook работает таким странным образом. Это сложное решение простой проблемы.

Комментарии:

1. Я использовал этот метод для публикации своего приложения на fb и его работы (спасибо). Но если приложение установлено, и я нажимаю на общий пост в приложении fb, я получаю сообщение об ошибке «Проблема с открытием этого приложения». Я хочу, чтобы мое приложение открывалось при прослушивании общего сообщения, какие-либо предложения?

2. Не беспокойтесь, у меня все получилось. Для дальнейшего использования вот что я сделал: я добавил этот код в тег activity в манифесте Android ‘<intent-filter> ПРОСМОТР» /> ПО УМОЛЧАНИЮ» /> ДОСТУПНО ДЛЯ ПРОСМОТРА» /> <data android:scheme=»myapp» /> </intent-filter>’

3. @superthib Что такое APP_ACCESS_TOKEN здесь и как мы можем получить его в Android. Пожалуйста, направьте меня. Даже у меня такая же проблема.

4. Подробнее о APP_ACCESS_TOKEN читайте здесь: developers.facebook.com/docs/facebook-login /…

Ответ №2:

Замените вашу ссылку на

  .setLink("market://details?id=com.company.myapp")
  

Смотрите эту ссылку

Комментарии:

1. Это должно использоваться только из приложения для Android, а моя ссылка предназначена для отображения в Facebook. Однако я попробовал это, и я получил следующую ошибку из Facebook SDK: «URL-адрес ссылки неправильно отформатирован».

2. Я понимаю. Как насчет этого тогда? developers.facebook.com/docs/applinks/android

3. Я попробовал это, что немного лучше: сообщение выглядит хорошо, но при нажатии на него из приложения Facebook отображается диалоговое окно, предлагающее открыть ссылку в браузере или установить приложение. Первый вариант перенаправляет на вход в Facebook из Интернета, прежде чем перенаправлять в Play Store, а второй перенаправляет непосредственно в Play Store… Не очень хороший пользовательский интерфейс, но он может быть приемлемым.

4. Можете ли вы сообщить мне, какие теги вы используете для ссылок на приложения, и пример URL-адреса? Не должно появляться выбора. Кроме того, какая версия приложения FB у вас есть?

5. Я обновил свой вопрос, указав сведения о ссылке на приложение. Моя версия для Facebook — 10.0.0.28.27

Ответ №3:

В моем случае я отключаю DeepLink в консоли разработчика Facebook, и он работает хорошо.

Комментарии:

1. Где находится эта опция?