Using Firebase Dynamic Links for dev bundle id on iOS - ios

For my iOS app, the dev project has a different bundle id than the prod app.
Because the dev app isn't published, and therefore has no Store ID, the Dynamic Links SDK returns an error:
Your project does not own Dynamic Links domain
Is there any way to use test the Firebase Dynamic Links SDK with my dev bundle ID?

You have to enable the Dynamic Link first through Firebase Console for you to create Dynamic Links programmatically. See this link for more info.

Related

Dynamic link is not working on real ios device for custom domain

There is custom domain created as a url prefix and added dynamic links for screen navigation,it's working fine for Android but not on ios using react native.
Did following steps
1.Project setting in firebase w.r.t app store id, team id and bundle id.
2.Checked hosting in firebase.
Added Associated domain in xcode.
4.Added firebase dynamic link key in info.plist file with dynamic links.

How to get a Tracking_ID in Google Analytics for iOS apps for Google Tag Manager usage?

I've set up my account in Google Analytics, Google Tag Manager and have already installed firebase/analytics and GoogleTagManager to my project...
The problem is when I go the admin section and click on the default property created for my app I have no Tracking_ID on property settings menu,
the property is set as app + web I've tried to set a new property as App it then gives me only a .plist and no Tracking_ID for managing the events on Google Tag Manager...
Is google tag manager a tool meant to be used only for web now?
Because I installed it on iOS but it seems GA doesn't provide Tracking_ID for mobile tracking and without Tracking_ID I just can't use GTM...
Any help on this matter would be highly appreciated,
Thank you all in advance)
GA App properties were sunsetted and are now app+web properties.
In GA for the Property you created, you also need to add a data stream. App+Web Properties use a Measurement ID, not a Tracking ID.
When you add an app data stream, Analytics creates a corresponding
Firebase project and app data stream, and automatically links the
Firebase project to your property if your project and property are not
already linked. Currently, you cannot link to an existing Firebase
project from Analytics.
Enter the iOS bundle ID or Android package name, the app name, and for
iOS, the App Store ID, then click Register app.
Analytics will progress through the steps of creating a Google Cloud
project, a Firebase project, linking the Firebase project to
Analytics, and creating the app stream. Click Next.
Follow the instructions to download the config file for your app. Click Next.
Follow the instructions to add the Firebase SDK to your app. Click Next.
Run your app to verify installation of the SDK and that the app is communicating with Google servers. Click Finish.
Alternatively, click Skip this step if you want to complete app setup
at a later time. Click Next.
Ref: https://support.google.com/analytics/answer/9304153
GTM also has two new tags in it - GA App+Web Configuration tag & GA App+Web Event.

Firebase dynamic link not opening correct app when multiple flavors are installed on iOS

We developed a flutter app for Android and iOS, with different flavors: dev, test and prod, so we have 6 apps in total. To on-board the user, we send a firebase dynamic link via Email (with a deep link inside it) to navigate the user to a specific screen when it is tapped.
The expected behavior is that when the user taps on a dynamic link of - say - the dev app, it opens a screen in the dev app. Similar for the other flavors.
Now this works just fine on Android.
On iOS it works fine if only one app is installed, but if for example the dev and the test apps are installed, then tapping on the dynamic links always opens the test app. This is also true when dev, test and prod are installed: test is opened.
This is a development issue and not relevant for production as the user will never have the test or dev app installed, but it is annoying us as we have to uninstall and reinstall flavors all the time.
Our dynamic links have the following format (values in '<>' are placeholders):
Dev: https://<app_id>.page.link/?link=http://dev.<mydomain>.com/reset?token=token1&apn=<mypackage>.dev&isi=<isiNumber1>&ibi=<mypackage>.dev
Test: https://<app_id>.page.link/?link=http://test.<mydomain>.com/reset?token=token2&apn=<mypackage>.test&isi=<isiNumber2>&ibi=<mypackage>.test
Prod: https://<app_id>.page.link/?link=http://<mydomain>.com/reset?token=token3&apn=<mypackage>&isi=<isiNumber3>&ibi=<mypackage>
The behavior is the same for all iOS versions I could get my hands on on real devices, i.e. iOS 11, 12 and 13.
We're using Flutter 1.9.1-hotfix6 and firebase_dynamic_links 0.5.0+1
Any ideas what this might be caused by?
Firebase Dynamic Links do not support using the same URL prefix for multiple iOS apps/targets contained in the same Firebase project.
You can workaround this in multiple ways though:
Using multiple (sub)domains (as already suggested by Janmenjaya)
Use a custom domain
Using multiple Firebase projects (as already suggested by Aleksandr)
On Android it works out of the box, because you are in charge of matching paths with particular apps within the Manifest file. On iOS it doesn't work, because Firebase is in charge of such matches within the hosted apple-app-site-association file.
For further information, I've written an extensive answer here.
Do not use one project in the firebase console, it is better to split and use different url in <key>com.apple.developer.associated-domains</key>
In Firebase under dynamic link, we can create multiple url domain. And these url domain we need to add in the associated domain of different target.
Steps
Let’s assume I have two target test and production.
I created two domain link like “test.page.link” and production.page.link
In test target in Xcode under Signing & Capabilities -> Associated Domain, use the “test.page.link”
And for production target set the production.page.link

