2016-12-02 7 views
0

Я пытаюсь отправить текстовое сообщение, которое также содержит URL-адреса моих друзей на fb messenger, но не получает способ отправить их.Facebook Messenger SDK для обмена текстом и URL-адресами друзей facebook

Я попытался это

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.") 
    } 

, но это только для обмена ссылками

Я пытался посылать сообщение, используя urlscheme также, но он просто открывает 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 ") 
    } 

В андроид можно этим

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"); 
    } 

Это отправляется от андроида

This is sent from android

Любая помощь будет оценена

Спасибо заранее

+0

urlscheme будет открыт только FBMessenger только, если она открывается, то и может нажать любую из там и отправить сообщение, или тусклый, чтобы отправить сообщение конкретному человеку прямо из вашего приложения? Уточнить это сначала –

+0

@ShobhakarTiwari Я хочу отправить Приглашение сообщение друзьям, которых я выбираю на FBmessenger. – Aditya

+0

уточнить это немного больше, dint получить его правильно –

ответ

1

Попробуйте это:

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

То же, что Виктор Иванов ответ в 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 теперь осуждается

Смежные вопросы