Teilen im Messenger für iOS und Android

Wenn du mit dem Facebook-SDK für iOS oder Android ab Version 4.29.0 entwickelst, kannst du Nutzern ermöglichen, Links und Medien aus deinen Apps im Messenger zu teilen. Diese Teilvorgänge können deine Chat-Erweiterungen über den Attributionslink aktivieren. Deine Chat-Erweiterungen werden außerdem für die teilende Person im „Mehr“-Fach platziert.

In den folgenden Abschnitten findest du weitere Informationen:

Unter Teilen im Messenger für das Web findest du Informationen zur Implementierung einer Teilen-Funktion im Messenger für das Web.

Teilungsarten

Das Facebook-SDK bietet vier zugeordnete Teilungsarten und eine Teilungsart ohne Zuordnung:

In der folgenden Tabelle findest du alle Teilungsarten, die beim Teilen im Messenger unterstützt werden, sowie Informationen, ob eine Seiten- oder App-ID erforderlich ist und wie du die Vorlage verwenden kannst.

Teilungsart Seiten-ID erforderlich? Anwendungen

Generische Vorlage

Optional

  • Generische Vorlage mit Button
  • Generische Vorlage mit Standardhandlung
  • Generische Vorlage mit Button und Standardhandlung

Medienvorlage

Erforderlich

  • Medienvorlage mit Bild-URI
  • Medienvorlage mit Bild-AttachmentID
  • Medienvorlage mit Video-URL
  • Medienvorlage mit Video-AttachmentID

Open Graph-Musik

Erforderlich

  • Open Graph-Musik

Link-Teilung

Optional

  • Link ohne Zuordnung
  • Link mit Zuordnung

Foto

Nicht unterstützt

  • Fotos
  • Foto aus Bibliothek

Verknüpfen von App- und Seiten-IDs

Entwickler können im Teilen-Vorgang eine Seiten-ID angeben. Wenn der Nutzer dann Content aus einer App über das Teilen-SDK im Messenger teilt, wird der Content der Seite zugeordnet. Seitenadministratoren können kontrollieren, welche Apps für ihre Seiten eine Teilen-Zuordnung verwenden dürfen, um falsche Zuordnungen zu verhindern. Um einer App die Teilen-Zuordnung zu gestatten, verknüpft der Administrator die App-ID mit der Seiten-ID.

So verknüpfst du eine App-ID mit einer Seiten-ID:

  1. Rufe die Einstellungen der Seite auf.
  2. Klicke auf den Abschnitt Messenger-Plattform.
  3. Gehe unter Allgemeine Einstellungen zum Abschnitt Eine App verknüpfen.
  4. Gib die App-ID ein und klicke auf den Button Verknüpfen.
  5. Wenn diese App noch NICHT in der Tabelle Abonnierte Apps aufgeführt war, wird sie in der Tabelle mit der Rolle „Teilen-Zuordnung“ aufgeführt. Wenn die App bereits in der Tabelle aufgeführt war, wird ihr die neue Rolle „Teilen-Attribution“ hinzugefügt.

Seitenadministratoren können die Berechtigung einer App, die Teilen-Attribution zu verwenden, auch wieder entziehen.

So entfernst du die Rolle „Teilen-Attribution“ für eine App:

  1. Klicke in der Tabelle Abonnierte Apps auf das Menü in der Spalte „Rolle“ für die App.
  2. Klicke auf „Teilen-Attribution“, um die Rolle zu deaktivieren.
  3. Wenn „Teilen-Attribution“ die einzige Rolle der App war, wird die Zeile der App aus der Tabelle entfernt. Ansonsten bleibt die Zeile bestehen, aber die Rolle „Teilen-Attribution“ wird abgewählt.

Domain-Whitelisting

Wenn du im Teilen-SDK einen URL-Button verwendest und die Messenger-Erweiterung für deine URL beim Öffnen im Messenger aktivieren möchtest, musst du die URL-Domain auf eine Whitelist setzen, damit der Teilungsvorgang korrekt funktioniert.

So setzt du eine Domain auf eine Whitelist:

  1. Rufe die Einstellungen der Seite auf.
  2. Klicke auf den Abschnitt Messenger-Plattform.
  3. Gehe unter Allgemeine Einstellungen zum Abschnitt Eine App verknüpfen.
  4. Gib im Feld Domains auf der Whitelist die Domain der URL ein und klicke auf Speichern.

Weitere Informationen zum Whitelisting findest du unter SDK für Messenger-Erweiterungen – Erforderliches Domain-Whitelisting.

iOS

Voraussetzungen

Bevor du deiner App Teilen im Messenger hinzufügst, musst du die folgenden Schritte durchführen:

  • Füge das Facebook-SDK für iOS deiner mobilen Entwicklungsumgebung hinzu.
  • Konfiguriere deine Facebook-App-ID und verknüpfe sie mit dem Messenger-Plattform-Tool mit deiner Seiten-ID.
  • Füge deine App-ID, den Anzeigenamen und einen für Menschen lesbaren Grund für den Fotozugriff zur .plist-Datei deiner App hinzu.
  • Verknüpfe das FBSDKShareKit.framework mit deinem Projekt.

Weitere Informationen findest du unter Erste Schritte mit dem Facebook-SDK für iOS.

Stelle außerdem sicher, dass deine App canShow in der FBSDKMessageDialog-Instanz aufruft, um zu bestimmen, ob auf dem Gerät des Nutzers eine kompatible Messenger-Version installiert ist.

Beispiel für Teilungsvorgang mit generischer Vorlage

FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];
    
