This is a template that should be used to document each feature. It’s meant to be easy, not prescriptive - change it at will!
Table of contents
Definition
Status | NOT STARTED IN DESIGN IN DEVELOPMENT COMPLETED |
RBIberia Owner | |
RBI Owner |
❓ Open questions
We need to constantly make this section empty.
Requirements
Problem statement
The lack of integration with Firebase Dynamic Links SDK can limit the accessibility of the application's content, reduce the effectiveness of advertising and marketing campaigns, and restrict content sharing, which can have a negative impact on our customers, sales, and profitability.
Possible solution:
To implement the integration with Firebase Dynamic Links SDK into our platform.
https://firebase.google.com/docs/dynamic-links?hl=es-419
Acceptance criteria
SDK Integration:
The Firebase Dynamic Links SDK must be successfully integrated into our platform following the guidelines provided in the official documentation (https://firebase.google.com/docs/dynamic-links).
The integration should be compatible with the latest version of the SDK and maintain backward compatibility with previous versions to ensure a smooth transition and functionality across different app versions.
Dynamic Link Generation:
The platform should be able to generate Firebase Dynamic Links programmatically for different content pages, such as product details, promotions, or specific app screens.
The generated Dynamic Links should include relevant parameters, such as campaign details, source, medium, and any additional custom parameters required for tracking and analysis.
Deep Linking:
The integration should enable deep linking functionality, allowing users to be directed to specific content within the app when clicking on a Firebase Dynamic Link.
Deep links should accurately navigate users to the intended content, ensuring a seamless and intuitive user experience.
Success metrics
🤔 Assumptions
Dynamic Links FAQ:
Firebase Dynamic Links is no longer recommended for new projects. In the future, the Dynamic Links service will shut down, but you will have at least 12 months from the announcement date to migrate. Around the end of Q2-2023, we will announce more information.
We launched Dynamic links about 7 years ago to make URLs more powerful (for example, dynamically changing the destination of a link based on run-time conditions) at a time when there were different degrees of support on various OSes and platforms. We remain committed to the importance of enabling app teams of all sizes to improve their deep linking experiences and are investigating how to help developers adopt technologies such as App Links, and Universal Links.
How long will I have to migrate?
We want to make the migration as smooth as possible, so you will have a minimum of 12 months to fully migrate. We will share more details around the end of Q2-2023.
Will new and existing links continue to work?
Yes, your new and existing links will continue to work until the Dynamic Links service is shut down. Around the end of Q2-2023, we will provide more information on the long term plan for Firebase Dynamic Links.
Solution
Set up Firebase
Install the required dependencies with capacitor / android / ios:
Official Firebase plugin for capacitor
There are a few alternatives of plugins to install in capacitor
Configure Firebase in the project
Open the
capacitor.config.json
file in your project's root directory.Add the
@capacitor/firebase
plugin to theplugins
section:jsonCopy code"plugins": { "SplashScreen": { "launchShowDuration": 0 }, "@capacitor/firebase": { "scopes": ["dynamic-links"] } }
Implement Firebase Dynamic Links handling in EMEA app:
Open the file where you want to handle Firebase Dynamic Links (e.g., a component or service).
Import the necessary dependencies
Register a listener to handle incoming dynamic links:
Implement the function to handle the received deep link. Extract the query parameters or other information from the deep link URL and perform the desired actions in your app.
Import the necessary dependencies in your TypeScript file:
typescriptCopy codeimport { Plugins } from '@capacitor/core'; const { FirebaseDynamicLinks } = Plugins;
Register a listener to handle incoming dynamic links:
typescriptCopy codeimport { useEffect } from 'react'; useEffect(() => { const handleDynamicLink = async () => { const { data } = await FirebaseDynamicLinks.addListener('deepLinkOpen', (data: any) => { const deepLink = data.deepLink; // Process the deep link as needed processDeepLink(deepLink); }); }; handleDynamicLink(); }, []);
Generate Dynamic Links
In the Firebase Console, go to the Dynamic Links section.
Follow the provided instructions to create a new Dynamic Link and customize the link parameters such as the domain, deep link URL, and optional query parameters.
Once created, you can use the generated Dynamic Link URL in your app, website, or marketing materials.
High Level Estimate = 1 dev sprint with technical refinement and QA tests / No UX efforts needed.
Scenarios
Note: these are high-level scenarios that must pass testing before we can release the feature. They should also be used to drive design. Note that we do not specify user interface details in these steps - that is deliberate so that we focus on the process and not on the UI since the UI can change throughout design and development.
Scenario 1: xxx
Steps | Expected results |
---|---|
Do this | Expect that |
Design
Figma design here: [insert link]
Add Comment