Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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

  1. SDK Integration:

    1. 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).

    2. 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.

  2. Dynamic Link Generation:

    1. The platform should be able to generate Firebase Dynamic Links programmatically for different content pages, such as product details, promotions, or specific app screens.

    2. The generated Dynamic Links should include relevant parameters, such as campaign details, source, medium, and any additional custom parameters required for tracking and analysis.

  3. Deep Linking:

    1. 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.

    2. 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

  1. Set up Firebase

  2. Install the required dependencies with capacitor / android / ios:

    1. Official Firebase plugin for capacitor

    2. There are a few alternatives of plugins to install in capacitor

      1. https://github.com/chemerisuk/cordova-plugin-firebase-dynamiclinks

      2. https://github.com/Pantrist-dev/capacitor-firebase-dynamic-links

      3. https://github.com/Turnoutt/capacitor-firebase-dynamic-links

  3. Configure Firebase in the project

    1. Open the capacitor.config.json file in your project's root directory.

    2. Add the @capacitor/firebase plugin to the plugins section:

      jsonCopy code"plugins": {
        "SplashScreen": {
          "launchShowDuration": 0
        },
        "@capacitor/firebase": {
          "scopes": ["dynamic-links"]
        }
      }
  4. 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();
        }, []);
  5. 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]

Development

Release

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.