[APP-547] Universal links & deeplinking (#555)

* added ios scheme and intentFilters for deep linking

* added intentFilters for android deep linking

* add .env files to .gitignore

* add autoVerify for android deep links
zio/stable
Ansh 2023-05-04 14:18:27 -07:00 committed by GitHub
parent c8af784328
commit d3e8bd3e9a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 4 deletions

4
.gitignore vendored
View File

@ -93,3 +93,7 @@ web-build/
# Android & iOS folders
android/
ios/
# environment variables
.env
.env.*

View File

@ -2,6 +2,7 @@
"expo": {
"name": "Bluesky",
"slug": "bluesky",
"scheme": "bluesky",
"owner": "blueskysocial",
"version": "1.27.0",
"orientation": "portrait",
@ -31,7 +32,8 @@
"NSMicrophoneUsageDescription": "Used for posts and other kinds of content.",
"NSPhotoLibraryAddUsageDescription": "Used to save images to your library.",
"NSPhotoLibraryUsageDescription": "Used for profile pictures, posts, and other kinds of content"
}
},
"associatedDomains": ["applinks:bsky.app", "applinks:staging.bsky.app"]
},
"androidStatusBar": {
"barStyle": "dark-content",
@ -43,7 +45,20 @@
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "xyz.blueskyweb.app"
"package": "xyz.blueskyweb.app",
"intentFilters": [
{
"action": "VIEW",
"autoVerify": true,
"data": [
{
"scheme": "https",
"host": "bsky.app"
}
],
"category": ["BROWSABLE", "DEFAULT"]
}
]
},
"web": {
"favicon": "./assets/favicon.png"

View File

@ -8,6 +8,7 @@
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true,
"resourceClass": "medium"
},
"channel": "development",

View File

@ -299,7 +299,9 @@ function navigate<K extends keyof AllNavigatorParams>(
function resetToTab(tabName: 'HomeTab' | 'SearchTab' | 'NotificationsTab') {
if (navigationRef.isReady()) {
navigate(tabName)
navigationRef.dispatch(StackActions.popToTop())
if (navigationRef.canGoBack()) {
navigationRef.dispatch(StackActions.popToTop()) //we need to check .canGoBack() before calling it
}
}
}