两个小程序之间,数据如何实现同步

我新建了一个小程序,想要替换掉旧的小程序(由于一些原因旧版小程序不能满足现在的业务需求),但原来的小程序已经积累了很多用户,那如何做才能使原小程序积累的用户数据新版小程序也可以使用呢?

注:2个小程序都同为一个主体,但由于不同小程序有不同的appid,故此用户的openId就会不同,这个可以解决嘛?

最后一次编辑于  06-13  (未经腾讯允许,不得转载)
收藏 0评论 0
关注问题写回答

13 个回答

  • 北冥有池塘北冥有池塘

    基于unionid原理是唯一可行的方法,用手机号重新绑定转移用户的方式不仅会让用户大部分流失,而且新的小程序是不能用到开放域的数据的,没有了好友链社交圈,你之前的小程序用户价值不大。

    赞同 1没有帮助
    评论 0
    复制
    06-15
  • 雨轩雨轩

    试试UnionID呢?

    或者老小程序点击跳转新小程序。把你想要的带过来? 


    赞同 1没有帮助
    评论 9
    复制
    06-13
    • 🐳's 没馅娣包子🐳's 没馅娣包子

      谢谢您,主要是我现在数据库里面已经有了用户的操作数据,每个表里的数据都是用openId来作为用户标识的,所以这个比较难办,我没有试过UnionID,能具体讲解一下使用UnionID的思路嘛?

      赞同 0没有帮助
      回复
      复制
      06-13
    • 雨轩雨轩

      如果使用UnionID大概思路是,用户的openId换UnionID。两个小程序的UnionID是一样的。所以你就能将同一个用户再两个小程序端的数据绑定起来。但是实际你很难做到。如果要换UnionID用户就必须登录老小程序你后台直接跑一遍是不行的。

      赞同 0没有帮助
      回复
      复制
      06-13
    • 雨轩雨轩

      如果你真的真的迫切需要将老小程序和新小程序的同一个用户筛选出来。一个不是办法的办法,你试试匹配用户头像的UIL吧。并且祈祷用户近期没有改头像。

      赞同 0没有帮助
      回复
      复制
      06-13
    • 展示更多
    评论
  • 我瞎了,而你失明了我瞎了,而你失明了

    我觉得这个方法不错,可行,从老程序跳入新的程序,你可以把老程序的用户ID带过去,然后新程序会注册,但是数据库你用OpenID来找肯定找不到,你可以用老程序跳过去带的用户ID来查找,然后再用户列表的这个对应ID把他原先上一个OpenID的记录添加一个或者是直接替换,应该在新的程序上可以用,没试过不过理论上应该可以。

    赞同 0没有帮助
    评论 0
    复制
    06-15
  • 孙国振baobrother孙国振baobrother

    有一个点我不太明白,为什么不可以直接更改原来的小程序?把旧版小程序重做不就完了,升级版本后,用户再打开不就是新的吗?

    赞同 0没有帮助
    评论 4
    复制
    06-15
    • 孙国振baobrother孙国振baobrother

      除非是小程序名字不适合新的业务需求,或者商户主体经营范围受限制,其他附加业务需求直接更改程序不就可以吗?

      赞同 0没有帮助
      回复
      复制
      06-15
    • 🐳's 没馅娣包子🐳's 没馅娣包子
      回复孙国振baobrother

      是的,原来的小程序商户主体有些业务受限制,主要是微信支付那里,小程序开通后就不能在修改商户账户了,所以新建了一个,要是旧程序可以使用新的商户号就不用维护数据了,不然就要想办法让数据通用

      赞同 0没有帮助
      回复
      复制
      06-15
    • 孙国振baobrother孙国振baobrother
      回复🐳's 没馅娣包子

      明白了

      那你们也没有存手机号,那估计存储的信息也就只有原来的订单信息了吧,如果连订单信息也没有,原来的用户信息其实并没有用了,如果是有订单信息,订单信息里应该会有手机号吧,把手机号扒出来,然后新的小程序让用户绑一下手机号,然后匹配一下

      赞同 0没有帮助
      回复
      复制
      06-15
    • 展示更多
    评论
  • 卖女孩的小男孩คิดถึง卖女孩的小男孩คิดถึง

    其实用unionid是因为并存,但是你是想下线旧的,那为何不能直接更新呢?差异过大的话就起个新版本不就好了?

    赞同 0没有帮助
    评论 0
    复制
    06-15
  • 19881988

    mark

    赞同 0没有帮助
    评论 0
    复制
    06-15
  • 展小哥展小哥

    话说如果你们旧小程序不再维护的话,你完全可以重写旧小程序的,就是换个接口,数据库能复用就接着用

    赞同 0没有帮助
    评论 0
    复制
    06-15
  • 东流东流

    unionid是最好的思路,但是也是很尴尬的思路,没有关注公众号的用户根本没有unionid,没有同时授权两个小程序的也没办法比对,所以麻烦的是后台怎么去实现

    赞同 0没有帮助
    评论 7
    复制
    06-15
    • OneOne

      UnionID获取途径

      绑定了开发者帐号的小程序,可以通过下面3种途径获取UnionID。

      1. 调用接口wx.getUserInfo,从解密数据中获取UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。

      2. 如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。

      3. 如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。


      请看第一条

      赞同 2没有帮助
      回复
      复制
      06-15
    • 东流东流

      两个小程序,只授权了一个,unionid你能比对?

      赞同 0没有帮助
      回复
      复制
      06-15
    • 东流东流
      回复One

      关注公众号的另算,很多用户都是不肯关注的

      赞同 0没有帮助
      回复
      复制
      06-15
    • 展示更多
    评论
  • 飛鳥和魚飛鳥和魚

    使用UnionID就可以了,微信开发平台允许你将不同的APP,公众号,小程序都绑定到一起,然后每个用户,在这些不同入口进入,都会得到一个统一的UnionID,这样你就可以判断新项目的用户对应你旧项目的用户了。

    考虑到你之前不知道这个UnionID,你首先需要做的就是在旧的项目先收集UnionID过渡一段时间,然后新项目才能比对。

    赞同 0没有帮助
    评论 1
    复制
    06-15
    • 🐳's 没馅娣包子🐳's 没馅娣包子

      我从网上找了一些获取UnionID的方法,是用code、encryptedData、iv和session_key获取的,但我试了好几次都获取不到

      赞同 0没有帮助
      回复
      复制
      06-15
    评论
  • 唐衡唐衡

    一般都是手机实名认证,这样数据库用户怎么处理都可以。


    推荐有个免费的手机认证:

    https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=167138702&docid=0002eec200ca10a76ec6a534854404

    赞同 0没有帮助
    评论 0
    复制
    06-15