5

Sto lavorando a un lettore musicale per iPhone e mi piacerebbe che gli utenti fossero in grado di pubblicare brani nelle loro Timeline. Ho Facebook Connect funzionante e ho registrato oggetti e azioni Open Graph con Facebook, ma non riesco a capire come creare/pubblicare un oggetto e un'azione da iOS.Creazione di un FB Oggetto grafico aperto tramite iPhone SDK

Facebook mi fornisce il seguente codice, ma non so dove utilizzarlo per il proprio SDK iOS.

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MYAPPNAME: http://ogp.me/ns/fb/MYAPPNAME#"> 
<meta property="fb:app_id"  content="xxxxxxxxxxxxxxx" /> 
<meta property="og:type"  content="MYAPPNAME:song" /> 
<meta property="og:url"   content="Put Your Own URL Here" /> 
<meta property="og:title"  content="Some Arbitrary String" /> 
<meta property="og:description" content="Some Arbitrary String" /> 
<meta property="og:image"  content="http://ogp.me/logo.png" /> 

risposta

3

Non pubblicare oggetti dal iOS SDK - si pubblica azioni tramite l'SDK e fa riferimento a un URL ad un oggetto.

si fa qualcosa di simile a:

[[delegate facebook] requestWithGraphPath:@"me/YOUR_APP_NAMESPACE:YOUR_ACTION_NAME" andParams:[@"YOUR_OBJECT_URL" forKey:@"recipe"] andHttpMethod:@"POST" andDelegate:self]; 

Baically, è posta al Graph API utilizzando i metodi di API standard iOS Graph.

Theres un'applicazione di esempio che mostra come fare questo qui: https://github.com/facebook/wishlist-mobile-sample

+1

La domanda è, come possiamo pubblicare i parametri per gli * oggetti *? Come titolo, url, ecc. – cocoapriest

+0

Lo stesso problema qui! I parametri –

+0

per gli oggetti si trovano alla risposta html per YOUR_OBJECT_URL. – mnickv31

0

Per quanto ho capito (e spero di/vorrei essere sbagliato), non è possibile pubblicare su Facebook OpenGraph da un iOS 5.x app nativa direttamente. Hai bisogno di uno stack tecnologico più complesso.

Ciò che Simon Cross e Nick stanno spiegando è che è necessario un server Web per ricevere le azioni iOS e il server Web comunica con Facebook. Inoltre, il tuo server web (credo) deve effettivamente ospitare i tuoi oggetti, ad es. immagini o canzoni nel tuo caso - e anche se ci sono ottimi servizi di hosting di file che interagiscono molto bene con iOS (sto scavando Parse.com), non offrono servizi nativi/GUI per OpenGraph di Facebook. (Vorrei che Heroku o analizzare o qualcuno offerto qualcosa che avrebbe funzionato e scalare out-of-the-box ..)

Quindi, in sostanza, hai avuto modo di rotolare il proprio server web di inviare a FB da un'app nativa che utilizza OpenGraph.

NOTA: In iOS 6, sembra che l'integrazione di FB sia altrettanto liscia e semplice dell'integrazione di Twitter in iOS 5 (vale a dire che sarete operativi in ​​30 minuti). La settimana prossima farò dei cazzotti per vedere se è così. :)

0

Proprio come ha detto Simon, non si pubblicano gli OG Oggetti, li si crea/li si registra (insieme alle "Azioni" all'interno della dashboard dell'app FB). Quindi dal tuo interno alla tua app pubblichi "Azioni" usando l'API dell'oggetto Facebook. Le tue "Azioni" dovrebbero includere un riferimento (tramite un URL) all'istanza dell'oggetto OG personalizzato che hai creato. Questo oggetto OG personalizzato avrà i dati univoci (ad esempio titolo, dati, ecc.).

Ecco il kicker, quegli oggetti OG "personalizzati" DEVONO, DEVE, risiedere come una pagina Web unica che è ospitata su un server di backend. Succhia bene !!! Quindi dovrai anche creare il codice del server di backend per aiutarti a creare pagine web generate dinamicamente (OG Objects) O ottieni un servizio che lo farà per te (BaaS - backend as a service).

Anche se FB dice "Parse" gestirà questo e che sono un partner, non sono riuscito a trovare alcuna informazione su Parse.com per farlo .... in effetti, ho trovato il consiglio di supporto per essere il contrario . Parse sembra essere ottimo per la gestione degli utenti e l'archiviazione dei dati cloud per le app. Ma, raccomanderei 'Kinvey', poiché supportano la creazione e lo stoccaggio di OG Object (gratuito per il traffico leggero) e sono semplici da configurare e integrare.

0

Non è possibile pubblicare direttamente i brani, è necessario ospitare i brani sul proprio server (o su un social network come Soundcloud), quindi su post tali oggetti su Facebook. È possibile creare oggetti al volo anche se con i recenti cambiamenti nel SDK utilizzando:

NSMutableDictionary<FBOpenGraphObject> *object = 
      [FBGraphObject openGraphObjectForPostWithType:@"yourns:yourtype" 
                title:title 
                image:imageDataIfAny 
                 url:@"a URL that can be clicked" 
               description:descriptionIfAny]; 
      //attach custom data 
      object[@"data"] = @{ 
           //any custom data of your object type comes here 
           }; 

Non è necessario mettere i tag OG a una pagina web in modo esplicito più, ma è ancora necessario un parametro URL che avrà l'utente a una pagina Web quando si fa clic.