You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the app opens successfully, but calling the getInitialLink method returns null. Previously, getInitialLink would correctly return the deep link URL (https://app.taxfix.de/dlink/document-manager). This behavior stopped working a few days ago and now consistently fails in all cases.
Context:
We have three Firebase Dynamic Link domains set up:
Domain: https://taxfix.page.link
Links resolve to our Production application (published on stores).
The issue primarily affects the Beta and Production environments. Debug links work perfectly when running our application locally.
Platform-specific Behavior:
iOS: The issue occurs for Beta and Production dynamic links. While the app opens as expected, the getInitialLink method fails to return the link and instead returns null.
Android: Dynamic links work as expected across all environments (Debug, Beta, and Production).
Additional Notes:
This issue appears to be specific to iOS. It seems unrelated to link configuration, as everything worked correctly until a few days ago. We would appreciate any guidance or suggestions to debug or resolve this behavior.
Project Files
Javascript
Click To Expand
package.json:
#
firebase.json for react-native-firebase v6:
# N/A
iOS
Click To Expand
ios/Podfile:
I'm not using Pods
I'm using Pods and my Podfile looks like:
require'json'firebaseAppPackage=JSON.parse(File.read(File.join(File.dirname(`node --print "require.resolve('@react-native-firebase/app/package.json')"`),'package.json',),),)
$FirebaseSDKVersion =firebaseAppPackage['sdkVersions']['ios']['firebase']
$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion =true
$ZendeskSDKVersion ='2.14.0'requireFile.join(File.dirname(`node --print "require.resolve('expo/package.json')"`),"scripts/autolinking")# Resolve react_native_pods.rb with node to allow for hoistingrequirePod::Executable.execute_command('node',['-p','require.resolve( "react-native/scripts/react_native_pods.rb", {paths: [process.argv[1]]}, )',__dir__]).stripplatform:ios,min_ios_version_supportedprepare_react_native_project!use_modular_headers!use_frameworks!linkage: :staticFlipperConfiguration.disabledtarget'Taxfix'dopermissions_path='../node_modules/react-native-permissions/ios'pod'Permission-FaceID',path: "#{permissions_path}/FaceID"pod'Permission-PhotoLibrary',path: "#{permissions_path}/PhotoLibrary"pod'GoogleUtilities'# Trackingpod'Analytics','~> 4.1'pod'Segment-Firebase',git: 'https://github.com/taxfix/analytics-ios-integration-firebase.git',branch: 'firebase/v10.24.0'pod'Segment-Appboy','~> 4.2.0'pod'FirebaseFirestore',git: 'https://github.com/invertase/firestore-ios-sdk-frameworks.git',tag: $FirebaseSDKVersion
# Pods for Taxfixpod'SwiftyUserDefaults','~> 5.0'pod'Unbox','~> 2.5'pod'Wrap','~> 3.0'pod'SwiftyJSON','~> 5.0'use_expo_modules!(searchPaths: ['../node_modules'])post_integratedo |installer|
beginexpo_patch_react_imports!(installer)rescue=>ePod::UI.warneendendconfig=use_native_modules!# Flags change depending on the env values.flags=get_default_flagsuse_react_native!(path: config[:reactNativePath],# to enable hermes on iOS, change `false` to `true` and then install podshermes_enabled: true,# An absolute path to your application root.app_path: "#{Pod::Config.instance.installation_root}/..",)end# Convert all permission pods into static libraries# https://github.com/zoontek/react-native-permissions#workaround-for-use_frameworks-issuespre_installdo |installer|
Pod::Installer::Xcode::TargetValidator.send(:define_method,:verify_no_static_framework_transitive_dependencies,){}installer.pod_targets.eachdo |pod|
ifpod.name.eql?('RNPermissions') || pod.name.start_with?('Permission-')defpod.build_typePod::BuildType.static_library# >= 1.9endendendendpost_installdo |installer|
react_native_post_install(installer,#TODO: remove if it works without this# '../node_modules/react-native',:mac_catalyst_enabled=>false)__apply_Xcode_12_5_M1_post_install_workaround(installer)installer.pods_project.targets.eachdo |target|
target.build_configurations.eachdo |config|
config.build_settings['ENABLE_BITCODE']='NO'config.build_settings['SWIFT_VERSION']='5.0'config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']='13.0'endcasetarget.namewhen'RCT-Folly'target.build_configurations.eachdo |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']='11.0'endwhen'FBReactNativeSpec'target.build_phases.eachdo |build_phase|
if(build_phase.respond_to?(:name) &&
build_phase.name.eql?('[CP-User] Generate Specs'))target.build_phases.move(build_phase,0)endendendendend
That's pretty dated - I encourage you to reproduce this on up to date versions before filing issues, that said, this is not something that we have a lot of control over at this level, our dynamic link resolution delegates to firebase-ios-sdk pretty purely for these APIs
Have you tried reproducing with some native app logging using a native quickstart? That would allow you to access support where you will most likely need it - in the firebase-ios-sdk repository --> https://github.com/firebase/quickstart-ios/tree/main/dynamiclinks
usually those allow for a reproduction pretty quickly from checkout to some quick modifications hacked in for your test to reproducing it...
I can confirm what I have seen with similar behavior:
If you download an application from a link and open it, the initial url does NOT come to getInitialLink, but at the same time the onLink listener is triggered.
This will also work if you just download the app (but don't open it) and then click on the link. !! This behavior is only on the first app opening, all the next ones are correct. And only on iOS
For myself I created a small “proxy hack” under the dynamic links implementation, which for the first application launch within 1000ms collects links from onLink and returns the received link to getInitialLink.
This turned out to be the easiest, since dynamic links will soon be disabled and we are ready to switch to our own solution.
Issue
Describe your issue here
Description:
We are experiencing an issue where Firebase Dynamic Links no longer work as expected on iOS. When using a dynamic link generated from the Firebase Console, such as:
https://taxfix.page.link/document-manager
(which resolves to https://app.taxfix.de/dlink/document-manager),
the app opens successfully, but calling the getInitialLink method returns null. Previously, getInitialLink would correctly return the deep link URL (https://app.taxfix.de/dlink/document-manager). This behavior stopped working a few days ago and now consistently fails in all cases.
Context:
We have three Firebase Dynamic Link domains set up:
Debug:
Domain: https://taxfixdebug.page.link
Links resolve to our DEBUG application.
Beta:
Domain: https://taxfixbeta.page.link
Links resolve to our BETA application (published on Testflight).
Production:
Domain: https://taxfix.page.link
Links resolve to our Production application (published on stores).
The issue primarily affects the Beta and Production environments. Debug links work perfectly when running our application locally.
Platform-specific Behavior:
iOS: The issue occurs for Beta and Production dynamic links. While the app opens as expected, the getInitialLink method fails to return the link and instead returns null.
Android: Dynamic links work as expected across all environments (Debug, Beta, and Production).
Additional Notes:
This issue appears to be specific to iOS. It seems unrelated to link configuration, as everything worked correctly until a few days ago. We would appreciate any guidance or suggestions to debug or resolve this behavior.
Project Files
Javascript
Click To Expand
package.json
:#
firebase.json
for react-native-firebase v6:# N/A
iOS
Click To Expand
ios/Podfile
:AppDelegate.swift
:Android
Click To Expand
Have you converted to AndroidX?
android/gradle.settings
jetifier=true
for Android compatibility?jetifier
for react-native compatibility?android/build.gradle
:// N/A
android/app/build.gradle
:// N/A
android/settings.gradle
:// N/A
MainApplication.java
:// N/A
AndroidManifest.xml
:<!-- N/A -->
Environment
Click To Expand
react-native info
output:react-native-firebase
version you're using that has this issue:19.3.0
Firebase
module(s) you're using that has the issue:@react-native-firebase/dynamic-links
TypeScript
?Y
&5.5.4
React Native Firebase
andInvertase
on Twitter for updates on the library.The text was updated successfully, but these errors were encountered: