我们的 ReactNative 应用程序中 iOS 上的 Branch.io 链接遇到问题。当我们的应用程序使用来自 Branch.io 的延迟链接安装时,我们在打开应用程序时不会收到链接数据。但是,在用户重新启动应用程序后,链接将被处理。
更新
根据要求,我们附加(混淆)通过链接安装应用程序时的日志,以及打开链接时安装(并最小化)应用程序时的日志。我还附上了我们的 AppDelegate 文件
这是我们的 RN 代码:
import branch, { BranchSubscriptionEvent } from 'react-native-branch';
useEffect(() => {
const unsubscribe = branch.subscribe((value: BranchSubscriptionEvent) => {
console.log('value', value);
//more handling of the link
};
return unsubscribe;
}, [...dependencyList]);
通过链接安装在iOS上时登录到控制台的对象是:
{
"error": null,
"params": {
"+non_branch_link": "com.ourapp.app://google/link/?request_ip_version=IP%5FV4&match_message=No%20pre%2Dinstall%20link%20matched%20for%20this%20device%2E",
"+is_first_session": true,
"+clicked_branch_link": false,
"+rn_cached_initial_event": true
},
"uri": "com.ourapp.app://google/link/?request_ip_version=IP%5FV4&match_message=No%20pre%2Dinstall%20link%20matched%20for%20this%20device%2E"
}
当我们重新启动应用程序时,就会处理正确的链接:
{
"error": null,
"params": {
"~channel": "App",
"+is_first_session": false,
//more fields...
"~feature": "Signup",
"~campaign": "Refferal",
"deeplinkURL": "our custom data to handle link",
"~tags": [
"referral"
]
},
"uri": null
}
该链接是通过 Branch.io API 创建的
{
"data": {
"$desktop_url": "https://ourdomain.com",
"deeplinkURL": "our custom data to handle link"
},
"channel": "App",
"campaign": "Referral",
"feature": "Signup",
"tags": [
"referral"
],
"branch_key": "{{branchKey}}"
}
知道为什么我们在首次启动应用程序时无法获取所有数据吗? Android 运行正常。
我可以看到 "+clicked_branch_link": false, 当按键不匹配或您使用错误的快速链接(实时或测试)时,就会发生这种情况。
您能否使用此 [RNBranch enableLogging]; 启用日志记录并分享它们。 要启用测试实例,请使用此 RNBranch.useTestInstance()
请将 Branch SDK 置于 App Delegate 文件的顶部并进行测试,测试密钥应在 init 之前使用。
您是否还可以验证您的应用程序委托文件是否与此类似 https://help.branch.io/developers-hub/docs/react-native#ios-1