微信开发引导用户关注公众号_微信小程序引导关注公众号开发 - CSDN
  • 微信公众号开发如何引导用户关注?如何一键关注?5个步骤:1. 打开公众号,点击右上角人像图标;2. 点击查看“全部消息”;3. 点击右上角三个点的图标,然后“复制链接”;4. 获得链接;5. 将该链接放进你想要做跳转...

    1. 打开公众号,点击右上角人像图标

     

    2. 点击查看“全部消息”

     

    3. 点击右上角三个点的图标,然后“复制链接”

     

    4. 获得以下链接(其中红色字体是该公众号的唯一码)

    https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzI2MzMwNzU5MA==&scene=126&bizpsid=0&subscene=0#wechat_redirect

     

    5. 将该链接放进你想要做跳转的地方即可

    <a href="https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzI2MzMwNzU5MA==&scene=126&bizpsid=0&subscene=0#wechat_redirect" title="">关注公众号</a>
    window.location.href = 'https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzI2MzMwNzU5MA==&scene=126&bizpsid=0&subscene=0#wechat_redirect';

     

    展开全文
  • 微信H5授权用户和公众号关注用户区别 概念H5页面访问用户是通过微信jscode获取token授权普通访问用户 公众号关注用户是关注了微信的公众号后的用户 概念上一个是普通访问用户(包括了但不限于关注用户) 用户的信息...

    微信H5授权用户和公众号关注用户区别

    1. 概念H5页面访问用户是通过微信jscode获取token授权普通访问用户
    2. 公众号关注用户是关注了微信的公众号后的用户
      概念上一个是普通访问用户(包括了但不限于关注用户)
    3. 用户的信息获取途径不一样
      H5授权jscode 获取微信的token然后通过openId+这个一次性token去调用微信接口获取
      微信关注用户是通过公众号的2个接口去获取,一个是获取所有openId的接口,另外一个是通过
      openId去获取公众号关注用户的信息的接口.
    展开全文
  • 微信公众号开发,本质是一个网页的形式,用户... 但是,用户没有关注公众号,就会收不到消息推送,会影响主体对用户的后续服务,所以要引导关注用户关注公众号。 用户关注公众号主要有三种方式:(1)搜索关注...

        微信公众号开发,本质是一个网页的形式,用户进入这个网页系统,并不一定要关注公众号,只要提供链接,就可以直接进入。例如电动车充电桩系统,用户直接用微信的扫一扫,扫描插座二维码,就可以进入充电系统,并没有关注公众号的行为。

        但是,用户没有关注公众号,就会收不到消息推送,会影响主体对用户的后续服务,所以要引导未关注用户关注公众号。

        用户关注公众号主要有三种方式:(1)搜索关注,对用户不友好,基本不考虑。(2)二维码关注。(3)链接关注

        这里考虑二维码关注和链接关注的方式。有个前提,就是引导方式是从我们自己的微信网页系统引导过去的,注意这个前提,下面会说一些不同的情况。

        根据微信提供的API

    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839)由后台配合,获取用户是否关注公众号信息,接下来就是前端的引导工作。

     

    二维码方式

        用户未关注公众号,前端弹出对话框,提供微信公众号二维码图片,提示用户长按识别,即可实现跳转到关注页面,这个页面和我们平时直接扫公众号二维码或者搜索微信公众号得到的页面是一样的。

        用户点击关注后,会跳转到公众号会话页面

        然后再一步步返回,回到我们自己开发的网页系统。

    链接方式

    前端直接链接到关注页(不可行)

        二维码的方式,需要用户手动操作识别,有没有一种方式,可以再减少一点用户操作?比如知道用户没有关注公众号后,给出一个弹框,弹框内容为“您还未关注公众号,请先关注。”用户点击确认后,我们帮用户跳转到关注页面。

        这里需要一个关注页的url。

        首先打开公众号,点击右上角的图标

        示例公众号是服务号,点击【全部消息】

        点击右上角的三个点,选择【复制链接】

        这样我们就得到一个形如

    https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzIwNjUxMjc3OA==&scene=126&bizpsid=0&subscene=0#wechat_redirect

    的链接,但是这里面包含的一些信息我们并不需要,所以处理一下,按照

    https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzIwNjUxMjc3OA==#wechat_redirect的形式处理,就可以得到公众号关注页的链接了。

        得到的链接我们是可以直接在微信中打开(不是由我们自己微信网页跳过去,比如聊天消息中我们发出一个链接,可以直接点击跳转),得到的页面与二维码扫描、搜索公众号得到的关注页不一样,是下图的形式。

        如果我们前端直接在网页中将当前url改变为此网址,用代码:

        window.location.href = url

        页面是跳转了,但是关注按钮会没有(测试了下,苹果和部分安卓是先出现关注按钮,页面加载完就消失了,部分安卓保留有关注按钮,但是点击没有反应。)

        用微信开发者工具调试,会有这样一条报错

        微信把开发网页内,链接引导关注的功能禁止了,这是微信7.0版本以后出现的问题。微信不支持诱导关注的行为。前端直接跳转的方式行不通。

    链接生成二维码给用户

        但是其实微信只是禁止了一些链接访问方式,还是有些可以实现的。目前调试出了一种可行方式。

        用VUX的【Qrcode】组件,将链接创建成二维码,通过这种方式创建的二维码,用户长按识别,可以跳转到公众号关注页面,且关注按钮功能正常。

    <div class="img-box">
      <qrcode value="https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzIwNjUxMjc3OA==#wechat_redirect" type="img"></qrcode>
    </div>

        这样的方式可以实现引导用户关注,并且用户关注后,会停留在关注页面,而不是二维码扫描那样,关注后会自动跳到公众号会话页面。用户返回时,比二维码的方式少一步返回。

    总结

        引导用户关注公众号,前端直接操作跳转的方式不可行,必须要用户手动识别二维码,而在公众号二维码和链接生成的二维码之间,因为可以减少用户返回操作步数,所以选择链接生成二维码的方式更优一点。

    展开全文
  • 3.一天内未关注用户只会接收到一次弹窗提示 4.更新用户的关注状态入库 一,用户在微信公众号端进入h5页面时,前端从后端数据库获取到用户关注状态. 微信用户是否关注公众号,需要咱们去问微信服务器要数据 微信官方...

    实现效果:

    当用户进入公众号h5页面,弹窗提示,是否要关注公众号,点击关注,跳转到微信关注页面

    流程

    1.用户在微信公众号端进入h5页面时,前端从后端数据库获取到用户关注状态.
    2.如果用户未关注,弹窗提示,是否关注公众号,不关注则取消弹窗,关注的话跳转到微信关注页面
    3.一天内未关注用户只会接收到一次弹窗提示
    4.更新用户的关注状态入库

    一,用户在微信公众号端进入h5页面时,前端从后端数据库获取到用户关注状态.

    微信用户是否关注公众号,需要咱们去问微信服务器要数据
    微信官方文档
    获取用户基本信息(包括UnionID机制和用户是否关注)
    开发者可通过OpenID来获取用户基本信息。请使用https协议。

    接口调用请求说明 http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

    参数说明:
    在这里插入图片描述
    返回说明

    正常情况下,微信会返回下述JSON数据包给公众号:

    {
        "subscribe": 1, 
        "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", 
        "nickname": "Band", 
        "sex": 1, 
        "language": "zh_CN", 
        "city": "广州", 
        "province": "广东", 
        "country": "中国", 
        "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
        "subscribe_time": 1382694957,
        "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
        "remark": "",
        "groupid": 0,
        "tagid_list":[128,2],
        "subscribe_scene": "ADD_SCENE_QR_CODE",
        "qr_scene": 98765,
        "qr_scene_str": ""
    }
    

    在这里插入图片描述

    二,如果用户未关注,弹窗提示,是否关注公众号,不关注则取消弹窗,关注的话跳转到微信关注页面

    关于前端的弹窗之类的就不在此啰嗦了,直接说咋得到微信关注页面
    如图:
    在这里插入图片描述
    点击关注公众号,用户就会关注此公众号
    获取此页面方法:
    前置条件:在pc端上登陆自己的微信
    1,在手机微信上搜索到公众号,但是先不关注,点击右上角的三个点,发送到文件传输助手:
    在这里插入图片描述

    2.在pc端微信上点击文件传输助手
    在这里插入图片描述
    3,得到如图:
    在这里插入图片描述
    这样的话,就获取到了关注页面.

    三,一天内未关注用户只会接收到一次弹窗提示

    这个功能前端来做就可以了,咱们后端及时返回用户的关注状态和弹窗次数

    规定时间内,比如一天,只可以给未关注公众号的用户一次弹窗提示
    后端需要控制这个次数,我采用的是redis,当未关注用户进入播放页面时,前端向后端发送一个get请求,后端拿到请求,查看redis数据库,有此用户的值没,有,说明已经提示过用户,返回True,没有,将用户id做key,存入redis,返回False,加上过期时间即可

    class Isreminder(View):
        '''
        24小时内是否已经提示过用户关注公众号
        提示过返回True
        没提示过返回False
        @return 
        '''
    
        def get(self, request):
            messages = {}
            user = request.user
            # 存储在redsi的值
            u = 'is_reminder' + str(user.id)
            user_agent = request.META.get('HTTP_USER_AGENT', "")
            if 'micromessenger' in user_agent.lower():
                # 从redis取出当前用户is_reminder_userid
                reminder = redis.get(u)
                if reminder:
                    # 已经提示过用户
                    messages['code'] = 200
                    messages['message'] = True
                    return JsonResponse(messages)
                else:
                    # 没有提示过用户,将用户存入
                    redis.set(u, 'True', ex=86400)
                    messages['code'] = 200
                    messages['message'] = False
                    return JsonResponse(messages)
    
            else:
                return JsonResponse({'result': '并非微信请求'}, status=status.HTTP_200_OK)
    

    四,更新用户的关注状态入库

    在什么时候获取用户的关注状态呢?那就要根据你自己项目的需要自己决定了.
    我的项目是一个直播兼顾录播回看的项目,我把这个接口放在用户每次进入播放器页面时,获取并更新用户的关注状态,存储到用户表中,然后随着token(cookie)返回到前端.

    class Subscribe_status(View):
        '''
        请求微信服务器,查看用户是否关注公众号,更新用户关注字段
        '''
        def get(self,request):
            user = request.user
            user_agent = request.META.get('HTTP_USER_AGENT', "")
            if 'micromessenger' in user_agent.lower():
                # 请求微信服务器,查看用户是否关注公众号,更新用户关注字段,PreWechatOpenAPIClient只是我用来封装一些会在请求过程中用到的额外数据,比如通用的access_token
                client = PreWechatOpenAPIClient(WECHAT_APP_ID)
                access_token = client.get_access_token()
                # 尝试获取用户openid,如果没有,说明用户没有账号或者没有登录过公众号
                # 查询出用户三方表的openid
                oauth_user = Oauth.objects.get(user_id=user.id)
                # 发起请求,获取subscribe,WeChatOauth是我封装的一个用于请求微信服务器的类
                subscribe = WeChatOauth.get_user_subscribe_info(access_token, oauth_user.openid)
                #shixf 判断关注与否,更新用户关注字段
                user_info = user.owner
                if subscribe:
                    user_info.subscribe = 1
                else:
                    user_info.subscribe = 0
                user_info.save()
                return JsonResponse({'result': 'success'}, status=status.HTTP_200_OK)
            else:
                return JsonResponse({'result':'并非微信请求'}, status=status.HTTP_200_OK)
    
    class WeChatOauth(object):
        # 获取微信用户基本信息,包含是否关注公众号subscribe字段,如果为0,则不会返回用户信息
        @classmethod
        def get_user_subscribe_info(cls,access_token, openid):
            url = 'https://api.weixin.qq.com/cgi-bin/user/info'
            data = {
                "access_token": access_token,
                "openid": openid,
                "lang": 'en'
            }
            response = requests.get(url, params=data)
            response.encoding = 'utf-8'
            data = response.json()
            subscribe = data.get('subscribe', 0)
    
            logger.info('wechat data:' + str(data))
    
            return subscribe
    

    写在最后:

    最后其实没有采用我上面获取的微信关注页面,原因是苹果手机在关注过一次过后,取消关注再次关注时跳转的这个页面,关注按钮不见了.安卓是没有任何问题的.最后的解决方案是前端写了一个静态页面,放上公众号的二维码,提示用户长按关注
    强制引导用户关注公众号是微信所不允许的,目前只能这样,后续再看有没有啥好办法吧.

    展开全文
  • 但是有时候的业务需求可能是:在自己写的一个页面中,需要引导用户关注公众号。 我们知道,二维码在网页里或者小程序里面,是无法通过长按呼出识别二维码功能的,那么我们只能通过其他方式来实现了。 之前版本的...
  • 微信小程序开发交流qq群 173683895 承接微信小程序开发。...当用户扫小程序码打开小程序时,开发者可在小程序内配置公众号关注组件,方便用户快捷关注公众号,可嵌套在原生组件内。 Tips 使用组件前,需...
  • 微信扫码 - 关注公众号后网站自动注册并登录的实现 需求描述 在自己网站上点击微信登录,网站自己弹出一个二维码、扫描二维码后...微信开发文档 实现原理 公众平台提供了生成带参数二维码的接口。使用该接口可...
  • 背景 业务需求中,希望通过朋友圈H5活动页,将新用户引流到公众号中。...通过公众号关注页链接,完成公众号关注。 https://mp.weixin.qq.com/mp/profile_extaction=home&__biz=MzUzMDg4MzAyMA==#wechat...
  • 众所周知,小程序现在越来越普遍,应市场需求,越来越多的开发者在学习小程序的开发,因为小程序刚起步,所以有很多问题还不完善,微信开放平台也在日渐完善,小程序文档也在不断优化,现在小程序中可以引导用户关注...
  • 1.首先有个公众号 2.点击右上角人头——查看全部消息——右上角三个点——复制链接 得到链接地址:红色的删除即可。绿色的是自己的公众号  https://mp.weixin.qq.com/mp/profile_ext?action=home&amp;__biz...
  • 为什么80%的码农都做不了架构师?>>> ...
  • 说明:本文讲述基于公众号实现的签到程序的全部开发过程。 开发环境:PHP+MySQL。 主要功能为:用户于指定时间内点击公众号菜单栏进入签到程序,实现静默登录获取用户OpenID。用户发起签到动作后,记录签到时间和...
  • 微信公众号开发技术要点 微信公众号开发技术要点 微信公众号及其接口功能介绍 基本概念 公众号开发者模式 代码验证及图示 Open ID与Union ID 基本概念 使用说明 Access_token 基本介绍 注意事项 获取流程 ...
  • 看到好多小程序,客服消息上来推送 一篇公众号的图文(这种形式,更助于介绍自身业务,引导关注公众号), 你是不是很羡慕,然而,后台接口又不会写,那就只能坐以待毙了吗?   下面给大家介绍一个工具 (1)不...
  • 因为很多小程序都想让小程序关注公众号,如何实现最优雅呢,作为一个搞技术的,经过我的研究,发现都是通过客服来显示的,小程序里,点客服,提示关注公众号,比如制作器里这个功能,能够自动引导关注公众号,图文...
  • 通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有...
  • 而看到朋友圈打广告的一些公众号可以直接关注,于是一直研究这个功能,今天终于实现了,分享给所有朋友,希望能帮助到所有朋友,这个引导关注的页面包含了公众号的logo、介绍和历史消息,能够更大层度的吸引用户关注...
  • 记得在不久前,微信宣布:小程序新增公众号关注组件!那时我比较忙,也是刚接触小程序,所以就暂且不尝鲜了。 今天就抽时间总结下吧,这个组件名字叫official-account开发者可在小程序内配置公众号关注组件,方便...
  • 如果用户微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。 现在,我们要实现一个微信内网页,通过微信访问网页时,网页会展示微信用户的个人信息。因为涉及...
  • 这是一篇关于微信公众号开发的入门指南,较为详细地介绍了开发微信公众号的基本原理,并且有相应的代码实现。如果您正打算要做公众号开发,却又苦于找不到一份简洁明了的入门级教学文档,那么这篇博客应该能解决您的...
1 2 3 4 5 ... 20
收藏数 6,107
精华内容 2,442
关键字:

微信开发引导用户关注公众号