用户自定义参数 dcustom

一.使用背景

在开发者接入兑吧积分商城过程中有需要传一些自定义参数的场景,兑吧针对这种情况,在免登陆地址中增加了一个可扩展参数 dcustom ,用来传递开发者的自定义参数。

场景

1.积分商城对接过程中,有开发者需求积分商城首页定制需求,需要展示用户头像和昵称的场景。针对此场景,兑吧给出了定制化的需求功能。

2.开发者在对接积分商城中有涉及新旧用户区分需求,涉及拉新或者给新用户发放不同权益时,可以通过特定标识参数拼接在免登录地址中进行区分。针对此类场景以及后续统一维护。约定特定名称newUser,通过dcustom进行回传

3.在微信环境打开兑吧页面时,有些场景需要判断用户是否绑定和关注微信公众号,从而引导用户关注公众号,因此在生成免登录地址时候,需要开发者把是否关注公众号的标识传过来

二.技术实现

头像、昵称和新旧用户标识需要通过免登陆地址的自定义参数dcustom统一回传。头像、昵称以及新旧用户标识参数,兑吧给出了约定名称,定义如下:

1.免登录传昵称头像

头像:avatar 昵称:nickname

2.新用户标识

在开发者使用兑吧的场景中,有对于新用户奖励或新旧用户区分活动参与的场景,需要把是否新用户标识通过免登录地址传给兑吧。

参数名称:newUser newUser=1 (新用户) newUser=0 (老用户) 参数不传默认为老用户

3.是否关注微信公众号标识判定

在微信环境打开兑吧页面时,有些场景需要判断用户是否绑定和关注微信公众号,从而引导用户关注公众号,因此在生成免登录地址时候,需要开发者把是否关注公众号的标识传过来。

参数名称:followOfficalAccount

followOfficalAccount=1(未关注微信公共号)

followOfficalAccount=0(已关注微信公众号)

多个参数之间用&符号分隔,编码后作为dcustom参数拼接在免登录地址中。格式如下:

dcustom=avatar%3Dhttp%3A%2F%2Fyun.duiba.com.cn%2FduibaManagerWeb
%2F7fen28siy4.png%26nickname%3Dxiaoming%26newUser%3D1%26
followOfficalAccount%3D1

dcustom在生成免登录地址时需要作为签名参数加入签名。

包含dcustom的签名源串样例如下

签名源串:
jlg88lyxz7siqtmrAppSecret0nickname=avatar%3Dhttp%3A%2F%2Fyun.duiba
.com.cn%2FduibaManagerWeb%2F7fen28siy4.png%26nickname%3Dxiaoming%2
6newUser%3D1%26followOfficalAccount%3D115639404336910test

免登陆地址格式如下:

https://activity.m.duiba.com.cn/autoLogin/autologin?
dcustom=avatar%253Dhttp%253A%252F%252Fyun.duiba.com.cn%252FduibaMa
nagerWeb%252F7fen28siy4.png%2526nickname%253Dxiaoming%2526newUser%
253D1%2526followOfficalAccount%253D1
&uid=test&credits=0&sign=fc829e4881f23ae007b7a46310f1d056&
appKey=jlg88lyxz7siqtmr&timestamp=1517283411911&

三.特别提醒

对于自定义参数中存在特殊字符的情况,比如nickname包含“%”、“&”等特殊字符时候,会导致dcustom在解析参数时候被分割从而引起参数解析失败的情况,对于这种情况,一般需要对dcustom参数中的nickname和avatar的值多一层编码。编码之后再赋值给dcustom

例如:nickname=张&三% 那么 对nickname进行编码之后如下,nickname=%E5%BC%A0%26%E4%B8%89%25 和avatar拼装之后赋值给dcustom,形如:

dcustom=nickname%3d%25E5%25BC%25A0%2526%25E4%25B8%2589%2525%26avatar%3dhttp%253A%252F%252Fyun.duiba.com.cn%252FduibaManagerWeb%252F7fen28siy4.png


results matching ""

    No results matching ""