单击 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() 调用中的记录器永远不会触发。应用程序在深层链接网址上打开,ComponentDidMount() 运行,但订阅不会对该链接使用react。
我正在使用 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
最佳答案
分支似乎未正确初始化。您能通过此语句确认您已导入它吗?
import { DangerZone } from 'expo';
let { Branch } = DangerZone;
React-Native Branch 现已推出版本 2.2.4。自测试版以来,我们对包装器进行了许多更新。可以升级到 2.2.4 manually ?
关于react-native - Expo 的 Branch.subscribe() 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49661736/