Facebook FBSDKAppInviteContent — отсутствует URL-адрес ссылки на приложение

Вам нужен собственный веб-сайт с тегами meta для ссылки на приложение, чтобы использовать теги FBSDKAppInviteContent и FBSDKAppInviteDialog для приглашения друзей? Если я поставлю туда только ссылку на приложение,

Он показывает ошибку, говорящую что-то вроде

Отсутствует URL-адрес ссылки на приложение Ссылка на приложение, используемая в этом приглашении, не содержит URL-адрес Android или iOS. Разработчики должны ввести URL-адрес по крайней мере для одной платформы.

Я использую facebook-sdk iOS, а также fbsdksharekit. Кто-нибудь знает, как решить эту ошибку или предупреждение?


person Shuin    schedule 29.04.2015    source источник


Ответы (5)


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


iOS

В качестве примера предположим, что у вас есть страница, расположенная по адресу:

http://example.com/applinks

На этой странице вам нужно добавить некоторые метаданные, чтобы описать, какое приложение будет их обрабатывать:

<html>
<head>
    <meta property="al:ios:url" content="example://applinks" />
    <meta property="al:ios:app_store_id" content="12345" />
    <meta property="al:ios:app_name" content="Example App" />
    <meta property="og:title" content="example page title" />
    <meta property="og:type" content="website" />
    <!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>
</head>
person Vizllx    schedule 29.04.2015
comment
Спасибо за ответ. Просто для проверки, что я должен поставить на al:ios:url? В документах facebook говорится, что это настраиваемый URL-адрес, который будет использоваться для запуска вашего приложения. Итак, что это за URL, есть ли у него шаблон или где я должен сделать этот URL? - person Shuin; 29.04.2015
comment
Хм, я думаю, это не потому, что у него будет ошибка в developers.facebook.com/tools /debug/og/object при проверке метатегов для URL-адреса, и он говорит, что Пользовательский URL-адрес, который будет использоваться для запуска вашего приложения, поэтому я думаю, что это не URL-адрес для открытия магазина приложений. - person Shuin; 29.04.2015
comment
Нет, я проверил это с существующим URL-адресом приложения iOS, и он работает нормально! Для тестирования просто перейдите на developers.facebook.com/tools/debug/og/object и введите URL-адрес вашего магазина приложений в поле «Входной URL-адрес» и нажмите «Получить новую информацию о записках». Вы получите всю информацию оттуда. - person Vizllx; 29.04.2015
comment
В отладчике объектов не будет ошибки, но вы не можете напрямую использовать URL-адрес магазина приложений в FBSDKAppInviteContent, как вы сказали, мне нужно разместить свой веб-сайт примерно так: [[FBSDKAppInviteContent alloc] initWithAppLinkURL:[NSURL URLWithString:mywebsite.coml]]; с метатегами, но размещение вашего URL-адреса магазина приложений в метатеге al:ios:url приведет к ошибке при проверке его в отладчике объектов, или вы можете сказать мне, как выглядит ваш al:ios:url при использовании его для приложения ios? - person Shuin; 29.04.2015
comment
Nvm нашел, как это сделать здесь. iosdevelopertips.com/cocoa/ ., все равно спасибо. - person Shuin; 29.04.2015
comment
Если вы не хотите их размещать или у вас нет веб-сайта, вы можете использовать размещенную на Facebook ссылку developers.facebook.com/docs/applinks/hosting-api или инструмент для создания прямых ссылок, например branch.io< /а> - person Alex Austin; 05.09.2015

