概述:

本文档为第三方使用App接入兔展H5活动作品的授权接入文档。

我需要准备什么?

  1. 本授权功能需接入方企业先在兔展营销云开通 “数据集成” 模块,并获得 “自建应用” 的使用权限。

  2. 自建应用内申请开通 编辑器 → APP环境集成,后续联系管理员审核通过。应用配置界面如下:



    注意:应用权限必须配置UA识别符,作品内会先获取浏览器UA再匹配设置好的识别符,如果匹配到才能识别为App环境
    例如某App中WebView有特殊标识符xxxApp,是属于接入方App自定义的标识性字符,此时识别User-Agent栏目填入“xxxApp”即可,无需填写完整的UA

  3. 配置好UA后,上传授权SDK(详见示例代码部分),点击保存即可。

  4. 进入兔展活动编辑器,点击右上角“预览与设置”打开作品设置页面进行配置,配置如下:

授权流程

用户进入活动作品的时候,先会触发鉴权逻辑,检测自建应用是否在有效期内等,如果通过则走授权流程,确保自建应用为有效状态。

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

备注:切记活动链接后加个"?"号拼接参数





  • 无标签