【问题标题】:Expo's Branch.subscribe() Not Triggering世博会的 Branch.subscribe() 未触发
【发布时间】:2018-09-14 15:34:21
【问题描述】:

单击从 Branch.io 生成的深层链接时,我无法让 Branch.subscribe 触发。深层链接会打开应用程序 (my-app),这很好,但任何具有相同架构 (my-app) 的链接都会这样做。所以我无法确认 Expo 的 Branch 是否真的在 Android 上运行。

我尝试了一些变化。从 Expo 的例子开始:

componentDidMount() {
    logger('COMPONENT MOUNTED') // runs
    DangerZone.Branch.subscribe((bundle) => {
      logger('PLS WORK') // doesn't run
    });
  }
}

分公司的例子:

  _unsubscribeFromBranch = null
  componentDidMount() {
    logger('COMPONENT MOUNTED') // runs
    _unsubscribeFromBranch = DangerZone.Branch.subscribe(({error, params}) => {
      logger('PLS WORK') // doesn't run
    })
  }

  componentWillUnmount() {
    if (_unsubscribeFromBranch) {
      _unsubscribeFromBranch()
      _unsubscribeFromBranch = null
    }
  }

subscribe() 调用中的记录器永远不会触发。应用在深度链接 url 上打开,componentDidMount() 运行,但 subscribe 对链接没有反应。

我正在使用 Expo 的 Branch 实现(Expo v25,react-native-branch 2.0.0-beta.3)。如果可能的话,我想避免脱离世博会。

从 ADB 记录的其他错误:

04-04 11:41:42.319 30352 30352 E i       : java.lang.ClassNotFoundException: abi25_0_0.host.exp.exponent.modules.api.branch.RNBranchModule
04-04 11:41:42.319 30352 30352 E i       : Runtime exception in RNObject when calling method initSession: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.reflect.Method[] java.lang.Class.getMethods()' on a null object reference

【问题讨论】:

    标签: react-native expo branch.io


    【解决方案1】:

    分支似乎没有正确初始化。你能用这个声明确认你已经导入了吗?

    import { DangerZone } from 'expo';
    let { Branch } = DangerZone;
    

    React-Native 分支现在是 2.2.4 版本。自测试版以来,我们对包装器进行了许多更新。可以升级到2.2.4 manually吗?

    【讨论】:

    • 感谢您的回复。我在示例中省略了导入,但它们是从 Expo 的 DangerZone 导入的。如果我无法导入分支,我的应用程序应该遇到错误,因为它正在尝试使用未定义的变量。我们尝试手动更新到最新的分支,但它也没有响应。我不知道如果我们强制更新,Expo 是否会与 Branch 一起工作。
    • 我很困惑为什么使用 DangerZone 而不是 react-native-branch 模块,这是因为 Expo 不能采用手动模块,这是解决方法吗?
    • 该模块需要react-native link react-native-branch。我认为需要link 的模块需要分离。有几个地方可以手动升级 package.json 中的版本而不分离几乎没有问题,但我在这里无法做到这一点。
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2019-03-25
    • 2022-06-23
    • 2023-02-17
    相关资源
    最近更新 更多