Для тех, кто хочет знать и спрашивает, как это работает, appLinkUrl — это не URL вашего приложения на рынке. Вот как я это сделал.

  • Вам нужно создать свой собственный appLinkUrl и поместить его в свой info.plist (см.:http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html), который вы будете использовать для диплинкинга.
  • Затем, после того, как вы объявите его в своем info.plist, у вас должна быть как минимум веб-страница html, на которой вы можете поместить метатеги для ссылок приложений ios или android (https://applinks.org). Обратите внимание, что appLinkUrl, который вы указали в своем info.plist, должен совпадать с вашим мета-свойством = "al: ios: URL".
  • Отладьте URL-адрес вашего веб-сайта и проверьте свои метатеги с помощью отладчика URL-адресов facebook. Нажмите «Получить новую информацию о очистке», чтобы обновить метатеги для любых изменений в ней.
  • #P2# <блочная цитата> #P3#
  • Просто убедитесь, что ваши мета-теги содержат правильную информацию, и все!
person Shuin    schedule 20.05.2015
comment
Шейн, не могли бы вы добавить полные метаданные в свой ответ. Да, вам не нужно добавлять к нему реальные данные. Но мне это будет полезно. Я все еще получаю ошибку при приглашении к своим друзьям. - person Hemang; 21.05.2015
comment
Хорошо, теперь я больше не получаю ошибку. Даже он показывает мне галочку после успешного приглашения, но это уведомление о приглашении никогда не будет отображаться в Facebook. Можете ли вы помочь мне с этим? - person Hemang; 22.05.2015
comment
Правильно ли настроено ваше приложение facebook на сайте developer.facebook.com? Отметьте Единый вход как ДА, также сделайте другие ДА. - person Shuin; 22.05.2015
comment
Работает ли это в среде песочницы? Мое приложение уже есть в AppStore. для следующей версии я включил глубокую ссылку, и теперь ошибка не возникает, но приглашение не отправляется. - person Abid Hussain; 29.06.2015
comment
песочница не должна иметь к этому никакого отношения, попробуйте еще раз проверить шаги. - person Shuin; 30.06.2015

В дополнение к другим ответам также приятно знать, что вы можете использовать https://developers.facebook.com/tools/debug/, чтобы обновить информацию о очистке URL-адреса вашего приложения. Если вы изначально поместили неверные значения в метатеги, они не будут обновлены сразу, если вы не перейдете по этой ссылке и не обновите ее явно.

person Mark Pazon    schedule 03.10.2015
comment
Спасибо за это ... мне потребовалась целая вечность, чтобы понять, почему кеш не обновлялся! - person Hirbod; 03.10.2015
comment
Вы буквально спасли мне жизнь. +1 так много. - person Priidu Neemre; 19.04.2017

Возможно, вам поможет API-интерфейс хостинга ссылок на приложения Facebook.

«Если в вашем приложении нет веб-сайта для контента, которым вы хотите поделиться на Facebook, у вас нет общедоступных веб-URL, которые вы можете аннотировать для поддержки ссылок на приложения.

Для этих типов приложений Facebook предоставляет API хостинга ссылок на приложения, который будет размещать для вас ссылки на приложения. С помощью Hosting API вы можете создавать и управлять ссылками на приложения для всех мобильных сред, которые вы поддерживаете».

Источник: https://developers.facebook.com/docs/applinks/hosting-api

person Ahmad Moussa    schedule 19.12.2015

Добавление метатегов решит эту проблему, это фрагмент html из ссылки на приложение, созданной через FB. Fb добавляет несколько дополнительных метатегов на свою страницу URL-адреса ссылки на приложение, а также перенаправляет прямо на itunes при открытии в браузере.

<html>
<head>
	<title>app name</title>
	<meta property="fb:app_id" content="your fb app id" />
	<meta property="al:ios:url" content="Your app link url" />
	<meta property="al:ios:app_name" content="your app name" />
	<meta property="al:ios:app_store_id" content="your app id" />
	<meta property="al:web:should_fallback" content="false" />
	<meta http-equiv="refresh" content="0;url=https://itunes.apple.com/WebObjects/MZStore.woa/wa/redirectToContent?id=your app store id" />
</head>
<body>
	Redirecting...
</body>
</html>

person pk75    schedule 29.09.2015
comment
@Sushi вам нужно создать файл ресурсов html и добавить его на свою веб-страницу. Не нужно указывать расширенную ссылку на эту страницу на своем веб-сайте, а затем в своем коде, где вы добавляете ссылку на приложение, укажите ссылку на страницу с этим кодом. . Это будет работать нормально. - person pk75; 28.10.2015