react-navigation / react-navigation/react-navigation.github.io
is android:autoVerify="true" placed in the correct intent-filter?
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 324
- Forks
- 2k
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Android deep-linking setup page linked in the issue and compare its intent-filter guidance with the Android app-links documentation. Locate the corresponding React Navigation documentation source, verify which filter should contain autoVerify using the reported behavior, and update the example and explanation so the documented setup is unambiguous.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100