react-navigation / react-navigation/react-navigation.github.io

is android:autoVerify="true" placed in the correct intent-filter?

Abierto
#1,184 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
JavaScript
Estrellas
324
Forks
2k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

deep link setup for android: https://reactnavigation.org/docs/deep-linking/#setup-on-android

says/shows:

Add android:autoVerify="true" to your entry

and this will be the resulst:

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask">
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="mychat" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http" />
        <data android:scheme="https" />
        <data android:host="www.example.com" />
    </intent-filter>
</activity>

here they are placed on the first intent-filter.

however, when looking at the android docs for android app links: https://developer.android.com/training/app-links#android-app-links

they dont place android:autoVerify="true" on the entry(first) intent-filter where we have:

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

they place android:autoVerify="true" on the intent-filter where we add the scheme and host, which is the third one in the react-navigation example.

so their example looks like this:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

so there is a difference in where react-navigation docs and android docs add android:autoVerify="true".

i believe to match the android docs, react-navigation docs example would have to be updated to:

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask">
-   <intent-filter android:autoVerify="true">
+   <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="mychat" />
    </intent-filter>
-   <intent-filter>
+   <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http" />
        <data android:scheme="https" />
        <data android:host="www.example.com" />
    </intent-filter>
</activity>

thoughts?

EDIT:

i just found this: https://developer.android.com/training/app-links/verify-android-applinks#auto-verification

which says:

When android:autoVerify="true" is present in at least one of your app's intent filters, installing your app on a device that runs Android 6.0 (API level 23) or higher causes the system to automatically verify the hosts associated with the URLs in your app's intent filters.

so maybe its not important which intent-filter you place android:autoVerify="true" after all?

EDIT 2:
from my own personal testing, my android app links only open the app when i place it the way the android docs show. it does not work when i place i the place react-navigation shows.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la página de configuración de Android para deep links enlazada en el issue y compara sus indicaciones sobre intent-filter con la documentación de Android app-links. Localiza la fuente correspondiente de la documentación de React Navigation, verifica qué filtro debe contener autoVerify según el comportamiento descrito y actualiza el ejemplo y la explicación para que la configuración documentada no sea ambigua.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
android, react-native
Área
documentation
Tipo de issue
Documentación
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.