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

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

Aperta
#1,184 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
JavaScript
Stelle
324
Fork
2k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla pagina di configurazione Android per i deep link collegata nell’issue e confronta le indicazioni relative a intent-filter con la documentazione Android app-links. Individua la fonte corrispondente della documentazione di React Navigation, verifica quale filtro debba contenere autoVerify in base al comportamento segnalato e aggiorna l’esempio e la spiegazione in modo che la configurazione documentata sia inequivocabile.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, react-native
Ambito
documentation
Tipo di issue
Documentazione
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.