Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

Да, вы должны добавить метатеги вашего 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>

Ответ 2

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

  • Вам нужно сделать свой собственный appLinkUrl и поместить его в свой info.plist(см.: http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html) что вы будете использовать для deepLinking.
  • Затем, после того как вы объявите его на своем info.plist, вы должны иметь хотя бы веб-страницу html, где вы можете поместить метатеги для appLinks ios или андроид (https://applinks.org). Обратите внимание, что appLinkUrl, который вы наложили на ваш info.plist, должен быть таким же в вашем мета-свойстве = "al: ios: url
  • Отлаживайте URL-адрес своего веб-сайта и проверяйте свои мета-теги с помощью отладочной программы facebook url. Нажмите "Получить новую информацию о царапинах", чтобы обновить метатеги для любых изменений на ней.
  • Используйте ссылку своей веб-страницы с мета-тегами и используйте ее как на образце на facebook docs

    FBSDKAppInviteContent * content = [[FBSDKAppInviteContent alloc] init]; content.appLinkURL = [NSURL URLWithString: @ "your_website_link_with_metatags" ];

  • Просто убедитесь, что ваши метатеги имеют правильную информацию, и это это!

Ответ 3

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

Ответ 4

Возможно, Facebook App Links Хостинг API будет полезен

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

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

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

Ответ 5

Добавление метатег позволит решить эту проблему, это фрагмент 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>