BranchMetrics / web-branch-deep-linking-attribution

The Branch Web SDK for deep linking and attribution. Once initialized, the Branch Web SDK allows you to create and share links with a banner (web only), over SMS, or your own methods by generating deep links. It also offers event tracking, access to referrals, and management of credits.
https://help.branch.io/developers-hub/docs/web-sdk-overview
MIT License
287 stars 100 forks source link

setBranchViewData only works once #846

Open Ryanjso opened 1 year ago

Ryanjso commented 1 year ago

Describe the bug

I'm having a bug setting data on a branch journey. The setBranchViewData appears to only actually set the data the first time it is called.

Steps to reproduce

  1. When a user navigated to a different page (react navigation) I call
    console.log('I get called every time the page changes, confirmed')
    branch.setBranchViewData({
            data: {
                $deeplink_path: deeplinkPath,
            },
        })
  2. when someone clicks the CTA in the journey, I read the journey_link_data and the $deeplink_path is always the first one I set, and this is apparent when it opens my iOS app and sends me to the first page I had set in the web app.

Expected Behavior

The branch journey data should be updated every time I call setBranchViewData.

Additional Information/Context

No response

SDK version used (window.branch.sdk)

^2.71.0

Environment

chrome ios

Ryanjso commented 1 year ago

I ended up finding this from 4 years ago that explains journeys need to be closed and reopened to change the data. This could be documented better in the branch docs. It also is kinda awkward, as it goes away and comes back on every page change.

rr-mostafa-darehzereshki commented 1 year ago

+1 for what Ryanjso mentioned. This is something we actively use to update the branch links with some dynamic data that can change over the same session