react-navigation / react-navigation/react-navigation.github.io
is android:autoVerify="true" placed in the correct intent-filter?
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- JavaScript
- Estrelas
- 324
- Forks
- 2k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
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.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece pela página de configuração de deep linking do Android vinculada na issue e compare as orientações sobre intent-filter com a documentação de Android app-links. Localize a fonte correspondente da documentação do React Navigation, verifique qual filtro deve conter autoVerify com base no comportamento relatado e atualize o exemplo e a explicação para que a configuração documentada seja inequívoca.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- android, react-native
- Domínio
- documentation
- Tipo de issue
- Documentação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 48/100