8

Sto tentando di condividere/inviare un collegamento agli amici tramite la nuova finestra di dialogo dei messaggi di Facebook implementata nella v2.0.Invio di un collegamento con la finestra di dialogo dei messaggi di Facebook ignorando tutti i parametri

Sono stato seguendo la direzione dalla documentazione: https://developers.facebook.com/docs/ios/share#message-dialog-getting-started e questo è quello che ho provato:

[FBDialogs presentMessageDialogWithLink:[NSURL URLWithString:@"http://XXX.net/"] name:@"NAME" caption:@"CAPTION" description:@"DESCRIPTION" picture:nil clientState:nil handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
      if(error) { 
       // An error occurred, we need to handle the error 
       // See: https://developers.facebook.com/docs/ios/errors 
       NSLog([NSString stringWithFormat:@"Error messaging link: %@", error.des 

cription]); 
     } else { 
      // Success 
      NSLog(@"result %@", results); 
     } 
    }]; 

e questo: (dovrebbe essere la stessa cosa)

FBLinkShareParams *params = [[FBLinkShareParams alloc] init]; 
    params.link = [NSURL URLWithString:@"http://xxx.net/"]; 
    params.name = @"NAME"; 
    params.caption = @"CAPTION"; 
    //params.picture = [NSURL URLWithString:@"http://upload.wikimedia.org/wikipedia/en/c/cd/Aller_Media_logo.png"]; 
    params.linkDescription = @"DESCRIPTION"; 

    [FBDialogs presentMessageDialogWithParams:params clientState:nil 
            handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
             if(error) { 
              // An error occurred, we need to handle the error 
              // See: https://developers.facebook.com/docs/ios/errors 
              NSLog([NSString stringWithFormat:@"Error messaging link: %@", error.description]); 
             } else { 
              // Success 
              NSLog(@"result %@", results); 
             } 
            }]; 

Entrambi questi metodi richiamano la mia app di messaggistica di Facebook con la finestra di dialogo pre-compilata con i miei parametri. MA quando ho inviato il messaggio tutto tranne il link è GONE alla fine del destinatario.

Da quello che ho capito, l'utente non deve essere collegato tramite l'app per poter inviare messaggi dalla finestra di dialogo dei messaggi di Facebook.

Qualcuno ha la minima idea di cosa sta succedendo qui? È un bug di Facebook?

EDIT: Ciò è stato confermato come un facebook-bug: https://developers.facebook.com/bugs/1547232035503916

+1

Anche io sto affrontando questo problema e ho bisogno di una soluzione! In particolare, nella finestra di dialogo di invio messaggio, vedo il link, il nome e linkDescription ma non la didascalia (è già andata persa). Il ricevitore non vede nessuna delle mie informazioni personalizzate, con il nome e la descrizione di collegamento che sono stati sovrascritti dal contenuto che FB ha estratto dalla pagina del collegamento. – stonemonk

+0

@stonemonk Esattamente lo stesso. Ho creato un biglietto Facebook sul problema ma sembra che al momento siano molto impegnati. O è un errore di documentazione o è un ma nel loro SDK. Per favore fatemi sapere se trovate qualche soluzione a questo – PaperThick

+0

Quindi, questo non è stato ancora risolto? Sto lottando con lo stesso problema. – Rhuantavan

risposta

3

Anche se questo bug è stato risolto nel giugno 2014, è ancora possibile avere problemi simili con l'ultimo codice di esempio Facebook. Nel l'ultimo esempio "FBShareSample" e nel Facebook "Condividere in iOS" documentazione che utilizzano il metodo

[FBDialogs presentShareDialogWithLink:....] 

che utilizza solo il collegamento dai parametri e nessuno del resto dei parametri (anche se l'esempio feed fallback La finestra di dialogo utilizza effettivamente tutti i parametri). Per utilizzare tutti i parametri nella finestra di dialogo Condividi è necessario utilizzare

[FBDialogs presentShareDialogWithParams:...] 
+1

Questa è un'informazione utile. I documenti FB non sono completamente chiari e coerenti con i loro esempi – PaperThick

0

Ho notato che dipende dall'URL che si sta inviando. Se l'URL contiene Facebook Open Graph, vengono visualizzati i parametri dell'URL Open Graph e quei parametri sovrascrivono quelli che hai inserito.

ad es. Sto cercando di condividere l'URL sul mio App Store. Ogni collegamento dell'App Store contiene Facebook Open Graph quindi non funziona.

Penso che Facebook consiglia di pubblicare storie personalizzate di Open Graph in questo caso.

Problemi correlati