目标
我发送的电子邮件与Branch.IO的深层链接实现与sendGrid集成。当用户点击链接我的反应原生应用程序在手机中打开并根据我在API中创建链接期间提供的URL中的查询参数将我重定向到屏幕。
问题
我可以从链接打开应用程序,但我在链接中提供的查询参数显示为空白。所以我无法打开我想在应用程序中重定向到用户的屏幕。
branch.subscribe(({ params, error, uri }) => {
if (error) {
console.log('Error from Branch: ' + error)
return
}
console.log("params :: ", params);
if(params.reset) {
// Redirect user to reset password screen
console.log("params.reset :: " + params.reset);
Actions.resetpassword({resetToken: params.reset});
} else if(params.verify) {
// Verify signup user
axios.post('http://localhost:3030/authmanagement', {
"action":"verifySignupLong",
"value": params.verify
}).then(response => {
Actions.login({isVerifySuccess: true});
}, error => {
Actions.login();
});
}
});
我已将此代码编写为Branch.IO文档的建议。在参数中,我发送了重置和验证令牌,我将其作为空白字符串。
信息
此代码在深度链接中未与sendGrid集成。但对于邮件跟踪我使用sendGrid。因此,当我尝试使用sendGrid发送电子邮件时,会产生问题。
我在SendGrid帐户中设置了链接品牌,并在我的域中添加了CNAME,如sendGrid集成指令中给出的深度链接。
中检查了邮寄链接我已经验证了链接,它会生成带有参数的有效网址。请查看下图以获得更多说明
答案 0 :(得分:0)
来自Branch的Jackie。
根据您的重定向链接,SendGrid集成似乎存在问题。您是否可以按照说明here?
确保正确设置您的集成在某些情况下,这就是您的电子邮件模板中的链接:http://example.com/?foo=bar
当用户点击电子邮件中的链接时,分支会处理该链接并将其转换为以下内容:
https://vza3.app.link/3p?%243p=e_xx&%24original_url=http%3A%2F%2Fexample.com%2F%3Ffoo%3Dbar
(Where vza3.app.link is your Branch domain.)
此外,为了让SendGrid知道电子邮件链接应该深层链接并打开应用程序,请在HTML中添加universal =“true”,如下所示:
<a href="http://example.com" universal="true">Link to your app!</a>
如果您仍然遇到通过SendGrid电子邮件跟踪传递深层链接数据的问题,请直接通过integrations@branch.io与您的Branch键和您正在使用的链接联系。