基于Branch.io本地化短信,如何指定TextMeTheApp触发时使用的Deep Link?
解决方案:为TextMeTheApp配置多语言Deep Link并触发指定链接
嘿,我刚好处理过类似的Branch本地化短信Deep Link配置需求,给你拆解下具体的实现步骤,亲测可行:
1. 先在Branch后台配置多语言专属Deep Link
首先得在Branch控制台给每种语言创建对应的专属链接:
- 登录Branch后台,创建新的Link(或者编辑现有用于短信的Link)
- 找到「Localization」(本地化)选项卡,在这里为每种目标语言(比如中文、英文、西班牙语)配置独立的参数:
- 给每种语言设置唯一的
$canonical_identifier(比如中文用textme_zh,英文用textme_en) - 同时配置对应语言的落地页/应用内跳转路径,确保用户点击后看到的是本地化内容
- 保存后,每个语言的Link会生成对应的Short URL,把这些URL记录下来备用
- 给每种语言设置唯一的
2. 触发短信时指定对应语言的Link
根据你发送短信的方式不同,分两种场景处理:
场景A:用Branch SDK发送短信(推荐)
如果是通过Branch的SDK或者Journeys功能触发短信,可以动态生成对应语言的Link:
- 先获取用户的语言偏好(可以从设备系统设置、你的用户数据库里拿到)
- 调用Branch SDK的链接生成方法,传入对应语言的
canonical_identifier参数,示例代码如下:// Android示例:生成中文版本的Deep Link BranchUniversalObject buo = new BranchUniversalObject() .setCanonicalIdentifier("textme_zh"); LinkProperties lp = new LinkProperties() .setChannel("sms") .setFeature("user_invite"); buo.generateShortUrl(context, lp, new BranchLinkCreateListener() { @Override public void onLinkCreate(String url, BranchError error) { // 拿到生成的短链接后,插入到短信模板里发送给用户 } });// iOS示例:生成英文版本的Deep Link let buo = BranchUniversalObject(canonicalIdentifier: "textme_en") let lp = LinkProperties() lp.channel = "sms" lp.feature = "user_invite" buo.getShortUrl(with: lp) { url, error in if let validUrl = url { // 将链接替换到短信模板中发送 } } - 这样生成的链接会自动匹配你在后台配置的本地化内容,用户点击后直接进入对应语言的页面。
场景B:自行调用短信服务商API发送
如果是你自己的服务端或客户端直接调用短信API,操作更直接:
- 提前把所有语言对应的Branch Short URL存到你的配置文件或数据库里
- 触发短信时,根据用户的语言偏好,取出对应的链接,替换到短信模板的占位符中:
比如短信模板可以是:快来体验TextMeTheApp!点击链接下载:[DEEP_LINK]
中文用户就把[DEEP_LINK]换成你配置的中文Branch短链接,英文用户换成英文链接即可。
3. 验证配置是否生效
- 发送测试短信到不同语言设置的设备,点击链接检查是否跳转到了对应的本地化内容
- 可以在Branch后台的「Analytics」板块查看不同语言链接的点击数据,确认流量是否正常
内容的提问来源于stack exchange,提问作者StevenN
相关产品推荐
相关产品推荐

