I am using dynamic link in React Native, I have all the steps required for IOS and android setup. (dynamic link opens the app on both platform) but when I have deep link attached to it, on Android app is opened but deep link parameters are not passed.
IOS works fine, deep link works correctly.
"react-native": "0.67.4",
"@react-native-firebase/app": "12.7.4",
"@react-native-firebase/dynamic-links": "12.7.4",
device: Xiaomi mi 9,
browser: Xiaomi browser,
deeplink: https://sweeftdigital.page.link/transfer_tip?userId=3
deep link debug version
video
In this video there are two browser: Mi browser and chrome browser,
- Mi browser: when pressing dynamic link, it opens app directly without passing parameters.
- chrome: when pressing dynamic link, it asks to open either in browser or open app, when you choose and app it passes parameters and deep link works.
AndroidManifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tipapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
<application android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:allowBackup="false"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
android:exported='true'
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
</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" />
<!-- Accepts URIs that begin with "https://www.sweeftdigital.page.link/” -->
<data android:scheme="https"
android:host="sweeftdigital.page.link" />
<!-- Accepts URIs that begin with "tipapp://” -->
<data android:scheme="tipapp" />
</intent-filter>
</activity>
</application>
</manifest>
deep link handling with react navigation
const config = {
screens: {
webView: {
path: '/transfer_tip',
parse: {
userId: (userId: any) => userId,
},
},
authLoading: '*',
},
};
const linking = {
prefixes: ['tipapp://', 'https://sweeftdigital.page.link'],
config: config,
};
<NavigationContainer
linking={linking}
...
Is there anything incorrect or is it firebase dynamic links normal behaviour?
