react-navigation / react-navigation/react-navigation.github.io
is android:autoVerify="true" placed in the correct intent-filter?
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 324
- Fork
- 2k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với trang thiết lập deep linking trên Android được liên kết trong issue và so sánh hướng dẫn về intent-filter của trang này với tài liệu Android app-links. Xác định mã nguồn tài liệu React Navigation tương ứng, kiểm tra filter nào phải chứa autoVerify dựa trên hành vi được báo cáo, rồi cập nhật ví dụ và phần giải thích để cách thiết lập được ghi trong tài liệu trở nên rõ ràng, không mơ hồ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- android, react-native
- Lĩnh vực
- documentation
- Loại issue
- Tài liệu
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 48/100