2015-04-28 10 views
18

Sto tentando di condividere un collegamento su Facebook utilizzando FBSDKShareLinkContent.FBSDKShareLinkContent non sta impostando il contenuto Descrizione e contenutoTitle

Ho impostato l'URL, la descrizione e il titolo. L'SDK inserisce automaticamente il titolo e la descrizione in base alle informazioni recuperate dallo contentURL.

Ma voglio impostare titolo e descrizione personalizzati che ho dato nel codice. Esiste comunque un modo per evitare questo comportamento?

+1

Corretto. Usiamo il titolo e la descrizione dai tag og sulla pagina – WizKid

+0

Esiste comunque un titolo e una descrizione personalizzati diversi dagli articoli raschiati dal sito? –

+0

Non c'è un modo – WizKid

risposta

0

Ho provato questo codice e funziona perfettamente sul mio dispositivo virtuale, fino a quando non ho impostato l'account Facebook nell'impostazione del telefono. Dopo averlo impostato, ogni volta che desidero aprire la finestra di dialogo è stata aperta la finestra di dialogo di condivisione sociale iOS predefinita. Elimina il tuo account, se esiste nelle impostazioni, o semplicemente installa l'applicazione FB, nella documentazione ho visto che abbiamo bisogno dell'app FB per la condivisione.

Se ciò non è di aiuto, è sempre possibile utilizzare il framework di condivisione sociale di iOS, ecco l'esempio.

http://www.appcoda.com/ios-programming-101-integrate-twitter-and-facebook-sharing-in-ios-6/

Spero che questo contribuirà, tra l'altro, oggi ho pila su questo problema di troppo, ora ogni cosa lavora grande con questo quadro la condivisione sociale di iOS.

15

Ho riscontrato lo stesso problema e ho scoperto una soluzione alternativa: la modalità di impostazione diretta dell'istanza FBSDKShareDialog su FBSDKShareDialogModeFeedWeb.

FBSDKShareDialog* dialog = [[FBSDKShareDialog alloc] init]; 
dialog.mode = FBSDKShareDialogModeFeedWeb; 
dialog.shareContent = content; 
dialog.fromViewController = self; 
[dialog show]; 

Visualizza la finestra di dialogo del feed in un UIWebView all'interno dell'app con l'anteprima del post con titolo e descrizione corretti.

+0

+ uno per questa riga dialog.mode = FBSDKShareDialogModeFeedWeb. Questo fa il trucco. –

+3

FBSDKShareDialogModeNative funziona anche - e penso che la modalità nativa sia migliore di "FeedWeb". Tuttavia, se si utilizza FBSDKShareDialogModeNative, aggiungere una chiamata "if (dialog.canShow)", poiché [la finestra di dialogo] fallirà automaticamente se l'utente non ha installato l'app di Facebook. L'istruzione if ti dà la possibilità di assegnare un dialog.mode differente, quindi mostra. – weienw

-1

Utilizzando il codice qui sotto possiamo condividere quello che vogliamo to..But solo dal simulatore quando si guarda per Iphone o Ipad apparirà una finestra di dialogo e otterrà le informazioni dal URL direttamente ..

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; 
content.contentURL = [NSURL URLWithString:@"http://www.k2bindia.com/"]; 
content.imageURL= [NSURL URLWithString:@"https://lh4.ggpht.com/qUs2_ntWQrWgNElAdHNVNpK_P4xuhPbX8WOcncUS0f5yQVdYtrGH9xit_aBkgwCz0mA=w300"]; 

[email protected]"MY TEST APP"; 

[email protected]"Its my description Its my description Its my description Its my description Its my description"; 

[FBSDKShareDialog showFromViewController:self delegate:self]; 
2

set FBSDKShareDialogMode a FeedBrowser risolve il mio problema

let dialog = FBSDKShareDialog() 
dialog.fromViewController = self 
dialog.shareContent = shareLink 
dialog.mode = FBSDKShareDialogMode.FeedBrowser 
dialog.show() 
0

Usa citazione proprietà di FBSDKShareLinkContent invece

FBSDKShareLinkContent *linkContent = [FBSDKShareLinkContent new]; 
linkContent.quote = @"your quote"; 

FBSDKShareDialog *shareDialog = [FBSDKShareDialog new]; 
shareDialog.shareContent = linkContent; 

setContentTitle e setContentDescription sono stati deprecati da Graph API 2.9. Per ulteriori informazioni, vedere https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations