Branch.io,为我数据库中的每个用户为我的应用程序创建一个推荐链接,以便我可以通过他们的推荐链接批量发送电子邮件给我的用户

Posted

技术标签:

【中文标题】Branch.io,为我数据库中的每个用户为我的应用程序创建一个推荐链接,以便我可以通过他们的推荐链接批量发送电子邮件给我的用户【英文标题】:Branch.io, for each users in my database create a referral link for my app so that I can bulk emailing my users with their referral link 【发布时间】:2018-04-12 14:57:06 【问题描述】:

我知道我可以在我的 react 原生应用中为给定用户创建推荐链接。

branch.setIdentity(userId);
const branchUniversalObject = await 
branch.createBranchUniversalObject(..);
const  url  = await branchUniversalObject.generateShortUrl(linkProperties);

但我想做的是为我数据库中的每个用户创建一个唯一的推荐链接。不是在我的移动应用程序中,而是在一个管理网络应用程序(用 node 编写)中,这样我就可以通过电子邮件向所有用户发送他们唯一的推荐链接。

如果有节点包但没有,会做这样的事情

users.forEach(user => 
  branch.setIdentity(user.userId);
  const branchUniversalObject = await branch.createBranchUniversalObject(..);
  const  url  = await branchUniversalObject.generateShortUrl(linkProperties);
  saveUserReferalLink(user, url);
);

我一直在研究 API

https://docs.branch.io/pages/apps/api/

但不太确定我需要做什么

创建一个链接 https://api.branch.io/v1/url 并在舞台参数中设置用户?

提前感谢您的帮助

更新

正如 Evgeniy Haydamakha 所建议的,documentation 确实说了以下内容

引荐链接

使用 $identity_id 创建用户 使用链接数据字典中步骤 1 中的 $identity_id 创建链接

但是我一直在努力创建用户。文档建议如下创建用户

curl -XPOST https://api.branch.io/v1/profile \
  -d '
    "branch_key":"MY_KEY",
    "identity":"steve",
    "identity_id":"444"
'

问题是 identity_id 在现实中应该是什么?例如 444 不起作用,它不会创建用户。 ID 12345678 确实有效,但最终在仪表板实时视图选项卡的身份选项卡中创建了一个用户,日期为 2014 年 5 月 28 日,该 ID 似乎与时间有关。理想情况下,我根本不会传递 identity_id,它会自动生成它,就像 setIdentity('steve') 一样。

然后我找到了这篇文章,这表明我根本不需要创建用户,而是将我的身份传递给链接,即上面示例中的“steve”作为分支开发者身份,如果没有 identity_id ( Branch Identity ID)与身份关联,将创建一个新的。

https://***.com/a/46358311/9636627

这很好,我已经尝试过了,它可以工作,唯一的问题是现在新创建的用户没有出现在 liveview 的“identites”选项卡中。我知道用户存在,因为如果我让用户读取身份,例如“steve”,我会收到一个带有新“identity_id”(分支身份 ID)的响应。

总结一下我的问题是

在创建新用户时,identity_id(Branch Identity ID)实际上应该是什么?

当我创建新链接并传递开发者身份时,为什么新用户没有出现在 liveview 的“身份”选项卡中?

【问题讨论】:

【参考方案1】:

为了通过 API 创建推荐链接,您需要根据 Branch documentation 创建用户身份 ID(或手头有身份 ID),然后将 $identity_id 包含到data 字典,如下所示:

curl -XPOST https://api.branch.io/v1/url \
  -d '
  "branch_key": "YOUR_BRANCH_KEY",
  "channel": "facebook",
  "feature": "onboarding",
  "campaign": "new product",
  "stage": "new user",
  "tags": ["one", "two", "three"],
  "data": 
    "$identity_id": "444",
    "$canonical_identifier": "content/123",
    "$og_title": "Title from Deep Link",
    "$og_description": "Description from Deep Link",
    "$og_image_url": "http://www.lorempixel.com/400/400/",
    "$desktop_url": "http://www.example.com",
    "custom_boolean": true,
    "custom_integer": 1243,
    "custom_string": "everything",
    "custom_array": [1,2,3,4,5,6],
    "custom_object":  "random": "dictionary" 
  
'

【讨论】:

感谢您的快速回复。看起来这是唯一的正确方法是当我尝试创建用户时,“identity_id”应该是什么格式?我已经尝试以下作为测试,它不会创建用户 "branch_key":"MY_KEY", "identity":"steve", "identity_id":"444" 但是,如果我将“identity_id”更改为 12345678,我会得到一个用户,但在 2014 年有一个事件。

以上是关于Branch.io,为我数据库中的每个用户为我的应用程序创建一个推荐链接,以便我可以通过他们的推荐链接批量发送电子邮件给我的用户的主要内容,如果未能解决你的问题,请参考以下文章

如何为每个用户提供 Firebase 存储中的特定文件夹

每次启动应用程序时,Branch.io Deeplink 都会打开深层链接

使用属性值为我的 wordpress 库中的每个图像添加自定义链接

为我的 API 实现 API 密钥

为我的不同值集合中存在的每个值查询 Parse 数据库 - Android

如何使用 Promtail / Loki - AlertManager 为我的日志中的每个错误发送警报?