帐号关联

帐号关联是指将用户在超级消息平台的帐号和您业务系统中的帐号进行关联,关联之后,您便可以给指定的进行消息推送等操作,同时方便在客户端上面实时处理微业务。

OpenID

超级消息为每个用户在每个频道下分配了一个唯一的 OpenID,开发者在帐号关联和日常收到的请求中均能获取到此 ID。对于同一个开发者创建的不同频道, 同一个用户订阅这些频道,开发者将得到同样的 OpenID,表示此为同一个用户。

关联方式

内置浏览器打开 H5 页面关联

在模板中使用特殊属性 link:opena 或在菜单中添加一个支持 SDK 的菜单链接。 用户点击通过此两种方式设置的链接时,APP 会通过内置浏览器打开指定的 URL,当用户从页面登录后,然后您便可以在页面中通过 SDK 获取到 requestToken,之后使用 requestToken 便可以获取到 openID,以此完成帐号关联。

需要注意的是,只有上述两种方式打开的页面才可以获取到 requestToken因此请您务必注意通过此两种方式打开的页面是您信任的

订阅频道时关联

  1. 为频道设置一个钩子函数(频道-修改信息-订阅钩子地址);

  2. 获取频道的订阅链接,比如得到的链接是 https://super-message.com/c/xxxxxx ; 订阅链接支持设置额外的参数 e=xxx

  3. 为您的用户生成一个唯一的识别码,然后将识别码附在链接之后 https://super-message.com/c/xxxxxx?e=额外参数 。当然您还可以带上其它数据,如果不能确定数据是 URL 安全的,最好 base64 编码之后再传入给参数 e

  4. 当用户使用超级消息 APP 打开此链接并订阅频道时,订阅钩子地址将会收到来自客户端的 HTTP GET 请求,其中包含参数如下:

&_rt=requestToken
&_cid=频道ID
&_a=subscribe
&_extra=data

_rt/_cid 请参考客户端接入文档;
_extra 即为参数 e 的数据,_a=subscribe 表示订阅,_a=unsubscribe 表示取消订阅(以后可能会新增其它事件);
最终您可以通过 _rt 和 _extra 的值得到用户的关联关系,取消订阅的动作不支持 _extra 参数。
  1. 接口需要返回 HTTP 2xx 状态码,表示处理成功,否则,客户端会尝试重新发起请求,如果重试 2 次失败,不再发起请求。

此种方式适用于用户在您的系统登录之后,您可以生成一个二维码附在网页上,用户使用超级消息 APP 扫码之后即可关联。