微信掃描二維碼后 【未關(guān)注】 和 【關(guān)注】 之后的掃碼事件推送

微信掃描二維碼后 【未關(guān)注】 和 【關(guān)注】 之后的掃碼事件推送

可能會(huì)遇到這么個(gè)需求,通過(guò)微信生成的二維碼,在用戶掃碼后(這個(gè)期間优烧,若用戶第一次掃碼,沒(méi)關(guān)注公眾號(hào)链峭,此時(shí)會(huì)跳轉(zhuǎn)到關(guān)注界面畦娄,點(diǎn)擊關(guān)注之后,才會(huì)推送消息弊仪,然后就可以用到下面關(guān)注取消推送事件機(jī)制了熙卡。)

微信生成二維碼 傳送門(mén)

以下是官方文檔說(shuō)明:

接收事件推送

在微信用戶和公眾號(hào)產(chǎn)生交互的過(guò)程中,用戶的某些操作會(huì)使得微信服務(wù)器通過(guò)事件推送的形式通知到開(kāi)發(fā)者在開(kāi)發(fā)者中心處設(shè)置的服務(wù)器地址励饵,從而開(kāi)發(fā)者可以獲取到該信息驳癌。其中,某些事件推送在發(fā)生后役听,是允許開(kāi)發(fā)者回復(fù)用戶的颓鲜,某些則不允許,詳細(xì)內(nèi)容如下:

目錄

1 關(guān)注/取消關(guān)注事件

2 掃描帶參數(shù)二維碼事件

關(guān)注/取消關(guān)注事件

用戶在關(guān)注與取消關(guān)注公眾號(hào)時(shí)典予,微信會(huì)把這個(gè)事件推送到開(kāi)發(fā)者填寫(xiě)的URL灾杰。方便開(kāi)發(fā)者給用戶下發(fā)歡迎消息或者做帳號(hào)的解綁。為保護(hù)用戶數(shù)據(jù)隱私熙参,開(kāi)發(fā)者收到用戶取消關(guān)注事件時(shí)需要?jiǎng)h除該用戶的所有信息艳吠。

微信服務(wù)器在五秒內(nèi)收不到響應(yīng)會(huì)斷掉連接,并且重新發(fā)起請(qǐng)求孽椰,總共重試三次昭娩。

關(guān)于重試的消息排重,推薦使用FromUserName + CreateTime 排重黍匾。

假如服務(wù)器無(wú)法保證在五秒內(nèi)處理并回復(fù)栏渺,可以直接回復(fù)空串,微信服務(wù)器不會(huì)對(duì)此作任何處理锐涯,并且不會(huì)發(fā)起重試磕诊。

推送XML數(shù)據(jù)包示例:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>
  <FromUserName><![CDATA[FromUser]]></FromUserName>
  <CreateTime>123456789</CreateTime>
  <MsgType><![CDATA[event]]></MsgType>
  <Event><![CDATA[subscribe]]></Event>
</xml>

參數(shù)說(shuō)明:
參數(shù) 描述
ToUserName 開(kāi)發(fā)者微信號(hào)
FromUserName 發(fā)送方帳號(hào)(一個(gè)OpenID)
CreateTime 消息創(chuàng)建時(shí)間 (整型)
MsgType 消息類型,event
Event 事件類型纹腌,subscribe(訂閱)霎终、unsubscribe(取消訂閱)

掃描帶參數(shù)二維碼事件

用戶掃描帶場(chǎng)景值二維碼時(shí),可能推送以下兩種事件:

如果用戶還未關(guān)注公眾號(hào)升薯,則用戶可以關(guān)注公眾號(hào)莱褒,關(guān)注后微信會(huì)將帶場(chǎng)景值關(guān)注事件推送給開(kāi)發(fā)者。
如果用戶已經(jīng)關(guān)注公眾號(hào)涎劈,則微信會(huì)將帶場(chǎng)景值掃描事件推送給開(kāi)發(fā)者广凸。
  1. 用戶未關(guān)注時(shí)阅茶,進(jìn)行關(guān)注后的事件推送

推送XML數(shù)據(jù)包示例:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>
  <FromUserName><![CDATA[FromUser]]></FromUserName>
  <CreateTime>123456789</CreateTime>
  <MsgType><![CDATA[event]]></MsgType>
  <Event><![CDATA[subscribe]]></Event>
  <EventKey><![CDATA[qrscene_123123]]></EventKey>
  <Ticket><![CDATA[TICKET]]></Ticket>
</xml>

