不打开就触发分支 io url

trigger branch io without open url

我正在尝试在我的应用程序中实现本机应用程序,当我扫描二维码时,我可以在不打开 url 的情况下触发分支。

我在分行注册

     componentDidMount() {
    this._unsubscribeFromBranch = branch.subscribe(({ error, params }) => {
      if (error) {
        console.error("Error from Branch: " + error)
        return
      }

      console.log("Branch params: " + JSON.stringify(params));
      if (params) {
        this.setState({ scan: { ...this.state.scan, glassHash: params.hash } }, () => {
          this._getCurrentPosition();
        });
      }
    });

  }

当我用 Qr 扫描时 运行 函数 onSuccess 并且我想在没有 openURL 的情况下触发此 branch.subscribe。如果我打开 URL,它工作正常,但这不是我想要的

     onSuccess(e) {
    console.log(e);

    // here i want to trigger the branch



    this.setState({ barcodeText: e.data });
    console.log(e);
  }

我在 react-native-branch-deep-links 文档中找到了有关 BranchEvent 的文档,但我没有看到任何相关示例。 我找到了这个

new BranchEvent("UserScannedItem", buo).logEvent()

但不确定如何实施我的自定义事件

这里是 Branch 的 Jackie。

分支 link 可以正常运行并在与 QR 扫描仪一起使用时保留数据,包括动态查询参数(附加在 URL 后面的参数)。如果使用二维码打开应用程序,您可以使用 getLatestReferringParams() 检索会话数据。下面是读取深度 link 数据的示例代码片段:

branch.subscribe(({ error, params }) => {
  if (error) {
    console.error('Error from Branch: ' + error)
    return
  }

  // params will never be null if error is null
})

let lastParams = await branch.getLatestReferringParams() // params from last open
let installParams = await branch.getFirstReferringParams() // params from original install

有关使用 getLatestReferringParams 处理 link 的更多信息打开:https://docs.branch.io/pages/apps/react-native/#using-getlatestreferringparams-to-handle-link-opens

关于自定义事件,这里有一个示例 class,用于使用 Branch SDK 生成标准和自定义事件:https://github.com/BranchMetrics/react-native-branch-deep-linking/blob/63cfc566ea45a6af0663fc7530c36fdb5dbf75e6/src/BranchEvent.js

如果您仍然遇到问题,请将带有相关分支 link 的示例 QR 码的屏幕截图直接发送至支持@branch.io,我很乐意进行一些测试!

最佳,

杰基