2016-12-02 1 views
0

J'essaie d'envoyer un message texte qui contient également des URL à mes amis sur fb messenger, mais ne pas avoir aucun moyen de les envoyer.Facebook Messenger SDK pour partager du texte et url pour facebook amis

J'ai essayé

let result = FBSDKMessengerSharer.messengerPlatformCapabilities().rawValue & FBSDKMessengerPlatformCapability.Image.rawValue 
    if result != 0 { 
     let content: FBSDKShareLinkContent = FBSDKShareLinkContent() 

     content.contentURL = NSURL(string: Urls().WEONE_ITUNES_TINYURL) 
     content.contentDescription = "Dscription" 
     content.contentTitle = "Title" 
     let facebookSendButton: FBSDKSendButton = FBSDKSendButton() 
     facebookSendButton.shareContent = content 
     facebookSendButton.sendActionsForControlEvents(UIControlEvents.TouchUpInside) 

    } else { 
     Utils().alertView(self, title: "Cannot Send Message", message: "Your device is not able to send Facebook Messenger messages.") 
    } 

mais c'est seulement pour le partage liens

J'ai essayé l'envoi de messages à l'aide urlscheme aussi, mais juste ouvre le messager fb:

if UIApplication.sharedApplication().canOpenURL(NSURL(string: "fb-messenger-api://")!) { 
     var msgString = "Hello World: https://randomurl.com" 
     let urlStringEncoded = msgString.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet()) 
     var urlString = "fb-messenger://messaging?text=\(urlStringEncoded!)" 
     UIApplication.sharedApplication().openURL(NSURL(string: urlString)!) 
    } 
    else { 
     print("Failed to open fb-messenger App ") 
    } 

En android il est possible par ce

Intent sendIntent = new Intent(); 
    sendIntent.setAction(Intent.ACTION_SEND); 
    sendIntent.putExtra(Intent.EXTRA_TEXT, "Your message"); 
    sendIntent.setType("text/plain"); 
    sendIntent.setPackage("com.facebook.orca"); 

    try { 
     startActivity(sendIntent); 
    } catch (android.content.ActivityNotFoundException ex) { 
     ToastHelper.show(this, "Please Install Facebook Messenger"); 
    } 

Ceci est envoyé à partir d'Android

This is sent from android

Toute aide sera appréciée

Merci à l'avance

+0

urlscheme ouvrira seulement FBMessenger que, si elle ouvre alors u pouvez appuyer sur une là-bas et envoyer un message, ou vous wan d'envoyer un message à une personne spécifique directement à partir de votre application? Clarifier ce premier –

+0

@ShobhakarTiwari je veux envoyer un message Inviter aux amis que je sélectionne sur FBmessenger. – Aditya

+0

clarifier un peu plus, dint l'obtenir correctement –

Répondre

1

Essayez ceci:

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; 
content.contentURL = [NSURL URLWithString:@"YOUR_LINK"]; 
content.imageURL = [NSURL URLWithString:@"SOME_IMAGE"]; 
content.contentTitle = @"Awesome title here!"; 
content.contentDescription = @"Some description maybe..."; 
content.quote = @"A nice quote here..."; 

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init]; 
messageDialog.delegate = nil; 
[messageDialog setShareContent:content]; 

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

Identique Виктор Иванов réponse à Swift :

  let content = FBSDKShareLinkContent() 
      content.quote = "A nice quote here..." 
      content.contentURL = URL(string: "Your_Link") 

      let messageDialog = FBSDKMessageDialog() 
      messageDialog.delegate = nil 
      messageDialog.shareContent = content 

      if messageDialog.canShow() { 
       messageDialog.show() 
      } 

.imageURL, .contentTitle, .contentDescription sont maintenant déconseillés