iphone - link - workflow facebook 2018
Abra un enlace de Facebook por la aplicaciĆ³n nativa de Facebook en iOS (9)
Si la aplicación nativa de Facebook está instalada en el iPhone. ¿Cómo abro un enlace de Facebook en la aplicación nativa de Facebook desde mi aplicación? En el caso de la apertura de Safari, el enlace es el mismo que:
Gracias.
Acabo de verificar esto hoy, pero si intenta abrir una página de Facebook, puede usar "fb: // page / {ID de página}"
La ID de la página se puede encontrar debajo de su página en la sección sobre la parte inferior.
Específico para mi caso de uso, en Xamarin.Forms, puede usar este fragmento para abrir en la aplicación si está disponible, de lo contrario en el navegador.
Device.OpenUri(new Uri("fb://page/{id}"));
Aquí hay algunos esquemas que usa la aplicación de Facebook, hay mucho más en el enlace de origen:
Ejemplo
NSURL *url = [NSURL URLWithString:@"fb://profile/<id>"];
[[UIApplication sharedApplication] openURL:url];
Esquemas
fb: // profile - Abre la aplicación de Facebook en el perfil del usuario
fb: // friends - Abre la aplicación de Facebook en la lista de amigos
fb: // notificaciones - Abra la aplicación de Facebook en la lista de notificaciones (NOTA: parece haber un error con esta URL. Se abre la página de Notificaciones. Sin embargo, no es posible navegar a ningún otro lado en la aplicación de Facebook)
fb: // feed - Abre la aplicación de Facebook para las noticias
fb: // events - Abre la aplicación de Facebook en la página de eventos
fb: // requests - Abre la aplicación de Facebook en la lista de Solicitudes
fb: // notes - Abre la aplicación de Facebook en la página de Notas
fb: // álbumes - Abra la aplicación de Facebook en la lista de álbumes de fotos
Si antes de abrir esta url desea verificar si el usuario abre la aplicación de Facebook, puede hacer lo siguiente (como se explica en otra respuesta a continuación):
if ([[UIApplication sharedApplication] canOpenURL:nsurl]){
[[UIApplication sharedApplication] openURL:nsurl];
}
else {
//Open the url as usual
}
Fuente
Esto abrirá la URL en Safari:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com/comments.php?href=http://wombeta.jiffysoftware.com/ViewWOMPrint.aspx?WPID=317"]];
Para el iPhone, puede iniciar la aplicación de Facebook si está instalado usando una URL que comienza con fb: //
Puede encontrar más información aquí: http://iphonedevtools.com/?p=302 también aquí: http://wiki.akosma.com/IPhone_URL_Schemes#Facebook
Robado del sitio anterior:
fb://profile – Open Facebook app to the user’s profile
fb://friends – Open Facebook app to the friends list
fb://notifications – Open Facebook app to the notifications list (NOTE: there appears to be a bug with this URL. The Notifications page opens. However, it’s not possible to navigate to anywhere else in the Facebook app)
fb://feed – Open Facebook app to the News Feed
fb://events – Open Facebook app to the Events page
fb://requests – Open Facebook app to the Requests list
fb://notes - Open Facebook app to the Notes page
fb://albums – Open Facebook app to Photo Albums list
Para iniciar las URL anteriores:
NSURL *theURL = [NSURL URLWithString:@"fb://<insert function here>"];
[[UIApplication sharedApplication] openURL:theURL];
Hice esto en MonoTouch con el siguiente método, estoy seguro de que un enfoque puro basado en Obj-C no sería demasiado diferente. Usé esto dentro de una clase que tenía URL cambiantes a veces y es por eso que no lo puse en una declaración if / elseif.
NSString *myUrls = @"fb://profile/100000369031300|http://www.facebook.com/ytn3rd";
NSArray *urls = [myUrls componentsSeparatedByString:@"|"];
for (NSString *url in urls){
NSURL *nsurl = [NSURL URLWithString:url];
if ([[UIApplication sharedApplication] canOpenURL:nsurl]){
[[UIApplication sharedApplication] openURL:nsurl];
break;
}
}
El descanso no siempre se invoca antes de que su aplicación cambie a Safari / Facebook. Supongo que su programa se detendrá allí y lo llamará cuando regrese a él.
Para agregar el comentario de yonix como respuesta, la antigua URL fb://page/…
ya no funciona. Aparentemente fue reemplazado por fb://profile/…
, aunque una página no es un perfil.
Sé que la pregunta es antigua, pero para apoyar las respuestas anteriores, quería compartir mi código de trabajo. Simplemente agregue estos dos métodos a cualquier clase. El código comprueba si la aplicación de Facebook está instalada; si no está instalada, la url se abre en un navegador. Y si se produce algún error al intentar encontrar el profileId, la página se abrirá en un navegador. Simplemente pase la url (ejemplo, http://www.facebook.com/AlibabaUS ) para abrirUrl: y hará toda la magia. Espero que ayude a alguien !.
NOTA: UrlUtils era la clase que tenía el código para mí, podría tener que cambiarlo a otra cosa para satisfacer sus necesidades.
+(void) openUrlInBrowser:(NSString *) url
{
if (url.length > 0) {
NSURL *linkUrl = [NSURL URLWithString:url];
[[UIApplication sharedApplication] openURL:linkUrl];
}
}
+(void) openUrl:(NSString *) urlString
{
//check if facebook app exists
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) {
// Facebook app installed
NSArray *tokens = [urlString componentsSeparatedByString:@"/"];
NSString *profileName = [tokens lastObject];
//call graph api
NSURL *apiUrl = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@",profileName]];
NSData *apiResponse = [NSData dataWithContentsOfURL:apiUrl];
NSError *error = nil;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:apiResponse options:NSJSONReadingMutableContainers error:&error];
//check for parse error
if (error == nil) {
NSString *profileId = [jsonDict objectForKey:@"id"];
if (profileId.length > 0) {//make sure id key is actually available
NSURL *fbUrl = [NSURL URLWithString:[NSString stringWithFormat:@"fb://profile/%@",profileId]];
[[UIApplication sharedApplication] openURL:fbUrl];
}
else{
[UrlUtils openUrlInBrowser:urlString];
}
}
else{//parse error occured
[UrlUtils openUrlInBrowser:urlString];
}
}
else{//facebook app not installed
[UrlUtils openUrlInBrowser:urlString];
}
}
Si la aplicación de Facebook está iniciada, la página se abrirá al ejecutar el siguiente código. Si la aplicación de Facebook no está iniciada al ejecutar el código, el usuario será redirigido a la aplicación de Facebook para iniciar sesión y luego, una vez que haya conectado, Facebook no será redirigido a la página.
NSURL *fbNativeAppURL = [NSURL URLWithString:@"fb://page/yourPageIDHere"] [[UIApplication sharedApplication] openURL:fbNativeAppURL]
Simplemente use https://graph.facebook.com/(your_username o nombre de la página) para obtener su ID de página y después de que pueda ver todos los datos de detención y su ID.
después en su aplicación IOS use:
NSURL *url = [NSURL URLWithString:@"fb://profile/[your ID]"];
[[UIApplication sharedApplication] openURL:url];
veloz 3
if let url = URL(string: "fb://profile/<id>") {
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:],completionHandler: { (success) in
print("Open fb://profile/<id>: /(success)")
})
} else {
let success = UIApplication.shared.openURL(url)
print("Open fb://profile/<id>: /(success)")
}
}