branch.io - 深度 View 中语言偏好的 mustache 变量?

标签 branch.io

我的公司正在使用branch.io 开展应用下载电子邮件事件。由于用户可以在桌面或手机上打开给定链接,因此我们需要支持这两种情况。

我们已经实现了一个分支“Deepview”,因为我们喜欢文本下载功能的便捷性。问题是,似乎没有任何方法可以提供此 View 的本地化版本,而且我们支持许多不同的语言。

因为我无法在自定义深度 View 中运行脚本(我认为出于安全原因,branch.io 删除了它们),并且因为我无权访问语言 Mustache 变量,所以我无法更改内容按区域设置。

有没有办法根据 URL 参数或(理想情况下)基于 window.navigator.language 来本地化深度 View ?如果我只是为用户的 language_code 暴露了一个 Mustache 变量,那么一切都可以工作。

这是我尝试破解它的方法:

.lang-en .phone-number-label:after {
    content: "Phone Number";
}
.lang-en .btn-submit-label:after {
    content: "Send Me The App";
}
<div class="container lang-en">
  <h3 class="phone-number-label"></h3>

  <input name="phone" id="phone" placeholder="+1 (123) 123-1234" type="text" class="phone-input"></input>

  <button id="phone-submit" type="submit" class="phone-submit">
    <span class="btn-submit-label"></span>
  </button>
</div>

“lang-en”的生成方式如下:

<div class="container lang-{{language_code}}>...</div>

我通过劫持 $og_description 短暂地使其发挥作用从网址:

https://bnc.lt/my-branch-link?$og_description<language_code_provided_as_query_param>

但过了一会儿,{{link_data.$og_description}}完全停止进入 Mustache 模板(当作为 url 参数传递时)。这可能也不是一个很好的做法。如果有人在这里有解决方案,或者branch.io 开发人员是否愿意在他们的 mustache 模板数据中公开此变量,请告诉我。

最佳答案

我有好消息! Branch Deepviews 使用 Handlebars,利用它可以让您设置“获取应用程序”——“安装后立即查看此内容”以及其他具有深度链接值的变量。让我向您展示一些代码和我刚刚为您构建的示例的屏幕截图。

代码示例:

<a href="{{action}}" class="cta-button text-light{{#unless app.og_image_url}} cta-button--no-app-icon{{/unless}}{{#if no_data}} cta-button--no-app-icon{{/if}}">{{#if link_data.cta_text_localized}}{{link_data.cta_text_localized}}{{else}}Get The App{{/if}}</a>

Handlebars 在此处为“获取应用程序”按钮发挥作用:

{{#if link_data.cta_text_localized}}{{link_data.cta_text_localized}}{{else}}Get The App{{/if}}

具体来说,如果此链接中存在深层链接值“cta_text_localized”,则使用该字符串作为“获取应用程序”按钮,否则使用“获取应用程序”。您可以从仪表板的营销部分配置深层链接数据,位于“添加链接”对话框的底部,附有屏幕截图:

Branch dashboard deep link configuration

我的 ES 定制 Deepview 的屏幕截图,请注意更改后的“获取应用程序”按钮: Branch ES Deepview

如您所见,使用液体标签从深层链接值“cta_text_localized”中获取文本,我将“获取应用程序”按钮设置为自定义字符串。使用此方法,您可以为要显示的每种语言创建一个链接,相应地设置深层链接值,而您的模板始终从同一变量中提取。

关于branch.io - 深度 View 中语言偏好的 mustache 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33668687/

相关文章:

java - Branch.io (Android SDK) 和 GDPR

android - 导出的接收器不需要 io.branch.referral.InstallListener 的权限

android - 防止在原始应用程序的浏览器中打开 Deeplink

android - 在 io.branch.sdk 的 android gradle 中排除模块 'answer-shim' 后,无法使用 proguard 构建

ios - 如何使用 branch.io 访问分配给 URL 的参数?

ios - 找不到Ionic 3应用程式的'Branch.h'文件Xcode错误

ios - Branch.IO showShareSheet 不生成 ShortUrl

android - 使用 Branch.io 时我应该检查 root 吗?

Branch.io 链接在 Whatsapp 中不显示图像/缩略图

android - 带 NFC 的即时应用程序