Publicación de la captura de pantalla de GameOver a FaceBook a través de Cocos2d

He buscado en muchos foros y temas sobre la publicación de capturas de pantalla en Facebook. Encontré la función que se debe agregar en CCDirector que crea una captura de pantalla. También he visto el método que publica la captura de pantalla en Facebook en un álbum o pared. Pero eso no está funcionando para mí.

UIImage *tempImage = [[CCDirector sharedDirector] screenshotUIImage];

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   tempImage,@"message",
                                   nil];

[facebook requestWithGraphPath:@"me/photos"
                         andParams:params
                     andHttpMethod:@"POST"
                       andDelegate:self];

screenshotUIImage es la función que hace la captura de pantalla y está funcionando bien. requestWithGraphPath no hace nada por mí. He usado diferentes palabras clave en params como "tempImage, @" source "," y "tempImage, @" image "," pero no pasa nada.

Sin embargo, publicar texto en la pared, como puntaje alto con enlace de imagen predefinido, está funcionando bien.

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               imageSrc, @"picture",
                               serverLink, @"link",
                               postName, @"name",
                               customMessage, @"caption",
                               nil];

// Post on Facebook.
[_facebook dialog:@"feed" andParams:params andDelegate:self];

¿Alguien puede guiarme a través de cómo hacer la publicación de fotos?

1

1 Respuestas

En tus parámetros, puedes intentar especificar un UIImage para la "imagen" clave:

UIImage *tempImage = [[CCDirector sharedDirector] screenshotUIImage];

NSMutableDictionary *params = [NSMutableDictionary dictionary];    
[params setObject:myCaption forKey:@"caption"];
[params setObject:myMessage forKey:@"message"];
...
// UIImage object goes here
[params setObject:tempImage forKey:@"picture"];

[facebook requestWithGraphPath:@"me/photos" andParams:params andHttpMethod:@"POST" andDelegate:self]; 
1
agregado
Gracias por la ayuda, pero todavía no funciona para mí. En el botón para compartir cambia a la página de permiso de Facebook. Después de presionar el botón okey en la página de Facebook, vuelve al juego pero no ocurre nada. Si publico texto simple usando esta línea '[_facebook dialog: @ "feed" andParams: params andDelegate: self];' pide permiso y cuando vuelve al juego hay un diálogo para iniciar sesión en Facebook en la pantalla del juego. Después de iniciar sesión, muestra el texto para compartir con un botón para compartir y funciona perfecto. No hay diálogo mientras se comparte una imagen
agregado el autor Ahmad Mujtaba, fuente
Gracias, intentaré hacerlo de esa manera. Espero que esta vez funcione.
agregado el autor Ahmad Mujtaba, fuente
¿Lograste que funcione? Tal vez puedas intentar publicar una imagen a través de Sharekit. De hecho, mira: github.com/ShareKit/ShareKit/blob/master/Classes/ShareKit/… para ver cómo implementan la publicación de UIImage a través de la API de FB Graph. Aparentemente, se hizo de manera similar.
agregado el autor Ken Toh, fuente