Я внедрил процедуру отправки ссылки + контента в facebook messenger через свой API MessageDialog. Мне удалось получить содержимое ссылки в диалоговом окне сообщения, но кнопка отправки отключена. Я думаю, что это скорее проблема конфигурации, чем что-либо еще.Facebook iOS Message Dialog Кнопка отправки отключена
Я реализовал это в iam с xamarin с новейшим xamarin facebook sdk (v 4.15.1), и я компилирую его с помощью sdk 10.0.
Вот очень простая базовая реализация:
public bool SendMessageViaMessenger(string Text, string Link) {
var content = new ShareLinkContent();
content.SetContentUrl(new NSUrl(Link));
content.ContentTitle = "Here is an invite";
content.ContentDescription = "Test description";
MessageDialog.Show(content, null);
return true;
}
Вот мой Info.plist facebook конфигурационный раздел:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{my-fb-app-id}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>{my-fb-app-id}</string>
<key>FacebookDisplayName</key>
<string>{my-fb-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>whatsapp</string>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
где {мой-фб-приложение-идентификатор} был заменен на мой Facebook app id и {my-fb-app-name} с именем приложения.
Я также:
проверил, что мой идентификатор расслоения точно такие же строки, как один я клал конфигурацию facebook приложения;
добавил домен ссылки, которую я отправляю в качестве домена приложения в конфигурации приложения facebook;
добавил домен ссылки, которую я отправляю в качестве платформы веб-сайта;
интегрировали приложение делегата мое приложение с одним из Facebook, с помощью следующего кода:
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { global::Xamarin.Forms.Forms.Init(); LoadApplication(new App()); Facebook.CoreKit.ApplicationDelegate.SharedInstance.FinishedLaunching(app, options); return base.FinishedLaunching(app, options); }
Любая помощь будет оценена. Спасибо!
так есть способ отправить сообщение без URL (просто текстовое сообщение) в iOS, что возможно в android, кстати, – Rakii
@Rakii, я боюсь, что не с API-интерфейсом Message Dialog. Для этого вам нужно будет использовать API-интерфейс отправки (https://developers.facebook.com/docs/messenger-platform/send-api-reference#request;) –