返回

用好微信OpenID与UnionID,助力小程序构建忠诚用户群

前端

随着微信小程序的迅猛发展,越来越多的企业和个人开发小程序。为了更好了解用户并构建忠诚用户群,掌握OpenID与UnionID至关重要。

一、OpenID与UnionID简介

1. OpenID

OpenID是用户对微信公众号或小程序的标识,可以看作是对用户的一种标记。开发人员可以通过OpenID识别用户身份,进行用户管理、权限控制、消息推送等操作。

2. UnionID

UnionID是用户对同一主体微信小程序、公众号、APP等账号的唯一标识,也是相对稳定不变的标识。当用户在同一主体的不同平台或应用中登录时,其UnionID保持不变。开发者可以通过UnionID实现多个平台、应用之间的用户数据打通,为用户提供更加统一和流畅的服务。

二、OpenID与UnionID的区别

  1. 作用不同: OpenID是用户对小程序的标识,用于识别用户身份。UnionID是用户对同一主体微信小程序、公众号、APP等账号的标识,用于打通不同平台、应用的用户数据。
  2. 稳定性不同: OpenID随着用户身份、小程序版本、设备等变化而变化,不具有唯一性。而UnionID无论用户身份、小程序版本、设备如何变化,都保持不变,具有唯一性。
  3. 应用场景不同: OpenID主要用于小程序内部的用户识别、管理和服务。UnionID主要用于跨平台、跨应用的用户信息共享、数据统计和分析。

三、如何获取OpenID和UnionID

获取OpenID和UnionID的方法是通过微信提供的接口,开发人员需要在微信开放平台上进行相关配置和申请。

  1. 获取OpenID

开发人员可以通过以下接口获取用户OpenID:

wx.login({
  success: function (res) {
    if (res.code) {
      //发送 res.code 到后台,后台调用 openid 接口获取 openid
      wx.request({
        url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + APPID + '&secret=' + SECRET + '&js_code=' + res.code + '&grant_type=authorization_code',
        method: 'GET',
        success: function (res) {
          console.log(res.data.openid) // 获取 openid
        }
      })
    } else {
      console.log('获取用户登录态失败!' + res.errMsg)
    }
  }
})
  1. 获取UnionID

开发人员可以通过以下接口获取用户UnionID:

wx.getUserInfo({
  success: function (res) {
    // 发送 res.code 到后台,后台调用 openid 接口获取 openid
    wx.request({
      url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + APPID + '&secret=' + SECRET + '&js_code=' + res.code + '&grant_type=authorization_code',
      method: 'GET',
      success: function (res) {
        console.log(res.data.openid) // 获取 openid
        // 发送 openid 到后台,后台调用 UnionID 接口获取 UnionID
        wx.request({
          url: 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=' + ACCESS_TOKEN + '&openid=' + OPENID,
          method: 'GET',
          success: function (res) {
            console.log(res.data.unionid) // 获取 UnionID
          }
        })
      }
    })
  }
})

四、应用场景

  1. 用户管理: 通过OpenID和UnionID,小程序可以识别并管理用户,实现用户登录、身份验证、权限控制等功能。
  2. 消息推送: 小程序可以通过OpenID和UnionID向用户发送消息,包括文本消息、图片消息、视频消息等。
  3. 数据分析: 通过OpenID和UnionID,小程序可以收集用户行为数据,进行用户画像、用户行为分析等,从而优化小程序的功能和服务。
  4. 跨平台数据共享: 通过UnionID,小程序可以与其他微信平台或应用共享用户数据,实现跨平台的用户统一管理和服务。

五、总结

OpenID和UnionID是微信小程序开发的重要基础,掌握这两个标识可以帮助开发人员更好地理解用户、管理用户、提供服务。合理应用OpenID和UnionID,小程序可以构建忠诚用户群,实现长远发展。