Tutorial iPhone SDK: Facebook Connect

Para dar las gracias debes entrar o registrarte en el foro

iMiembro 3G
iMiembro 3G
Mensajes: 55 Agradecido: 5
30 Jul 2011, 20:35# 1

Tutorial iPhone SDK: Facebook Connect


Hola Amigos les traigo la guía oficial de Facebook Connect para iPhone la eh traducido a Español para que lo entiendan y puedan hacer sus Apps.
A mi me sirvió mucho.

Aplicaciones móviles

Más de 200 millones de usuarios acceder a Facebook desde un dispositivo móvil cada mes. Plataforma de Facebook le permite llevar a estos usuarios y sus amigos a sus aplicaciones móviles, creación de una experiencia más atractiva y personalizada.
Facebook Platform proporciona SDK para iOS (iPhone y iPad) y Android . Si su aplicación móvil se ejecuta en una plataforma sin un SDK Facebook o se ejecuta en un navegador móvil, puede utilizar nuestra página web basada en Entrar Facebook , cuadros de diálogo de la Plataforma y Graph API directamente.
Esta guía le guiará por los principios básicos de la creación de aplicaciones móviles que aprovechan la plataforma de Facebook. Los ejemplos de esta guía de uso de Objective-C para iOS, Java para Android y HTML / JavaScript para aplicaciones Web móviles. Estos ejemplos son muy sencillos y fácilmente traducible a otros idiomas.
iOS para iPhone / iPad
Antes de comenzar el desarrollo con el SDK de Facebook IOS, usted tendrá que instalar las herramientas de iOS dev, Git (el cliente de control de código fuente que usamos para este SDK) y luego clonar la última versión del SDK de GitHub :
Instalar XCode
Instalar Git
Clonar GitHub repository: git clone git://github.com/facebook/facebook-ios-sdk.git
Una vez que tenga todo instalado, abre XCode y crear un proyecto nuevo IOS. Para utilizar el IOS Facebook SDK, los archivos de origen de ese proyecto SDK debe ser puesto en el proyecto de aplicación. Esto se puede hacer de varias maneras diferentes, pero la forma más fácil es arrastrar simplemente la carpeta src del repositorio Git local para el SDK (e.g. ~/facebook-ios-sdk/src)en el proyecto de aplicación de XCode.
Después de incluir los archivos de origen SDK en el proyecto de aplicación, un #import declaración se debe agregar a un archivo de cabecera para asegurarse de que que la aplicación puede hacer referencia a los tipos de SDK en los archivos de aplicación de fuente:

Código: Seleccionar todo
  # Import "FBConnect.h"

Con este paso completado, el SDK de Facebook puede ser construido y utilizado en el proyecto de aplicación de XCode.
Implementación de sistemas Single-Sign-On (SSO)
Una de las características más atractivas de la SDK iOS es Single Sign-On (SSO). SSO permite a los usuarios iniciar sesión en su aplicación utilizando su identidad en Facebook. Si ya está registrado en la aplicación iOS Facebook en sus dispositivos no tienen que escribir incluso un nombre de usuario y contraseña. Además, debido a que están firmando para su aplicación con su identidad de Facebook, puede obtener el permiso del usuario para el acceso a la información de su perfil y el gráfico social.
SSO principalmente obras de redirigir al usuario a la aplicación de Facebook en su dispositivo. Dado que el usuario ya está conectado a Facebook, que no tendrá que ingresar su nombre de usuario y contraseña para identificarse. Se verá el diálogo de autoridades con los permisos que su aplicación ha pedido, y si permiten que luego será redirigido a su aplicación con la correspondiente access_token .
Adición de SSO a su aplicación es muy sencilla con el SDK de Facebook. El siguiente ejemplo describe cómo configurar el proyecto XCode y lo que el código debe ser escrito para habilitar esta característica. En aras de la simplicidad, la funcionalidad de SSO se añadirá a la AppDelegate que fue creado por XCode cuando el proyecto de aplicación fue creada.
En primer lugar modificar la clase AppDelegate.
Paso 1. Defina la clase AppDelegate para manejar la sesión de Facebook de devolución de llamada mediante la adición de FBSessionDelegate delegado a la lista de delegados. Por ejemplo, para la MyGreatIOSApp:
Código: Seleccionar todo
@interface MyGreatIOSAppAppDelegate : NSObject
   



Paso 2. Configure el archivo de cabecera AppDelegate mediante la creación de variable de instancia:
Código: Seleccionar todo
Facebook *facebook;


Paso 3. Añadir una propiedad para una instancia de la clase de Facebook:
Código: Seleccionar todo
@property (nonatomic, retain) Facebook *facebook;


(Imagen 1)
1.png


A continuación, modifique el archivo de implementación AppDelegate.
Paso 1. Sintetizar el facebook de propiedad (esto crea métodos getter y setter):
Código: Seleccionar todo
@synthesize facebook;


Paso 2. Dentro del cuerpo de la application:didFinishLaunchingWithOptions: método de crear una instancia de la clase Facebook utilizando su identificador de aplicación (disponible en la aplicación de desarrollo ):
Código: Seleccionar todo
Facebook = [[Facebook alloc] initWithAppId: @ "YOUR_APP_ID"];