參數(shù)說(shuō)明:
參數(shù) 描述
ToUserName 開(kāi)發(fā)者微信號(hào)
FromUserName 發(fā)送方帳號(hào)(一個(gè)OpenID)
CreateTime 消息創(chuàng)建時(shí)間 (整型)
MsgType 消息類型,event
Event 事件類型谅海,subscribe
EventKey 事件KEY值脸哀,qrscene_為前綴,后面為二維碼的參數(shù)值
Ticket 二維碼的ticket扭吁,可用來(lái)?yè)Q取二維碼圖片

  1. 用戶已關(guān)注時(shí)的事件推送

推送XML數(shù)據(jù)包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[SCAN]]></Event>
<EventKey><![CDATA[SCENE_VALUE]]></EventKey>
<Ticket><![CDATA[TICKET]]></Ticket>
</xml>

參數(shù)說(shuō)明:
參數(shù) 描述
ToUserName 開(kāi)發(fā)者微信號(hào)
FromUserName 發(fā)送方帳號(hào)(一個(gè)OpenID)
CreateTime 消息創(chuàng)建時(shí)間 (整型)
MsgType 消息類型撞蜂,event
Event 事件類型,SCAN
EventKey 事件KEY值智末,是一個(gè)32位無(wú)符號(hào)整數(shù)谅摄,即創(chuàng)建二維碼時(shí)的二維碼scene_id
Ticket 二維碼的ticket徒河,可用來(lái)?yè)Q取二維碼圖片

注意:未關(guān)注和關(guān)注推送的信息類型不一致

類型 MsgType 消息類型 Event 事件類型 EventKey事件KEY值 Ticket 二維碼的ticket
未關(guān)注 event subscribe qrscene_(以此開(kāi)頭后面是key值) TICKET
關(guān)注 event SCAN SCENE_VALUE(值即為key值) TICKET

獲取二維碼中的值系馆,根據(jù)MsgType (消息類型)一致 可以根據(jù) Event (事件類型)來(lái)區(qū)分,然后根據(jù)key值判斷獲韧缯铡由蘑!

不廢話了直接上代碼:
        
        // xmlData 是微信返回給你服務(wù)器的xml數(shù)據(jù)包,轉(zhuǎn)為map后的數(shù)據(jù)格式代兵。


        String event = xmlData.get("Event");
        String wxId = xmlData.get("FromUserName");

            //url事件
        if (event.equals("VIEW")) {
            return baseMsg = RequestParamTool.url(xmlData);
            //點(diǎn)擊事件
        }else if (event.equals("CLICK")) {
            return  baseMsg = RequestParamTool.handleClick(xmlData);
            //Event 事件類型 判斷關(guān)注和未關(guān)注
        } else if (event.equals("SCAN") || event.equals("subscribe")) {
            String eventKey = xmlData.get("EventKey");
            //
            if (eventKey.contains("qrscene_")) {
                eventKey = eventKey.replace("qrscene_", "");
            }
            
            log.info("eventKey   === {} " , eventKey); //eventKey

更多關(guān)注微信眾號(hào)


微信公眾號(hào)圖片.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尼酿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子植影,更是在濱河造成了極大的恐慌裳擎,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件思币,死亡現(xiàn)場(chǎng)離奇詭異鹿响,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)谷饿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)惶我,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人博投,你說(shuō)我怎么就攤上這事绸贡。” “怎么了毅哗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵听怕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我虑绵,道長(zhǎng)叉跛,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任蒸殿,我火速辦了婚禮筷厘,結(jié)果婚禮上鸣峭,老公的妹妹穿的比我還像新娘。我一直安慰自己酥艳,他們只是感情好摊溶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著充石,像睡著了一般莫换。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上骤铃,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天拉岁,我揣著相機(jī)與錄音,去河邊找鬼。 笑死次舌,一個(gè)胖子當(dāng)著我的面吹牛级乐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播陵叽,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丛版!你這毒婦竟也來(lái)了巩掺?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤页畦,失蹤者是張志新(化名)和其女友劉穎胖替,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體豫缨,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡独令,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了州胳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片记焊。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖栓撞,靈堂內(nèi)的尸體忽然破棺而出遍膜,到底是詐尸還是另有隱情,我是刑警寧澤瓤湘,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布瓢颅,位于F島的核電站,受9級(jí)特大地震影響弛说,放射性物質(zhì)發(fā)生泄漏挽懦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一木人、第九天 我趴在偏房一處隱蔽的房頂上張望信柿。 院中可真熱鬧冀偶,春花似錦、人聲如沸渔嚷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)形病。三九已至客年,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漠吻,已是汗流浹背量瓜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留途乃,地道東北人绍傲。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像欺劳,于是被迫代替她去往敵國(guó)和親唧取。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铅鲤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355