Мобильные пользователи не могут получить доступ к вкладке страницы Facebook

У меня проблема, которую я не вижу, чтобы найти решение. У меня есть вкладка на моей странице в Facebook (одно из тех статических приложений HTML: iFrame). Нет проблем с доступом к нему с ПК, однако, когда я пытаюсь получить доступ к вкладке с мобильного устройства, он говорит:

"Запрошенная вами страница не найдена. Вернуться на предыдущую страницу"

Можно ли каким-либо образом создать вкладку, доступную на мобильных устройствах, или просто перенаправить ее на внешний домен?

Спасибо!

6 ответов

Решение

Как создать мобильное доступное приложение Facebook Page Tab

Для того, чтобы создать приложение Page Tab, которое имеет мобильную доступную версию (внешний сайт доступен напрямую, а не через iFrame Facebook). Вам нужно добавить и настроить 3 разных "Платформы" в настройках разработчика приложения. Они должны быть настроены следующим образом:

Вкладка страницы

Настройте это как обычно.

  • Имя вкладки страницы: имя, которое вы хотите отобразить на вкладке страницы
  • URL вкладки страницы: URL-адрес, на котором вы размещаете приложение вкладки страницы (например, http://myapp.com/page-tab)
  • URL защищенной страницы: то же самое, но с https впереди (например, https://myapp.com/page-tab)

Веб-сайт

Здесь вы настраиваете URL для вашего мобильного сайта

  • URL мобильного сайта: это URL, на который вы хотите перенаправлять мобильных пользователей (например, http://myapp.com/mobile-version)
  • URL сайта: используется для Facebook Connect, если вы не используете Facebook Connect, просто укажите здесь свой мобильный URL.

Приложение на Facebook

Это будет шлюз для вашего приложения. Мобильные пользователи, попадающие на эту страницу, будут перенаправлены на мобильный сайт. Вы можете использовать javascript для перенаправления пользователей рабочего стола в приложение Facebook Page Tab.

  • Страница приложения Canvas: это будет http://apps.facebook.com/my-app-namespace, это ссылка, которую вы опубликуете на стене в Facebook, в своих объявлениях или в любом другом месте, куда хотите перейти на вкладку своей страницы.
  • URL холста: это ссылка на страницу вашего приложения, которая будет встроена в виде фрейма на странице приложения холста. Вы будете использовать эту страницу для перенаправления на вкладку своей страницы, используя JavaScript. например, http://myapp.com/canvas-redirect
  • URL защищенного холста: это то же самое, что и выше, но с https впереди (например, " https://myapp.com/canvas-redirect ")

Ваш сценарий перенаправления холста

Вы хотите, чтобы люди, приходящие в ваше приложение Canvas в настольном браузере, были перенаправлены в приложение на вкладке страницы. Поскольку он загружается внутри i-фрейма, единственный способ сделать это - использовать JavaScript.

Это будет содержание вашего Canvas Url ( http://myapp.com/canvas-redirect выше):

<script>top.location="http://facebook.com/page_tab_url/app_1234"</script>

Обратите внимание на "top.location" - это перенаправит родительское окно, а не только iframe на вкладку страницы. Когда пользователь попадает на страницу холста в браузере на рабочем столе, он будет перенаправлен через JavaScript в ваше приложение Page Tab. Мобильные пользователи будут перенаправлены через Facebook на указанный выше URL- адрес мобильного сайта.

Тестирование в режиме песочницы

Если ваше приложение находится в режиме песочницы, его смогут увидеть только администраторы, разработчики или тестеры приложения. В частности, пользователи, не вошедшие в Facebook или не вошедшие в Facebook, но не являющиеся администраторами или тестировщиками приложения, не смогут получить доступ к странице холста приложения - они просто увидят ошибку 404. Чтобы проверить мобильное перенаправление, когда приложение находится в режиме "песочницы", вам необходимо убедиться, что вы являетесь администратором, разработчиком или тестером приложения, и что вы вошли на мобильный сайт Facebook в веб-браузере вашего телефона - т.е. Safari на iOS и Chrome на Android. Для этого недостаточно войти в мобильное приложение Facebook на телефоне, необходимо также войти в систему с помощью браузера.

Примечание о ролях пользователей

Вы можете настроить роли пользователя приложения, щелкнув вкладку "роли" в настройках приложения. Вы можете добавить пользователя Facebook или группу Facebook в качестве любой роли. (Если вы добавите группу, все пользователи в этой группе будут иметь роль, указанную в приложении). Чтобы пользователь имел определенную роль в приложении, он должен:

(Отредактировано, чтобы отразить обновленный пользовательский интерфейс настроек Dev и удобочитаемость)

В качестве обновления к этому, Facebook теперь автоматически перенаправляет на ваш сайт без каких-либо взломов.

Для этого убедитесь, что вы добавили платформу веб-сайта в свое приложение и поместили туда свой мобильный URL.

Мне было трудно понять, как получить доступ к вкладкам страниц с помощью мобильного телефона, и благодаря Бену в предыдущем комментарии я нашел способ. Прежде всего, вы не можете получить доступ к вкладкам страницы с помощью своего мобильного телефона, поэтому вам нужно будет указать его там, где ваша вкладка страницы берет его источник. Facebook может сделать это за вас, если вы используете холст, но если вы получите к нему доступ с настольного компьютера, вы будете перенаправлены на вашу ссылку холста, а не на вкладку вашей страницы. Вот как мы это исправим:

-

1) Зайдите в свое приложение (разработчики Facebook) в разделе "Настройки" - "Основные".

2) Скопируйте URL-адрес вкладки страницы из раздела " Вкладка страницы " (что-то вроде http://yourpagetab.yourdomain.com/) и вставьте его в URL-адрес своего мобильного сайта в раздел " Мобильный Интернет ".

3) Сделайте то же самое с приложением в разделе Facebook, но вместо того, чтобы указывать его на вкладку своей страницы, вам придется использовать файл перенаправления. Давайте использовать http://yourpagetab.yourdomain.com/redirection.php?fb

Обратите внимание, что вы должны использовать? Fb в конце вашей ссылки. Это ничего не делает, но Facebook хочет этого. На самом деле это может быть что угодно и только

4) Создайте этот файл redirection.php (не добавляйте? Fb) и добавьте в него этот код

<script>top.location="http://facebook.com/your_fb_page/your_page_tab"</script>

Вы должны заменить /your_fb_page/your_page_tab ссылкой на вкладку своей страницы.

5) Сохраните это!

