Add custom protocol deep links

zio/stable
Paul Frazee 2022-06-13 22:12:43 -05:00
parent 926a2d4756
commit 09b78a4634
4 changed files with 31 additions and 0 deletions

View File

@ -28,3 +28,10 @@ Uses:
- Create mock api - Create mock api
- Tests - Tests
- Should just try to catch errors on basic load - Should just try to catch errors on basic load
## Various notes
- ["SSO" flows on mobile](https://developer.okta.com/blog/2022/01/13/mobile-sso)
- Suggests we might want to use `ASWebAuthenticationSession` on iOS
- [react-native-inappbrowser-reborn](https://www.npmjs.com/package/react-native-inappbrowser-reborn) with `openAuth: true` might be worth exploring
- We might even [get rejected by the app store](https://community.auth0.com/t/react-native-ios-app-rejected-on-appstore-for-using-react-native-auth0/36793) if we don't

View File

@ -30,6 +30,15 @@
<data android:scheme="https" /> <data android:scheme="https" />
<data android:host="pubsq.pfrazee.com" /> <data android:host="pubsq.pfrazee.com" />
</intent-filter> </intent-filter>
<!-- deep linking via custom links -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- debug scheme: pubsq://app -->
<data android:scheme="pubsq" />
<data android:host="app" />
</intent-filter>
</activity> </activity>
</application> </application>
</manifest> </manifest>

View File

@ -20,6 +20,19 @@
<string>1.0</string> <string>1.0</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>xyz.blueskyweb.pubsq</string>
<key>CFBundleURLSchemes</key>
<array>
<string>pubsqapp</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1</string> <string>1</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>

View File

@ -25,6 +25,8 @@ const linking: LinkingOptions<RootTabsParamList> = {
prefixes: [ prefixes: [
'http://localhost:3000', // local dev 'http://localhost:3000', // local dev
'https://pubsq.pfrazee.com', // test server (universal links only) 'https://pubsq.pfrazee.com', // test server (universal links only)
'pubsqapp://', // custom protocol (ios)
'pubsq://app', // custom protocol (android)
], ],
config: { config: {
screens: { screens: {