FBSDKShareMessengerGenericTemplateElement *element = [[FBSDKShareMessengerGenericTemplateElement alloc] init];
element.title = @"This is a Cat Picture";
element.subtitle = @"Look at this cat, wow! Amazing.";
element.imageURL = [NSURL URLWithString:@"https://static.pexels.com/photos/126407/pexels-photo-126407.jpeg"];
element.button = urlButton;
    
FBSDKShareMessengerGenericTemplateContent *content = [[FBSDKShareMessengerGenericTemplateContent alloc] init];
content.pageID = // Your page ID, required for attribution
content.element = element;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

Beispiel für Teilungsvorgang mit Medienvorlage

// Share with mediaURL
FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];

NSURL *mediaURL = // Must be a Facebook URL, see media template documentation
FBSDKShareMessengerMediaTemplateContent *content = [[FBSDKShareMessengerMediaTemplateContent alloc] initWithMediaURL:mediaURL];
content.pageID = // Your page ID, required
content.mediaType = FBSDKShareMessengerMediaTemplateMediaTypeImage;
content.button = urlButton;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

------------------------------------------------------------------

// Share with attachmentID
FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];

NSString *attachmentID = // attachmentID, see media template documentation for how to upload an attachment
FBSDKShareMessengerMediaTemplateContent *content = [[FBSDKShareMessengerMediaTemplateContent alloc] initWithAttachmentID:attachmentID];
content.pageID = // Your page ID, required
content.mediaType = FBSDKShareMessengerMediaTemplateMediaTypeImage;
content.button = urlButton;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

Beispiel für Teilungsvorgang mit Open Graph-Musik

FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];

FBSDKShareMessengerOpenGraphMusicTemplateContent *content = [[FBSDKShareMessengerOpenGraphMusicTemplateContent alloc] init];
content.pageID = // Your page ID, required
content.url = // open graph music url, see open graph music documentation
content.button = urlButton;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

Android

Voraussetzungen

Folge den Anweisungen in Teilen unter Android, die unten zusammengefasst sind:

  • Damit du das Teilen-SDK in deinem Projekt verwenden kannst, richte in Maven eine Abhängigkeit ein oder lade es herunter.
  • Abrufen einer Facebook-App-ID, die ordnungsgemäß konfiguriert und mit deiner Android-App verknüpft ist.
  • Konfiguriere deine Facebook-App-ID und verknüpfe sie mit dem Messenger-Plattform-Tool mit deiner Seiten-ID.
  • Generiere einen Android-Key-Hash und füge ihn zu deinem Entwicklerprofil hinzu.
  • Füge eine Facebook-Aktivität hinzu und füge sie in deine AndroidManifest.xml ein.

Stelle außerdem sicher, dass deine App MessageDialog.canshow({template}) aufruft, um zu bestimmen, ob auf dem Gerät des Nutzers eine kompatible Messenger-Version installiert ist.

Beispiel für Teilungsvorgang mit generischer Vorlage

ShareMessengerURLActionButton actionButton =
    new ShareMessengerURLActionButton.Builder()
           .setTitle("Visit Facebook")
           .setUrl(Uri.parse("https://www.facebook.com"))
           .build();
ShareMessengerGenericTemplateElement genericTemplateElement =
    new ShareMessengerGenericTemplateElement.Builder()
           .setTitle("Visit Facebook")
           .setSubtitle("Visit Messenger")
           .setImageUrl(Uri.parse("heeps://Your/Image/Url"))
           .setButton(actionButton)
           .build();
ShareMessengerGenericTemplateContent genericTemplateContent = 
    new ShareMessengerGenericTemplateContent.Builder()
           .setPageId("Your Page Id") // Your page ID, required
           .setGenericTemplateElement(genericTemplateElement)
           .build();  
                 
if (MessageDialog.canShow(genericTemplateContent)) {
    MessageDialog.show(activityOrFragment, genericTemplateContent);
}

Teilungsvorgang mit Medienvorlage

// Share with mediaURL
ShareMessengerMediaTemplateContent mediaTemplateContent =
    new ShareMessengerMediaTemplateContent.Builder()
            .setPageId("Your page ID") // Your page ID, required
            .setMediaType(MediaType.IMAGE)
            .setMediaUrl(Uri.parse("https://Facebook/Media/URL")) // Must be a Facebook URL, see media template documentation
            .setButton(actionButton)
            .build();
if (MessageDialog.canShow(mediaTemplateContent)) {
    MessageDialog.show(activityOrFragment, mediaTemplateContent);
}

// Share with attachmentID
ShareMessengerMediaTemplateContent mediaTemplateContent =
    new ShareMessengerMediaTemplateContent.Builder()
            .setPageId("Your page ID") // Your page ID, required
            .setMediaType(MediaType.IMAGE)
            .setAttachmentId("Attachment Id") // AttachmentID, see media template documentation for how to upload an attachment
            .setButton(actionButton)
            .build();
if (MessageDialog.canShow(mediaTemplateContent)) {
    MessageDialog.show(activityOrFragment, mediaTemplateContent);
}

Beispiel für Teilungsvorgang mit Open Graph-Musik

ShareMessengerOpenGraphMusicTemplateContent musicTemplateContent =
    new ShareMessengerOpenGraphMusicTemplateContent.Builder()
                .setPageId("Your page ID") // Your page ID, required
                .setUrl(Uri.parse("https://Open/Graph/Music/URL")) // Open graph music url, see open graph music documentation
                .setButton(actionButton)
                .build();

if (MessageDialog.canShow(musicTemplateContent)) {
    MessageDialog.show(activityOrFragment, musicTemplateContent);
}