Issue with Firebase dynamic links

We are trying to use dynamic links for deep linking. The link is behaving normally.
However, on click, it is not hitting the userActivity restorationHandler method in the app.
We have followed all the steps mentioned in the document, and the output of diagnostics is below
---- Firebase Dynamic Links diagnostic output start
version 12.1.1, model iPhone Current date 2018-12-13 05:08:44 +0000 Device locale en-IN (raw en_IN), timezone Asia/Kolkata Specified custom URL scheme is dev.XXX.xxx and Info.plist contains such scheme in CFBundleURLTypes key. AppID Prefix: XXXX, Team ID: XXXX, AppId Prefix equal to Team ID: YES performDiagnostic completed successfully! No errors found.
---- Firebase Dynamic Links diagnostic output end --------
Firebase Dynamic Links framework version 3.3.0 System information: OS
iOS, OS
There is a warning in the dynamic link console regarding app ID prefix.
iOS app ‘com.xxx.ios’ lacks App ID Prefix. UniversalLinks is not enabled for the app.
We have cross checked our team ID and it seems to be fine.
Could someone please help us resolve this?
I had the same issue.
So, I asked Firebase team, got answers and fixed the problem.
Here is the solution.
Looks like you’ve encountered an issue while debugging your Firebase
Dynamic Link. Just to share, when adding an iOS app to a Firebase
project, an OAuth client ID is automatically generated for it in it’s
associated Cloud project. Deleting the app doesn't remove its
corresponding client IDs, which can cause issues for the dynamic link.
Here are the steps to change or delete the package name/bundle ID for
the client IDs:
Access the project on the Cloud console
Go to APIs and Services > Credentials
Identify the client ID with the conflicting package name/bundle ID in the name (ex: [Android/iOS] client for
(auto created by Google Service)
Edit the package name/bundle ID and save changes or delete the OAuth client ID

Xamarin iOS App is not getting lanuched after clicking on Short dynamic link created using firebase console

I am trying open my app using firebase short dynamic link. I have followed below steps to implement
First, i have created the Firebase project and app with same bundle id,then i have created one dynamic link for the app. As shown in screenshot.
firebase Dynamic Link Screenshot
In my project i added GoogleService-Info.plist of particular app which having bundle id and developer id of my app.
Also added xamarin firebase iOS component for dynamic link from below link:
https://components.xamarin.com/gettingstarted/firebaseiosdynamiclinks
Also i have enabled associate domain and provided domain as "applinks:aku4q.app.goo.gl"
then i added url types in info list with custom url scheme myapp://
After following all these steps, i typed custom url scheme in safari, app is getting opened, But whenever i am clicking the short dynamic link, not able to open.
Please suggest me any solution to open xamarin iOS app using firebase short dynamic link.

Resources