Перестали работать глубокие ссылки на iOS из веб-представления Facebook

Внезапно глубокие ссылки на мое приложение перестали работать из веб-представления Facebook, но они прекрасно работают, когда я открываю глубокую ссылку в Safari (или нажимаю кнопку "Поделиться" в веб-представлении и выбираю Safari).

Я добавил все необходимые теги открытого графика для своего ресурса и ссылки на приложение, как указано здесь: https://developers.facebook.com/docs/applinks/add-to-content

Кто-нибудь испытывал такое же поведение после обновления приложения Facebook? Версия: (34.0.0.36.265)

Я получаю обычную подсказку, если я хочу покинуть Facebook, но после нажатия ничего не происходит, и устройство остается в веб-представлении Facebook. Я проверил информацию о скребке на https://developers.facebook.com/tools/debug/og/object/ но об ошибках не сообщалось.

Вот URL/ ресурс, который становится общедоступным и направляет на глубокую ссылку (серверу может потребоваться пробуждение): https://www.qonnect-it.com/mexx

Есть идеи?

3 ответа

Решение

У меня точно такая же проблема с последним обновлением приложения Facebook, похоже, что-то с их стороны, а не с вашим приложением (или даже моим).

Я предлагаю перейти на https://www.facebook.com/help/186570224871049 и сообщить о проблеме, чтобы мы могли быстро обострить эту проблему.

Рад, что мы нашли этот дефект зарегистрирован. Это заняло много дней моей продуктивной работы. Итак, кое-что странное, что мы заметили, заключается в том, что, хотя ничего не происходит даже после выбора "Открыть приложение", попробуйте скользить по веб-представлению, удерживая заголовок чуть-чуть, и, к вашему удивлению, глубокая ссылка работает. Весело и интересно. Дайте мне знать, если кто-то еще испытывает это.

Если вы ищете возможный обходной путь, пока это не будет исправлено, используйте API мобильного хостинга Facebook. Кажется, что постукивание по ссылкам, созданным с его помощью, не передается в настоящее время в браузере с ошибкой iOS facebook в приложении и, следовательно, работает.

Вот краткое пошаговое руководство (адаптировано из документации):

  1. Создайте новое приложение на Facebook (или используйте уже существующее).
  2. Запрос токена доступа для приложения: curl "https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials"
  3. Создайте ссылку на приложение, указав данные, которые вы обычно определяете в метатегах в заголовке страницы:

    curl https://graph.facebook.com/app/app_link_hosts \
    -F access_token="TOKEN_FROM_STEP_2" \
    -F name="YOUR_APP_NAME" \
    -F ios=' [
      {
        "url" : "your://deep/link",
        "app_store_id" : YOUR_APP_STORE_APP_ID,
        "app_name" : "YOUR_APP_NAME",
      },
    ]' \
    -F android=' [
      {
        "url" : "your://deep/link",
        "package" : "your.package.name",
        "app_name" : "YOUR_APP_NAME"
      },
    ]' \
    -F web=' {
      "should_fallback" : false,
    }'
    
  4. Используйте возвращенный идентификатор {"id":"somethingsomething"} запросить ваши канонические URL:

    curl -G https://graph.facebook.com/ID_FROM_STEP_3 \
    -d access_token="TOKEN_FROM_STEP_2" \
    -d fields=canonical_url \
    -d pretty=true
    
  5. Непосредственно используйте возвращенный канонический URL https://fb.me/ID для глубокой ссылки вместо ссылки на вашу обычную страницу.

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