linking - universal links from email ios
iOS Universal Links con comodines no funcionan (4)
Agregué mis hallazgos a este hilo: https://forums.developer.apple.com/thread/47315
En resumen, incluso en iOS 10, parece que la configuración de comodines requiere que la raíz del comodín sirva el archivo de apple-app-site-association
.
Por ejemplo, si desea utilizar *.domain.com
, entonces la apple-app-site-association
debe estar alojada en ambos, por ejemplo, app1.domain.com
y app1.domain.com
, de lo contrario no funcionará simplemente. especificando applinks:*.domain.com
en Xcode.
Esto es desafortunado si su sitio principal está alojado en www.domain.com
y tiene un redireccionamiento 301 en domain.com
(que lo redirige a www.domain.com
), porque Universal Links no permite redireccionamientos.
La solución que encontré fue crear un subdominio principal para su aplicación y usar sub-subdominios para el comodín. P.ej
-
app.domain.com
(debe servir el archivo deapple-app-site-association
) -
server1.app.domain.com
(debe servir laapple-app-site-association
) -
server2.app.domain.com
(...)
De esa manera, en Xcode, solo puede especificar applinks:*.app.domain.com
y Universal Links funcionará sin que tenga que especificar server1.app.domain.com
, server2.app.domain.com
, etc. .en Xcode.
Sin embargo, tenga en cuenta que también debe especificar explícitamente applinks:app.domain.com
si planea usar ese servidor también con su aplicación.
Espero que esto ayude.
En una aplicación para iOS en la que estoy trabajando, he configurado Universal Links. La aplicación alberga múltiples dominios. Algunos dominios los he configurado con un comodín. Estos dominios no parecen funcionar. Por ejemplo, quiero enlazar a https://news.mydomain.com/
. Si agrego lo siguiente a la lista de dominios asociados:
applinks:*.mydomain.com
-> No funciona
applinks:news.mydomain.com
-> funciona bien
Así que creo que configuré todo correctamente, el archivo de asociación-sitio-asociación-manzana está bien configurado. Incluso puedo ver en ambos casos (usando Charles Proxy) que el archivo de asociación-sitio-asociación-manzana se recuperó bien.
En el caso del comodín, el enlace solo se abre en Safari.
Cuando configuro el dominio sin un comodín, la aplicación se abre.
¿Me estoy perdiendo de algo? Ejecuto iOS 9.3.2 en el dispositivo y ejecuto Xcode 7.3.1, que son las últimas versiones.
Creo que es Apple Bug en la documentación. Tengo el mismo error en 9.3.1. Y 9.3.2 funciona bien. Enlace muy interesante, sobre problemas de firma, vea el comentario de Laurence Fan
Apple debería decir que * .dominio.com funciona para> = 9.3.2 en este enlace .
Intenté esto en septiembre de 2016, con iOS 9.3.5 y iOS 10 beta. La situación no ha cambiado: los enlaces universales aún no funcionan si applinks contiene solo dominios comodín, aunque la documentación sugiere que esto debería funcionar.
Parece que agregar un comodín en la parte del dominio de los applinks
solo se ha introducido en iOS 9.3 Beta 2
. En 9.3 notas de la versión Beta 2:
Ahora puede usar Universal Links con subdominios arbitrarios en lugar de tener que enumerar todos los subdominios de la aplicación como nombres de dominio completos. Las entradas tienen la forma:
: [: número de puerto] en el que se encuentra "webcredentials", "activitycontinuation" o "applinks".
La parte de la entrada ahora puede ser opcionalmente prefijada con "*." Para indicar un subdominio comodín. Por ejemplo:
applinks: *. example.com
Usted dice que se ejecuta en iOS 9.3.2
. ¿Pero es su deployment target
> = iOS 9.3
? Si no lo es: intente cambiándolo. Creo que va a resolver su problema.
Aquí puede encontrar una copia de las notas de esta versión (lo siento, no tengo ninguna otra fuente pública)
Editar:
Incluso si el Apple Doc dice que puedes usar comodines en los dominios, parece que tienen un problema en esto :
Para hacer coincidir todos los subdominios de un dominio asociado, puede especificar un comodín prefijando . antes del comienzo de un dominio específico (se requiere el período). La coincidencia de dominios se basa en la subcadena más larga en las entradas de applinks. Por ejemplo, si especifica las entradas applinks: .mywebsite.com y applinks: *. Users.mywebsite.com, la coincidencia para el dominio emily.users.mywebsite.com se realiza contra la entrada más larga * .users.mywebsite.com. Tenga en cuenta que una entrada para * .mywebsite.com no coincide con mywebsite.com debido al período después del asterisco. Para habilitar la coincidencia para * .mywebsite.com y mywebsite.com, debe proporcionar una entrada de applinks por separado para cada uno.