Esta instancia se utiliza para invocar SSO, así como la API de gráficos y cuadros de diálogo de la plataforma dentro de la aplicación.
Paso 3. Una vez que se crea la instancia, compruebe que la información guardada anteriormente token de acceso. (Le mostraremos cómo guardar esta información en el Paso 6.) Use la información guardada para configurar un cheque sesión válida mediante la asignación de la información guardada en el facebook token de acceso y las propiedades de la fecha de vencimiento. Esto asegura que su aplicación no redirige a la aplicación de Facebook y de invocar el cuadro de diálogo de autenticación si la aplicación ya tiene una validez access_token . Si usted ha pedido offline_access permiso extendió su access_token no caduca, pero todavía puede obtener invalidada si el usuario cambia su contraseña o desinstala la aplicación. Más información aquí .
Código: Seleccionar todo
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
        && [defaults objectForKey:@"FBExpirationDateKey"]) {
        facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
        facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}


Paso 4. Compruebe si hay una sesión válida y si no es válido llamar a la authorize método que tanto SIGNIN el usuario y solicitará al usuario que autorice la aplicación:

Código: Seleccionar todo
if (![facebook isSessionValid]) {
    [facebook authorize:nil delegate:self];
}


Paso 5. Agregue la application:handleOpenURL: método para la AppDelegate con una llamada al facebook ejemplo:
Código: Seleccionar todo
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

    return [facebook handleOpenURL:url];
}

Este método es llamado por IOS cuando la aplicación de Facebook vuelve a dirigir a la aplicación durante el proceso de SSO. La llamada a Facebook::handleOpenURL: ofrece la aplicación con las credenciales del usuario.
Paso 6. Implementar el fbDidLogin método de la FBSessionDelegate ejecución. En este método se ahorrará las credenciales del usuario en concreto el token de acceso y fecha de vencimiento correspondiente. Para simplificar se ahorrará este en las preferencias del usuario - NSUserDefaults :
Código: Seleccionar todo
- (void)fbDidLogin {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];

}


(Imagen 2)

2.png


Lo último que necesita llevarse a cabo para habilitar el soporte de SSO es un cambio en el .plist archivo que se encarga de la configuración de la aplicación. XCode crea este archivo automáticamente cuando se crea el proyecto. Una dirección URL específica debe ser registrada en este archivo que identifica la aplicación con IOS. Crear una nueva fila llamada tipos de URL con un solo elemento, esquemas de URL, que contiene un solo valor, fbYOUR_APP_ID (los caracteres literales fb seguido por su identificador de aplicación). A continuación se muestra exactamente cómo la fila debe aparecer en el archivo plist.:

(Imagen 3)

3.png


Eso es todo. SSO está listo para ir. Todo lo que queda es para crear y depurar la aplicación para asegurar cualquier cosa es la configuración correctamente. Cuando la aplicación se inicia en el emulador, debería ver el siguiente diálogo:

Esta pantalla se conoce como el diálogo de autorización del usuario. Permite al usuario que conceda su autorización aplicación para acceder a su información. Si el usuario pulsa Permitir, su aplicación está autorizado y tendrá acceso al perfil del usuario y el gráfico social a través del facebook ejemplo. Si el usuario pulsa No permitir, su aplicación no está autorizada y que no tendrá acceso a los datos del usuario.
Por defecto, el usuario se le pide que autorice la aplicación para acceder a la información básica que está disponible públicamente o en su defecto en Facebook. Si su aplicación necesita algo más que esta información básica para la función, usted debe solicitar permisos específicos del usuario. Esto se logra haciendo pasar un NSArray de permisos para la authorize método. El siguiente ejemplo muestra cómo solicitar el acceso a la dirección de correo electrónico del usuario y su proveedor de noticias:
Código: Seleccionar todo
NSArray* permissions =  [[NSArray arrayWithObjects:
     @"email", @"read_stream", nil] retain];

[facebook authorize:permissions delegate:self];


Una lista completa de los permisos está disponible en nuestra referencia de los permisos . Hay una fuerte correlación inversa entre el número de permisos de sus solicitudes de aplicación y el número de usuarios que permitirá a los permisos. Cuanto mayor sea el número de permisos que pedir, cuanto menor sea el número de usuarios que se les conceda, por lo que recomendamos que sólo solicitar los permisos es absolutamente necesario para su aplicación.
Llamando a la API gráfica
El SDK de iOS proporciona un conjunto sencillo de los métodos para acceder a la API gráfica y la API REST Legado :
/
Código: Seleccionar todo
/get information about the currently logged in user
[facebook requestWithGraphPath:@"me" andDelegate:self];

//get the logged-in user's friends
[facebook requestWithGraphPath:@"me/friends" andDelegate:self];     

//call a legacy REST API
NSMutableDictionary* params = [NSMutableDictionary
     dictionaryWithObjectsAndKeys: @"4", @"uids", @"name", @"fields", nil];

[facebook requestWithMethodName: @"users.getInfo"
    andParams: params andHttpMethod: @"GET" andDelegate: self];


Estos métodos se denominan de forma asíncrona y exigen que el delegate pasa a los métodos por encima de implementar el FBRequestDelegate protocolo, en concreto la request:didLoad: método de peticiones exitosas y request:didFailWithError método para detectar errores.
Viendo Diálogos Plataforma
El SDK de iOS ofrece el dialog método para mostrar cuadros de diálogo de la plataforma en el contexto de su aplicación. Basta con pasar el nombre del cuadro de diálogo para mostrar, junto con un delegado para manejar el resultado. El delegado debe implementar el FBDialogDelegate protocolo. El siguiente ejemplo muestra el diálogo de alimentación :
Código: Seleccionar todo
 [facebook dialog:@"feed" andDelegate:self];


(Imagen 4)




Espero les guste
Muchas Gracias

Fuente: http://developers.facebook.com/docs/guides/mobile/
Mis App:
http://itunes.apple.com/es/artist/jorgearnold/id404204455
Blog:
http://tecnologiaiphoneapp.wordpress.com
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Gracias  
Etiquetado en:
Publicidad
Publicidad