[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 folders
android/ android/
ios/ ios/
# environment variables
.env
.env.*

View File

@ -2,6 +2,7 @@
"expo": { "expo": {
"name": "Bluesky", "name": "Bluesky",
"slug": "bluesky", "slug": "bluesky",
"scheme": "bluesky",
"owner": "blueskysocial", "owner": "blueskysocial",
"version": "1.27.0", "version": "1.27.0",
"orientation": "portrait", "orientation": "portrait",
@ -31,7 +32,8 @@
"NSMicrophoneUsageDescription": "Used for posts and other kinds of content.", "NSMicrophoneUsageDescription": "Used for posts and other kinds of content.",
"NSPhotoLibraryAddUsageDescription": "Used to save images to your library.", "NSPhotoLibraryAddUsageDescription": "Used to save images to your library.",
"NSPhotoLibraryUsageDescription": "Used for profile pictures, posts, and other kinds of content" "NSPhotoLibraryUsageDescription": "Used for profile pictures, posts, and other kinds of content"
} },
"associatedDomains": ["applinks:bsky.app", "applinks:staging.bsky.app"]
}, },
"androidStatusBar": { "androidStatusBar": {
"barStyle": "dark-content", "barStyle": "dark-content",
@ -43,7 +45,20 @@
"foregroundImage": "./assets/adaptive-icon.png", "foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff" "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": { "web": {
"favicon": "./assets/favicon.png" "favicon": "./assets/favicon.png"

View File

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

View File

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