¿Cómo funciona Facebook AppLinks exactamente en iOS?

He encontrado una pregunta relacionada: No puedo hacer que los nuevos AppLinks funcionen en iOS o Android, pero no estoy seguro si es completamente similar con el problema al que me enfrento. Por lo tanto, he creado esta pregunta.

Si entiendo correctamente de: https://developers.facebook.com/docs/applinks/ios

¿Cómo funciona Facebook AppLinks exactamente en iOS?

Cuando hago clic en un applink apropiado con los metadatos adecuados:

Caso 1: tengo la aplicación instalada:

Acción esperada 1: Navegará a la página específica dentro de la aplicación.

Caso 2: No tengo la aplicación instalada:

Acción esperada 2: Me dirigirá a la página de la tienda de aplicaciones de la aplicación para download.

Aquí están las configuraciones que he hecho hasta ahora:

La URL de enlace de la aplicación: http://watchoverme.parseapp.com/

Los datos meta de App Link :

<html> <head> <title>Watch Over Me</title> <meta property="al:ios:app_store_id" content="431208868"/> <meta property="al:ios:app_name" content="Watch Over Me" /> <meta property="al:ios:url" content="watchoverme://promotion" /> <meta property="al:web:url" content="https://itunes.apple.com/app/id431208868?mt=8" /> </head> <body> Yo! </body> </html> 

En el lado de la aplicación, agregué el esquema de url personalizado como la captura de pantalla a continuación: esquema de url del enlace de la aplicación watchoverme

Hasta ahora, he probado algunos escenarios a continuación:

Escenario 1: Creé otra aplicación simple con un solo button para abrir el applink.

El código para el button:

 - (IBAction)appLinkTapped:(UIButton *)sender { NSLog(@"appLinkTapped"); UIApplication *app = [UIApplication shanetworkingApplication]; NSString *path = @"watchoverme://promotion"; NSURL *ourURL = [NSURL URLWithString:path]; /* if(![app canOpenURL:ourURL]){ path = @"http://watchoverme.parseapp.com/"; ourURL = [NSURL URLWithString:path]; }*/ [app openURL:ourURL]; } 

Resultado 1: Si tengo la aplicación WatchOverMe instalada y presiono el button, puedo abrir la aplicación WatchOverMe. ¡Estupendo!. Pero si la aplicación WatchOverMe no está instalada y presiono el button, no pasa nada. ¿Debo ser dirigido a la tienda de aplicaciones de iTunes para download la aplicación? ¿O hice algo mal?

Escenario 2: publiqué el enlace ( http://watchoverme.parseapp.com/ ) en Facebook y trato de tocar el enlace en mi mobile.

Resultado 2: Si tengo la aplicación instalada o no, solo me muestra el website en blanco.

La pregunta: ¿Me estoy perdiendo algo aquí en las configuraciones hasta que no pueda desencadenar el comportamiento de applink esperado anteriormente?

Gracias

Actualización n. ° 1

Gracias Ming Li por apuntarme a la dirección correcta. Quiero comprender mejor cómo funciona el enlace de la aplicación. Entonces, he hecho más testings y he aquí lo que he encontrado:

Enlace de la aplicación de Facebook

Desde la captura de pantalla anterior:

Caso A : Comparto el enlace de la aplicación con la aplicación Watch Over Me (verás "vía Watch Over Me")

Resultado A: Cuando toco el enlace en la aplicación de Facebook. Si tengo la aplicación Watch Over Me instalada, me networkingireccionará a la aplicación. Si no tengo la aplicación instalada, me networkingirigirá a iTunes App Store para download. ¡Está funcionando muy bien!

Caso B: comparto el enlace de la aplicación solo con la actualización de estado. (sin via Watch Over Me)

Resultado B: solo abrirá la página web en blanco.

Entonces, ¿Applink solo funciona cuando publicamos el applink a través de Facebook? ¿Y no publicar el Applink a través de nuestra actualización de estado?

Actualización n. ° 2

¡He vuelto a probar el 1 de septiembre de 2014. Ambos casos anteriores han funcionado bien! Un gran gracias Ming Li.

Como no ha indicado que su aplicación sea solo mobile, seguiría la flecha "No" del cuadro de decisión original y mostrará su página web junto con alguna llamada a las acciones para abrir o instalar.

Facebook siempre está probando diferentes tratamientos de UX, por lo que lo que ves puede no ser lo que otras personas ven. Traté de publicar una actualización de estado con tu URL, y todo funciona como se esperaba.

Para todos los demás que no trabajan en Facebook y entienden lo que quieren decir con "indicando que su aplicación es solo mobile", esto es lo que he encontrado en las testings:

Parece que están utilizando la propiedad meta "al: web: should_fallback" como un control de si su aplicación es "solo mobile" y no tiene presencia en la web. Esto no tiene sentido por lo que puedo decir en function de cómo la especificación de App Links lo define, pero qué sé.

De todos modos, si quieres que tu publicación de Facebook vaya directamente al enlace profundo de tu aplicación y no abras la vista web discordante con los tratamientos UX de enlaces de aplicaciones aleatorios de Facebook, a continuación, agrega la siguiente propiedad de meta a tu página html:

 <meta property="al:web:should_fallback" content="false" /> 

Por supuesto, ahora esto le impide enviar usuarios sin la aplicación instalada a otra cosa que no sea la tienda de aplicaciones. Sin embargo, dado que la vista web suele ser solo una repetición de la publicación de Facebook, en primer lugar, probablemente sea una compensación válida.