概述:
本文档为第三方使用App接入兔展H5活动作品的授权接入文档。
我需要准备什么?
- 本授权功能需接入方企业先在兔展营销云开通 “数据集成” 模块,并获得 “自建应用” 的使用权限。
- 自建应用内申请开通 编辑器 → APP环境集成,后续联系管理员审核通过。应用配置界面如下:
注意:应用权限必须配置UA识别符,作品内会先获取浏览器UA再匹配设置好的识别符,如果匹配到才能识别为App环境
例如某App中WebView有特殊标识符xxxApp,是属于接入方App自定义的标识性字符,此时识别User-Agent栏目填入“xxxApp”即可,无需填写完整的UA - 配置好UA后,上传授权SDK(详见示例代码部分),点击保存即可。
- 进入兔展活动编辑器,点击右上角“预览与设置”打开作品设置页面进行配置,配置如下:
授权流程
用户进入活动作品的时候,先会触发鉴权逻辑,检测自建应用是否在有效期内等,如果通过则走授权流程,确保自建应用为有效状态。
App环境授权第三方规范
标准协议如表格所示,第三方需按此表格中的协议实现JS SDK代码包,兔展活动页面会在合适的时机来主动调用,JS SDK命名空间固定为:AppAuthorization
方法名 | 方法描述 | 入参 | 返回值 |
---|---|---|---|
isLogin | 检测用户是否已在App内登录 | 无 | true|false,当isLogin()方法返回为false未登录,则自动跳转到app登录页进行登录(此处由接入方SDK内实现)。 |
getUserInfo | 获取App内登录用户的详细用户信息 | 无 | 默认示例数据格式: { "identitys": [ { "identityType": "xxx", // 身份类型标识,全局唯一用户ID标识建议用 third_userid 。自定义身份字段名需要优先在 兔展 用户-用户身份管理中新增配置后才能正常使用,且会根据配置中优先级最高(0为最高)的字段进行建档,如使用openid建档,需在配置中添加openid字段后才可使用 "identityValue": "" // 类型值 }, { "identityType": "", "identityValue": "" }, { "identityType": "", "identityValue": "" } ], // identitys 多组身份信息 ,最大支持3组身份信息 "customFields": [ { "fieldValue": ["",""], "fieldId": "" } ], // 可选字段。用户自定义字段,对象数组的形式,fieldValue为字符串数组类型,可传入多条数据,fieldId为工作台(用户-字段管理)客户自定义字段的id "platform": "自建应用id", // 自建应用的应用id "userName": "用户名称", // 可选字段 "avatar": "用户头像", // 可选字段 "sex": "性别" // 可选字段 值为 1 时是男性,值为 2 时是女性,值为 0 时是未知 } 我们期望APP中调用会返回此数据,但是由于此数据较于私有化来说,可能不一定能达到我们想要的格式。 一种情况举例: 例如调用getUserInfo方法,APP可能会返回一个token值,并且将可用数据通过token传参接口置换的方式进行返回,此方法需要定制化代码进行手动拼接参数 |
示例代码如下所示:
const AppAuthorization = { isLogin() { return false; }, getUserInfo() { return { identitys: [ { identityType: "iphone", // 自定义身份字段名需要优先在 兔展 用户-身份字段管理中新增配置后才能正常使用,如果在用户身份管理中添加了iphone字段 identityValue: "18544444444", // 类型值 示例:手机号 }, { identityType: "", identityValue: "", }, { identityType: "", identityValue: "", }, ], // 多组身份信息 ,最大支持5组身份信息 "customFields": [ { "fieldValue": ["成都","四川"], "fieldId": "testFieldId", // 工作台客户自定义字段的id } ], // 可选字段。用户自定义字段,对象数组的形式,fieldValue为字符串数组类型,可传入多条数据,fieldId为工作台客户自定义字段的id platform: "自建应用id", // 自建应用的应用id userName: "用户名称", // 可选字段 avatar: "用户头像", // 可选字段。没有用户头像avatar和昵称userName无法生成海报 sex: "性别", // 可选字段 值为 1 时是男性,值为 2 时是女性,值为 0 时是未知 }; }, }; window.AppAuthorization = AppAuthorization;
注意:为防止作品本身发生默认的公众号授权,除字段 mp_userinfo & app_id 外任何时候都必须要传递 stopAuth=1&previewer=app 来阻止默认的公众号授权以及标明此作品访问环境为App环境
在配置好的兔展活动地址后加上【?previewer=app&stopAuth=1】发给客户,让客户配置在H5商城页面 banner广告上,在对应banner点击访问作品
例如:https://testv5.rabbitpre.com/m2/FyiPtaxDTAi?previewer=app&stopAuth=1
备注:切记活动链接后加个"?"号拼接参数