Ist es möglich, eine CardAction (Schaltfläche) in Botframe zu erstellen, die als Share-Taste in Facebook Messenger funktioniert?Share Button In Facebook Messenger
Antwort
Da die Share-Schaltfläche für Facebook spezifisch ist und nicht allen Kanälen gemeinsam ist, gibt es dafür keinen Code im BotBuilder.
Es kann jedoch erreicht werden, indem ChannelData
()/sourceEvent
(Node.js
) verwendet wird.
Siehe this post als Referenz, wie die Kanaldateninfo aussehen soll. Außerdem zeigt this sample, wie die Funktion ChannelData
verwendet wird.
Schließlich ist hier die Dokumentation um ChannelData.
aus den von Ezequiel bereitgestellten Informationen Huckepack,
ich eine Arbeits C# bietet erstellt habe, die die ChannelData
Eigenschaft verwendet einen Share Button über Facebook Messenger zu senden.
Fühlen Sie sich frei zu check out the repo here.
Das Models
Verzeichnis enthält alle Klassendefinitionen, die als richtige JSON-Format für ein Facebook Messenger Share Button handeln as is documented here.
Dann erstellen Sie einfach ein neues Objekt mit allen Ihren Modellklassen kombiniert und weist es die ChannelData
Eigenschaft einer neuen Antwort in Ihrem Dialog wie folgt:
von ShareButtonDialog.cs
:
namespace Azure_Bot_Generic_CSharp
{
using System;
using System.Diagnostics;
using System.Threading.Tasks;
using Microsoft.Bot.Connector;
using Microsoft.Bot.Builder.Dialogs;
using Models;
[Serializable]
public class ShareButtonDialog : IDialog<object>
{
public async Task StartAsync(IDialogContext context)
{
context.Wait(this.MessageReceivedAsync);
}
public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
{
var message = await argument;
//create a reply message
var reply = context.MakeMessage();
//create a channel data object to act as a facebook share button
reply.ChannelData = new FacebookChannelData()
{
Attachment = new FacebookAttachment()
{
Payload = new FacebookGenericTemplate()
{
Elements = new object[]
{
new FacebookGenericTemplateContent()
{
Buttons = new[]
{
new FacebookShareButton()
}
}
}
}
}
};
//send message
await context.PostAsync(reply);
var reply2 = context.MakeMessage();
reply2.Text = "This is a message after the Share Button template.";
await context.PostAsync(reply2);
//wait for more messages to be sent here
context.Wait(MessageReceivedAsync);
}
}
}
, dass die gewünschte Ausgabe produzieren:
Bitte beachten Sie, dass Sie in Ihrem eigenen Bot App-ID und Geheimnis in der Datei Web.config müssen füllen, wenn Sie die verwenden möchten Projekt.
Irgendwelche Ideen, wie ich das hinzufügen kann, wenn ich eine Klartextnachricht und keine Karte teilen möchte? – PirateApp
- 1. Facebook Messenger Bot - Share Button
- 2. Facebook benutzerdefinierte share button
- 3. Facebook Share Button Probleme
- 4. Erkennen, ob "send to messenger" Button geladen ist (Facebook Messenger)
- 5. Benutzerdefinierte Facebook Share-Button, Android App
- 6. Facebook Like und Share Button auf Ajax
- 7. Warum ist mein Facebook Share-Button ausgegraut?
- 8. Facebook share button: wie zu implementieren
- 9. Facebook Messenger Bot strukturierte Nachricht mit Postback-Button teilen
- 10. Twitter share button nicht erscheinen
- 11. Facebook Share in ios.Xamarin
- 12. Facebook Share iOS Swift
- 13. Wie dynamisch linkedin share button?
- 14. Problem mit Facebook Messenger Bot (Willkommen Nachricht und Button Nachricht)
- 15. Facebook Messenger Plattform senden URL-Button gibt "schlechte Anfrage" Fehler
- 16. Angular - Facebook Share Button erscheint nur nach der Aktualisierung
- 17. Facebook "Just Login" Button
- 18. Gibt es ein Facebook Share Button Event für FB.Event.subscribe?
- 19. Wie verwende ich Facebook für Entwickler share button mit localhost
- 20. iPhone Share Button
- 21. Benutzerdefinierter Twitter-Share-Button
- 22. Facebook Messenger Bot kaufen Taste
- 23. Facebook Messenger erhalten Zugriffstoken für Messenger App
- 24. Benutzersitzung in Facebook Messenger bot
- 25. Facebook Messenger API Nachrichtensequenz
- 26. Facebook Messenger mit Flask
- 27. Facebook Messenger sdk Aufkleber
- 28. Facebook Messenger Plattform einrichten
- 29. Facebook Messenger seltsame Fehler
- 30. Facebook Messenger Bot Verifikation
Alle diese Quellen sind mir bekannt und so allgemein. Um Ihre Antwort zu verbessern, geben Sie bitte einen Link an, der den Share-Button mit ChannelData in C# implementiert. Es wäre so hilfreich wie eine Antwort. – OmG
Ich erinnere mich nicht an ein Beispiel, das die Share-Schaltfläche in C# implementiert, aber es wäre so einfach, wie den Code aus dem node.js-Beispiel in den Link zu nehmen und ihn nach C# zu portieren ... Ich habe die Bandbreite momentan nicht schreibe den Code für dich; aber mit den Informationen, die ich zur Verfügung gestellt habe, sollte wirklich geradlinig sein –
In der Tat ist es nicht einfach in der Praxis! Wenn Sie das Beispiel implementieren, wäre es so hilfreich und könnte gefunden werden, dass es nicht einfach wäre! – OmG