1

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

enter image description here

video

Press to see video

In this video there are two browser: Mi browser and chrome browser,

  1. Mi browser: when pressing dynamic link, it opens app directly without passing parameters.
  2. 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?

2
  • 1
    Have you put SHA certificate fingerprints on your firebase android project? They are saying it will be needed for Dynamic Link. Commented Oct 9, 2022 at 15:08
  • Thanks , I am going to upload app on store and it will generate fingerprint automatically, I will update status in couple of days. Commented Oct 10, 2022 at 8:47

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.