如果应用程序已经打开,则来自expo-branch的Branch.subscribe不会接收数据



我成功地设置了Branch.io,并在订阅组件时收到了深度链接数据。为了使用发布包进行调试(仅适用于android,使用:expo build:android -t apk --release-channel test生成(,我存储接收到的数据,并将其传递到文本视图中。

Branch.subscribe(bundle => {this.props.AuthStore.testData = JSON.stringify(bundle);});

有两种情况,一种工作,一种不工作:

(工作(你不打开应用程序→u导航到某个注释(或gmail(→单击链接→应用程序已打开,链接中的数据正在Branch.subscribe 上提取

(无效(打开应用程序→u最小化应用程序→u导航到某个注释(或gmail(→单击链接→应用程序打开,但链接数据未收到,分支订阅未触发

是否有我缺少的配置?我尝试订阅AppStateChange(foreground|background(+我尝试使用await-Branch.getLatestReferringParams(((在两种情况下都没有成功(

请帮助并感谢您的阅读,希望这也能帮助其他人。

解决方案:使用来自react native的链接。

Branch在应用程序打开时获取第一个调用。如果应用程序在后台运行,则链接会被不同的通信层中断,并且无法访问Branch.io。这就是我的理解,这并不意味着我100%正确,这是基于大量的console.log、构建和调试。

因此,您只需要调用分支链接处理代码。然而,在后端,Branch生成的链接需要在URL中包含参数,这样才是可行的解决方案,因为在使用Linking模块处理链接时,您不会从Branch获得对象捆绑包。

最新更新