需求场景:

最近公司做了一个小游戏想通过小游戏来吸一波粉丝到指定的订阅号,类似关注公众号后领取100钻石。(模仿微信爱微游,疯狂游乐场)游戏有用户系统(根据openid记录每个用户的钻石数量,皮肤数量等等),问题来了订阅号是没有网页授权的,只有跟订阅号发生交互后才能获取到用户的信息也包括openid,也就是说只有先来订阅号这边关注才能获取用户的唯一标识openid,才能进行游戏,这样不利于一个链接就能传播,不利于形成爆款。有的同学就问了为啥不直接用服务号,因为服务号每个月只能发四次推送不利于维护粉丝。在此需求场景下,下面是解决思路。

主要功能:

1.获取到玩家的唯一标示openid(作为玩家在游戏中的id)
2.判断玩家是否关注了公众号,未关注引导关注,关注后领取钻石
3.分享功能(日常操作,此文不详细讲述)

解决思路:

可以准备两个公众号一个是服务号用来进行网页授权,一个是订阅号(引导玩家关注这个订阅号),玩家通过朋友分享的链接或者在朋友圈看到的链接进入游戏后通过服务号的接口进行网页授权,这里说一个坑,授权有两种方式:

应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),
snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )

必须使用snsapi_userinfo方式在未关注服务号的情况下只有这种方式才能获取到用户的信息(有的同学肯定疑惑为啥要获取信息获取openid不久行啦,下面会讲)。获取到玩家的微信信息主要有:

{ "openid":" OPENID",
" nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE"
"city":"CITY",
"country":"COUNTRY",
"headimgurl":    "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
"privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

这些信息都会存入数据库的service_user表,为了实现第二个功能,就是判断玩家是否关注,因为关注的根本就是另一个公众号(订阅号)所以不能用openid的,那就只能用用户的一些基本信息做判断啦,玩家在关注了订阅号后就跟订阅号产生了互动就可以获取到玩家的基本信息,此时获取到的用户信息存入数据库的另一张表subscription_user。
当玩家进入游戏被引导关注订阅号后会根据获取到的该玩家的nickname,sex,city去查订阅号的用户表subscription_user表如果查到了说明玩家关注了订阅号粉丝转化成功,发放钻石。当然发放钻石的openid是有记录的,每个玩家只能领取一次奖励。有的小伙伴就会问啦那我关注后领取了钻石在取消关注怎么办,嗯,从技术上角度是可以获取到取消关注玩家的信息的,难道让玩家的钻石凭空消失? 从产品和人文关怀角度当然不能这么做,这就是运营人员的事情了,可以从公众号的内容上留住玩家,也可以定期发放礼包,只要游戏好玩有趣还是可以留住大部分玩家的。最后有相关疑问可以加我微信d523205909,备注csdn。

关于微信订阅号无法网页授权与服务号结合实现相关推荐

  1. 微信公众号开发-网页授权——配置测试账号

    思路分析: 1.创建测试账号并且配置测试账号的授权回调域名. 2.由前端发起授权请求,微信收到请求后(若是首次打开,并且未关注公众号,微信会弹出授权页,提示用户授权)将重定向到请求url中配置的red ...

  2. 微信公众号的网页授权如何在本地调试?

    调试微信公众号的网页授权时,要填写网页授权域名(如图1),否则授权的时候会提示redirect_uri参数错误(图2),可是我得在localhost先调试成功才能上传到实际的网站上吧,可是这里不支持l ...

  3. 微信公众平台-服务号:网页授权域名 设置

    微信公众平台-服务号的网页授权域名 设置 设置与开发->公众号设置->功能设置->网页授权域名 一:下载认证文件,放置服务器中 二:设置服务器中的 Https中的nginx服务 ng ...

  4. 微信公众号-测试号-网页授权

    微信公众号-测试号-网页授权 自己摸索几天,总算搞清楚了 第一步 登录微信公众号平台,开发者工具菜单进入公众平台测试账号 第二步 设置网页帐号 网页授权获取用户基本信息的域名,测试号是可以用ip和域名 ...

  5. 微信开放平台之第三方平台代公众号发起网页授权

    正式讲解之前我想问一个问题: 微信开放平台第三方平台为什么会出现?或者说微信的开发人员为什么弄出个开放平台的第三方平台出来? 我的理解是:原本公众号开发时只能给一家公司开发,因为配置的网页授权域名只有 ...

  6. 微信官方平台第三方开发 关于代公众号发起网页授权

    这是我实际踩的坑,官方文档太坑了,又没有调试信息,详细绝大多数人用别的方法不成功的用我这个方法肯定成功.本文是第三方平台代公众号发起网页授权.第三方代公众号发起网页授权时总会发出 10003redir ...

  7. 微信公众号第三方网页授权

    如果用户在微信公众号客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要先到公众 ...

  8. asp.net获取浏览器的唯一标识_vue单页面应用如何在微信浏览器里进行网页授权获取用户信息

    前言 在vue单页面应用比较流行的时代,如何把vue应用和微信公众号两者结合在一起也是比较常见的功能.如果仅仅是把一个vue应用放在公众号上,没有进行额外的微信功能开发,如:获取用户信息,支付,分享等 ...

  9. 微信公众平台-测试号网页授权-获取openid方法

    文章目录 1.创建自己的测试号 2.测试号管理信息填写(注意仔细一步步对照) 3.手动获取openid 4.使用SDK获取openid 1.创建自己的测试号 通过申请链接:https://mp.wei ...

最新文章

  1. 乐视美国官网下线,官方公告称一周后还会回来
  2. IBM谢东:2nm芯片可让手机4天一充电,量子计算机大规模应用的未来不会太远|MEET2022...
  3. PhpMyAdmin导入数据库大小限制?
  4. 一个弹窗口的流氓软件
  5. 参数传值(数组赋值)
  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(十八)——服务保护之多级缓存...
  7. java 解析http返回的xml_Java解析调用webservice服务的返回XML串详解
  8. dynamic programming 学习
  9. Java基础学习总结(162)——如何保证线程安全?
  10. 大觉寺到鹫峰线路_大觉寺到鹫峰怎么走
  11. 怎样学好模拟集成电路设计?
  12. 自动化测试框架[Cypress测试实例凸显其优势]
  13. w10桌面计算机图标箭头去除,win10桌面图标有个箭头如何去掉_去掉win10桌面图标箭头的方法-系统城...
  14. 构建优秀产品信息架构的三要素
  15. Latex——属于符号
  16. 如何在网上轻松赚钱,三个非常靠谱的副业项目,一定要收藏起来看
  17. 成功解决wps文档中输入英文单词出现对应英文单词下边红色波浪线(英文拼写自动检测)去掉或加上图文教程
  18. 955 互联网公司白名单来了!这些公司月薪20k,没有996!福利榜国内大厂只有这家!...
  19. Python学习笔记之 中英文文本情感分析
  20. 【Android】世界各国语言代码

热门文章

  1. 一套效果图适配(Android和IOS)全尺寸和标注规范-(三)(360x640)
  2. JAVA停车场管理系统(ArrayList、栈操作)
  3. 客户端Mock服务端的JSON数据
  4. html导航栏圆角,怎么实现css圆角?
  5. linux如何查看wifi信号强弱
  6. 搜索引擎快捷导航:一个简单的chrome插件(教程)
  7. java NameValuePair 实现 模拟 表单访问 服务 传输各类型数据
  8. ElasticSearch十四--ES-index template 和 aggregation聚合分析
  9. 用C语言比较10个数字的大小
  10. HTML制作登录页面