2012-03-04 12 views
5

Estoy trabajando en un reproductor de música para iPhone y me gustaría que los usuarios puedan publicar canciones en sus líneas de tiempo. Tengo Facebook Connect funcionando y he registrado objetos y acciones de Open Graph con Facebook, pero no puedo entender cómo crear/publicar un objeto y acción desde iOS.Creación de un objeto FB Abrir gráfico a través del SDK de iPhone

Facebook me da el siguiente código, pero no sé dónde usarlo para su iOS SDK.

<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" /> 

Respuesta

3

No publicar objetos desde el SDK de iOS - publicada acciones a través del SDK y referencia a una URL a un objeto.

se hace algo similar a:

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

Baically, usted publique en el API de gráficos usando los métodos de la API estándar de iOS Gráfico.

Hay una aplicación de ejemplo que muestra cómo hacer esto aquí: https://github.com/facebook/wishlist-mobile-sample

+1

La pregunta es, ¿cómo publicamos parámetros para los * objetos *? Como título, url, etc. – cocoapriest

+0

¡El mismo problema aquí! Los parámetros –

+0

para los objetos se encuentran en la respuesta html para YOUR_OBJECT_URL. – mnickv31

0

Por lo que yo entiendo (y espero que soy/gustaría estar equivocado), no se puede publicar en Open Graph de Facebook desde un IOS Aplicación nativa 5.x directamente. Necesitas una pila de tecnología más compleja.

Lo que Simon Cross y Nick están explicando es que usted necesita un servidor web para recibir sus acciones de iOS, y su servidor web luego se comunica con Facebook. Además, su servidor web (en mi opinión) debe alojar sus objetos, por ej. imágenes, o canciones en su caso, y aunque hay excelentes servicios de alojamiento de archivos que interactúan muy bien con iOS (he estado explorando Parse.com), no ofrecen servicios nativos/guiados por GUI para OpenGraph de Facebook. (Desearía que Heroku o Parse o alguien ofreciera algo que funcionara y fuera de la caja.)

Así que, básicamente, tienes que rodar tu propio servidor web para publicar en FB desde una aplicación nativa usando OpenGraph.

NOTA: En iOS 6, parece que la integración de FB es igual de pulida y fácil que la integración de Twitter en iOS 5 (es decir, estará listo para funcionar en 30 minutos). Voy a estar jugando con la próxima semana para ver si ese es el caso. :)

0

Al igual que Simon dijo, usted no publica 'Objetos OG', usted los crea/registra (junto con sus 'Acciones' dentro del tablero de la aplicación FB). Luego, desde su aplicación, publica 'Acciones' utilizando la API de objetos de Facebook. Tus 'Acciones' deben incluir una referencia (a través de una URL) a la instancia del Objeto OG personalizado que creaste. Este objeto OG personalizado tendrá los datos únicos (por ejemplo, título, datos, etc.).

Aquí está el truco, esos objetos OG 'personalizados' TIENEN QUE, DEBEN, residir como una página web única que se aloja en un servidor back-end. Apesta bien !!! Por lo tanto, deberá actualizar el código del servidor back-end para ayudarlo a generar páginas web generadas dinámicamente (OG Objects) O acceda a un servicio que lo hará por usted (BaaS - backend como servicio).

Aunque, FB dice 'Parse' se encargará de esto y de que son un socio, no pude encontrar ninguna información en Parse.com para hacer esto ... de hecho, encontré consejos de soporte para ser lo contrario . Parse parece ser ideal para la administración de usuarios y el almacenamiento de datos en la nube para aplicaciones. Pero, recomendaría 'Kinvey', ya que son compatibles con la creación y almacenamiento de objetos OG (gratis para tráfico ligero) y son fáciles de configurar e integrar.

0

No puede publicar canciones directamente, tendrá que alojar las canciones en su propio servidor (o una red social como Soundcloud), luego post esos objetos en Facebook. Puede crear objetos sobre la marcha, aunque con los cambios recientes en el SDK usando:

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

No es necesario poner las etiquetas OG a una página web de forma explícita más, pero todavía se necesita un parámetro de URL que se llevará a el usuario a una página web cuando se hace clic.

Cuestiones relacionadas