-

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

Если вы используете Fan Gate (пользователь должен понравиться вашей странице, прежде чем получить доступ к вкладке вашей страницы): это не будет работать, так как мобильный пользователь застрянет на ваших Fan Gate.

Единственный способ справиться с этим - отключить фан-шлюз или использовать Mobile Detect (вы можете найти его на Github) и отключить его только для пользователей, которые находятся на мобильных устройствах. Это небольшая цена, если вы хотите, чтобы вкладка вашей страницы работала с мобильными пользователями. Пользователям настольных компьютеров по-прежнему будет нравиться ваша страница, чтобы видеть вкладку вашей страницы.

Я один из разработчиков статического HTML. Теперь у нас есть функция, встроенная в приложение, которая генерирует умные, укороченные ссылки, которые работают для мобильных и настольных компьютеров. Если вы нажмете на значок "+" в верхней части редактора, он откроет доступную ссылку.

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

Изменить: мы отказались от специального форматирования, потому что это было глючно на устройствах iOS.

Вот код php, который я использую для перенаправления:

// Mobile_Detect
require 'Mobile_Detect.php';

$detect = new Mobile_Detect;

if (strpos('https://' . $_SERVER['HTTP_REFERER'] . $_SERVER['REQUEST_URI'], 'facebook.com') !== false && $detect->isMobile()) {
    echo '<html><head><script type="text/javascript">window.top.location.href = "https://yourappurl.com";</script></head><body></body></html>';
    die();
}

Вы также можете использовать эту ссылку, чтобы остановить перенаправление мобильных телефонов в Facebook

https://www.facebook.com/MyAppName/?sk=app_11111-APP-ID-11111&ref=ts

Другие вопросы по тегам