本申請涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種邀請注冊方法及裝置。
背景技術(shù):
在相關(guān)技術(shù)中,越來越多的客戶端產(chǎn)品的運(yùn)營方,通過引入“邀請注冊”機(jī)制,來拉動(dòng)潛在的用戶人群注冊并使用自己的客戶端產(chǎn)品;例如,運(yùn)營方可以在客戶端產(chǎn)品中提供“邀請注冊”的入口,已注冊用戶可以通過該“邀請注冊”的入口,向那些未注冊該客戶端產(chǎn)品的潛在用戶發(fā)起注冊邀請。
然而,現(xiàn)有的“邀請注冊”機(jī)制,雖然可以實(shí)現(xiàn)已注冊人群主動(dòng)向那些潛在用戶發(fā)起注冊邀請,但存在邀請注冊的“轉(zhuǎn)化率”不高的問題。潛在用戶在收到注冊邀請時(shí),在大多數(shù)情況下通常會(huì)忽視該注冊邀請;因此,如何來提升“邀請注冊”的轉(zhuǎn)化率,對(duì)于擴(kuò)大客戶端產(chǎn)品的使用人群的規(guī)模,具有十分重要的意義。
技術(shù)實(shí)現(xiàn)要素:
本申請中提出一種邀請注冊方法,應(yīng)用于服務(wù)端;所述方法包括:
接收到注冊邀請用戶發(fā)送的邀請注冊請求;其中,所述邀請注冊請求攜帶被邀請用戶的用戶標(biāo)識(shí);
生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并向所述被邀請用戶下發(fā)所述注冊憑證;
接收到所述被邀請用戶發(fā)送的注冊請求;其中,所述注冊請求攜帶所述注冊憑證;
對(duì)所述注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證;如果驗(yàn)證通過,發(fā)起對(duì)應(yīng)于所述被邀請用戶的用戶注冊,并在注冊成功后向所述被邀請用戶返回注冊成功頁面;其中,所述注冊成功頁面包括與所述被邀請用戶注冊成功的客戶端對(duì)應(yīng)的安裝文件下載入口。
可選的,所述生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并向所述被邀請用戶下發(fā)所述注冊憑證,包括:
生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并在本地緩存所述注冊憑證與所述被邀請用戶的用戶標(biāo)識(shí)的對(duì)應(yīng)關(guān)系;
構(gòu)建攜帶所述注冊憑證的注冊鏈接;
將構(gòu)建的所述注冊鏈接以短信的形式下發(fā)至所述被邀請用戶,以使得所述被邀請用戶在訪問所述注冊鏈接時(shí),跳轉(zhuǎn)至對(duì)應(yīng)的注冊確認(rèn)頁面;其中,所述注冊確認(rèn)頁面包括用于觸發(fā)所述注冊請求的用戶選項(xiàng)。
可選的,本地緩存的所述注冊憑證預(yù)設(shè)了有效時(shí)長;
所述對(duì)所述注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證,包括:
獲取所述注冊請求中攜帶的注冊憑證;
查詢本地是否緩存了所述注冊憑證;
如果本地緩存了所述注冊憑證,則驗(yàn)證所述注冊憑證是否已失效;
如果所述注冊憑證未失效,則確認(rèn)所述注冊憑證驗(yàn)證通過,進(jìn)一步獲取本地緩存的與所述注冊憑證對(duì)應(yīng)的用戶標(biāo)識(shí)。
可選的,所述方法還包括:
當(dāng)注冊成功后,為所述被邀請用戶生成登錄密碼;
將生成的登錄密碼以短信的形式下發(fā)至所述被邀請用戶,以使所述被邀請用戶在通過所述注冊成功頁面下載并安裝了注冊成功的客戶端后,基于所述登錄密碼登錄所述客戶端;或者,
將生成的登錄密碼添加至所述被邀請用戶注冊成功的客戶端的安裝文件中,以使所述被邀請用戶在通過所述注冊成功頁面下載并安裝了注冊成功的客戶端后,基于所述客戶端的安裝文件中添加的登錄密碼自動(dòng)登錄所述客戶端。
可選的,所述生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證之前,還包括:
驗(yàn)證所述邀請用戶的邀請注冊次數(shù),是否達(dá)到預(yù)設(shè)閾值;如果是,終止邀請注冊流程;如果否,繼續(xù)執(zhí)行生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證;以及,
驗(yàn)證所述被邀請用戶的被邀請注冊次數(shù),是否達(dá)到預(yù)設(shè)閾值;如果是,終止邀請注冊流程;如果否,繼續(xù)執(zhí)行生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證。
本申請還提出一種邀請注冊裝置,應(yīng)用于服務(wù)端;所述裝置包括:
第一接收模塊,接收到注冊邀請用戶發(fā)送的邀請注冊請求;其中,所述邀請注冊請求攜帶被邀請用戶的用戶標(biāo)識(shí);
下發(fā)模塊,生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并向所述被邀請用戶下發(fā)所述注冊憑證;
第二接收模塊,接收到所述被邀請用戶發(fā)送的注冊請求;其中,所述注冊請求攜帶所述注冊憑證;
注冊模塊,對(duì)所述注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證;如果驗(yàn)證通過,發(fā)起對(duì)應(yīng)于所述被邀請用戶的用戶注冊,并在注冊成功后向所述被邀請用戶返回注冊成功頁面;其中,所述注冊成功頁面包括與所述被邀請用戶注冊成功的客戶端對(duì)應(yīng)的安裝文件下載入口。
可選的,所述下發(fā)模塊:
生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并在本地緩存所述注冊憑證與所述被邀請用戶的用戶標(biāo)識(shí)的對(duì)應(yīng)關(guān)系;
構(gòu)建攜帶所述注冊憑證的注冊鏈接;
將構(gòu)建的所述注冊鏈接以短信的形式下發(fā)至所述被邀請用戶,以使得所述被邀請用戶在訪問所述注冊鏈接時(shí),跳轉(zhuǎn)至對(duì)應(yīng)的注冊確認(rèn)頁面;其中,所述注冊確認(rèn)頁面包括用于觸發(fā)所述注冊請求的用戶選項(xiàng)。
可選的,本地緩存的所述注冊憑證預(yù)設(shè)了有效時(shí)長;
所述注冊模塊:
獲取所述注冊請求中攜帶的注冊憑證;
查詢本地是否緩存了所述注冊憑證;
如果本地緩存了所述注冊憑證,則驗(yàn)證所述注冊憑證是否已失效;
如果所述注冊憑證未失效,則確認(rèn)所述注冊憑證驗(yàn)證通過,進(jìn)一步獲取本地緩存的與所述注冊憑證對(duì)應(yīng)的用戶標(biāo)識(shí)。
可選的,所述注冊模塊進(jìn)一步:
在注冊成功后,為所述被邀請用戶生成登錄密碼;
將生成的登錄密碼以短信的形式下發(fā)至所述被邀請用戶,以使所述被邀請用戶在通過所述注冊成功頁面下載并安裝了注冊成功的客戶端后,基于所述登錄密碼登錄所述客戶端;或者,
將生成的登錄密碼添加至所述被邀請用戶注冊成功的客戶端的安裝文件中,以使所述被邀請用戶在通過所述注冊成功頁面下載并安裝了注冊成功的客戶端后,基于所述客戶端的安裝文件中添加的登錄密碼自動(dòng)登錄所述客戶端。
可選的,所述下發(fā)模塊進(jìn)一步:
在生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證之前,驗(yàn)證所述邀請用戶的邀請注冊次數(shù),是否達(dá)到預(yù)設(shè)閾值;如果是,終止邀請注冊流程;如果否,繼續(xù)執(zhí)行生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證;以及,
在生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證之前,驗(yàn)證所述被邀請用戶的被邀請注冊次數(shù),是否達(dá)到預(yù)設(shè)閾值;如果是,終止邀請注冊流程;如果否,繼續(xù)執(zhí)行生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證。
本申請中,服務(wù)端在接收到注冊邀請用戶發(fā)送的邀請注冊請求時(shí),可以基于該邀請注冊請求攜帶的被邀請用戶的用戶標(biāo)識(shí),為該被邀請用戶生成注冊憑證,并將該注冊憑證下發(fā)至被邀請用戶;被邀請用戶在收到服務(wù)端下發(fā)的注冊憑證后,可以對(duì)本次注冊進(jìn)行確認(rèn),并在確認(rèn)后向服務(wù)端發(fā)送攜帶該注冊憑證的注冊請求;而服務(wù)端在收到被邀請用戶發(fā)送的注冊請求后,可以對(duì)該注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證;當(dāng)在驗(yàn)證通過后,可以立即發(fā)起針對(duì)該被邀請用戶的用戶注冊,并在注冊成功后向被邀請用戶返回包含安裝文件下載入口的注冊成功頁面,以引導(dǎo)該被邀請用戶下載注冊成功的客戶端的安裝文件;
由于在本申請中,被邀請用戶在邀請注冊的完整流程中,僅需要對(duì)邀請用戶發(fā)起的注冊邀請進(jìn)行一次簡單的邀請注冊確認(rèn),即可觸發(fā)服務(wù)端在后臺(tái)自動(dòng)完成注冊過程,而并不需要訪問注冊頁面手動(dòng)提交相關(guān)的注冊信息來完成注冊,因此可以顯著降低作為被邀請用戶一方在進(jìn)行邀請注冊時(shí)的操作復(fù)雜度,從而可以提升邀請注冊的轉(zhuǎn)化率。
附圖說明
圖1是本申請一實(shí)施例示出的一種邀請注冊方法的流程圖;
圖2是本申請一實(shí)施例示出的邀請注冊的流程圖;
圖3是本申請一實(shí)施例示出的一鍵注冊的流程圖;
圖4是本申請一實(shí)施例示出的一種邀請注冊裝置的邏輯框圖;
圖5是本申請一實(shí)施例示出的一種承載所述邀請注冊裝置的服務(wù)端的硬件架構(gòu)圖邀請注冊裝置的硬件架構(gòu)圖。
具體實(shí)施方式
在相關(guān)技術(shù)中,當(dāng)邀請用戶發(fā)起“邀請注冊”時(shí),作為被邀請用戶的一方,通常仍然需要訪問注冊頁面,并通過注冊頁面手動(dòng)提交注冊信息,來完成進(jìn)一步的注冊;由于對(duì)于被邀請用戶而言,仍然存在一定的操作復(fù)雜度,因此被邀請用戶在接收到邀請用戶發(fā)起的注冊邀請后,很可能完全忽視該注冊邀請的情況發(fā)生,從而導(dǎo)致“邀請注冊”的轉(zhuǎn)化率過低的問題。
例如,對(duì)于老年用戶群體,或者無法自主完成用戶注冊的群體而言,在接收到其它用戶發(fā)起的注冊邀請時(shí),很可能由于自己無法完成用戶注冊的操作,而完全忽視該注冊邀請。
可見,如何降低在完成“邀請注冊”的過程中,作為被邀請用戶的一方的操作復(fù)雜度,對(duì)于提升“邀請注冊”的轉(zhuǎn)化率具有十分重要的意義。
有鑒于此,為了簡化在執(zhí)行邀請注冊的過程中,作為被邀請用戶一方的操作復(fù)雜度,本申請?zhí)岢隽艘环N作為被邀請用戶的一方可以實(shí)現(xiàn)“一鍵”注冊的邀請注冊方案。
在實(shí)現(xiàn)時(shí),服務(wù)端在接收到注冊邀請用戶發(fā)送的邀請注冊請求時(shí),可以基于該邀請注冊請求攜帶的被邀請用戶的用戶標(biāo)識(shí),為該被邀請用戶生成注冊憑證,并將該注冊憑證下發(fā)至被邀請用戶;被邀請用戶在收到服務(wù)端下發(fā)的注冊憑證后,可以對(duì)本次注冊進(jìn)行確認(rèn),并在確認(rèn)后向服務(wù)端發(fā)送攜帶該注冊憑證的注冊請求;而服務(wù)端在收到被邀請用戶發(fā)送的注冊請求后,可以對(duì)該注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證;當(dāng)在驗(yàn)證通過后,可以立即發(fā)起針對(duì)該被邀請用戶的用戶注冊,并在注冊成功后向被邀請用戶返回包含安裝文件下載入口的注冊成功頁面,以引導(dǎo)該被邀請用戶下載注冊成功的客戶端的安裝文件;
由于在本申請中,被邀請用戶在邀請注冊的完整流程中,僅需要對(duì)邀請用戶發(fā)起的注冊邀請進(jìn)行一次簡單的邀請注冊確認(rèn),即可觸發(fā)服務(wù)端在后臺(tái)自動(dòng)完成注冊過程,而并不需要訪問注冊頁面,手動(dòng)提交相關(guān)的注冊信息來完成注冊,因此可以顯著降低作為被邀請用戶一方在進(jìn)行邀請注冊時(shí)的操作復(fù)雜度,從而可以提升邀請注冊的轉(zhuǎn)化率。
下面通過具體實(shí)施例并結(jié)合具體的應(yīng)用場景對(duì)本申請進(jìn)行描述。
請參考圖1,圖1是本申請一實(shí)施例提供的邀請注冊方法,應(yīng)用于服務(wù)端;所述方法執(zhí)行如下步驟:
步驟101,接收到注冊邀請用戶發(fā)送的邀請注冊請求;其中,所述邀請注冊請求攜帶被邀請用戶的用戶標(biāo)識(shí);
步驟102,生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并向所述被邀請用戶下發(fā)所述注冊憑證;
步驟103,接收到所述被邀請用戶發(fā)送的注冊請求;其中,所述注冊請求攜帶所述注冊憑證;
步驟104,對(duì)所述注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證;如果驗(yàn)證通過,發(fā)起對(duì)應(yīng)于所述被邀請用戶的用戶注冊,并在注冊成功后向所述被邀請用戶返回注冊成功頁面;其中,所述注冊成功頁面包括與所述被邀請用戶注冊成功的客戶端對(duì)應(yīng)的安裝文件下載入口。
上述客戶端,可以包括面向用戶提供特定服務(wù)的客戶端軟件;例如,web客戶端,或者app應(yīng)用;
上述服務(wù)端,可以包括面向用戶提供針對(duì)上述客戶端的注冊服務(wù)的服務(wù)器、服務(wù)器集群或者基于服務(wù)器集群搭建的分布式業(yè)務(wù)平臺(tái)。
上述邀請用戶,具體是指邀請注冊的發(fā)起方用戶;而上述被邀請用戶,具體是指與上述邀請用戶存在一定的社交關(guān)系,且未完成上述客戶端的注冊的潛在用戶。
上述被邀請用戶的用戶標(biāo)識(shí),具體是指能夠唯一標(biāo)識(shí)上述被邀請用戶的標(biāo)識(shí)信息;例如,在實(shí)際應(yīng)用中,上述被邀請用戶具體可以是,上述邀請用戶在發(fā)起邀請注冊時(shí),從個(gè)人通訊錄中選擇出的尚未注冊上述客戶端的的用戶的手機(jī)號(hào)。
以下以上用戶標(biāo)識(shí)為手機(jī)號(hào)為例進(jìn)行說明;顯然,在實(shí)際應(yīng)用中,上述用戶標(biāo)識(shí)也可以是其它形式的,能夠在上述服務(wù)端完成注冊的用戶標(biāo)識(shí)信息;比如,被邀請用戶的社交賬號(hào)。
在本申請中,在邀請用戶的客戶端一側(cè),可以面向邀請用戶提供一個(gè)用于發(fā)起邀請注冊的用戶入口。
其中,該用戶入口的具體形態(tài),在本申請中不進(jìn)行特別限定,具體可以是客戶端的用戶頁面中提供的一個(gè)常駐的功能按鈕,也可以是由服務(wù)端下發(fā)至客戶端的一個(gè)動(dòng)態(tài)的頁面入口;
例如,以上述客戶端為支付寶客戶端為例,在一種情況下,在支付寶客戶端的登錄頁面中,可以提供的一個(gè)常駐登錄頁面的“邀請注冊”按鈕;用戶通過觸發(fā)該“邀請注冊”按鈕,可以進(jìn)入到后續(xù)的“邀請注冊”的流程。而在另一種情況下,支付寶的運(yùn)營方在開展一些拉動(dòng)線下潛在用戶完成注冊的運(yùn)營活動(dòng)時(shí),可以通過服務(wù)端向支付寶客戶端動(dòng)態(tài)下發(fā)一個(gè)包含“邀請注冊”按鈕的活動(dòng)頁面;用戶通過觸發(fā)該活動(dòng)頁面中的“邀請注冊”按鈕,可以進(jìn)入到后續(xù)的“邀請注冊”的流程。
在本申請中,上述邀請用戶可以通過觸發(fā)(比如點(diǎn)擊)上述“用戶入口”,來開啟后續(xù)的“邀請注冊”的流程,并從通訊錄中選擇尚未注冊上述客戶端的被邀請用戶,向上述被邀請用戶發(fā)起邀請注冊。
請參見圖2,圖2為本申請示出的一種“邀請注冊”的流程圖。
如圖2所示,上述邀請用戶的客戶端,可以實(shí)時(shí)的監(jiān)聽該用戶針對(duì)上述“頁面入口”的觸發(fā)事件;當(dāng)監(jiān)聽到該用戶針對(duì)上述“用戶入口”的觸發(fā)事件時(shí),客戶端可以訪問預(yù)配置的注冊邀請頁面的url地址,并基于http協(xié)議向服務(wù)端發(fā)送一個(gè)與該url地址對(duì)應(yīng)的get請求消息,向上述服務(wù)端請求上述注冊邀請頁面的頁面內(nèi)容;
其中,在該get請求消息中,將攜帶上述注冊邀請頁面的url地址;而該邀請用戶的userid(即該用戶在完成注冊后,由服務(wù)端統(tǒng)一分配的用戶id),可以作為需要提交給服務(wù)端的參數(shù)填充到該url地址中。
請繼續(xù)參見圖2,上述服務(wù)端在收到該get請求消息后,可以解析該get請求消息中攜帶的信息,獲取該邀請用戶的userid,并基于該邀請用戶的userid驗(yàn)證該邀請用戶是否處于登錄狀態(tài)。
一方面,如果該邀請用戶已處于非登錄狀態(tài),則可以直接終止邀請注冊的流程,并向上述邀請用戶的客戶端返回一個(gè)get響應(yīng)消息,將服務(wù)端預(yù)配置完成的通用的報(bào)錯(cuò)頁面返回至上述客戶端。
另一方面,如果該邀請用戶處于登錄狀態(tài),則可以繼續(xù)執(zhí)行后續(xù)的邀請注冊的流程,為該邀請用戶創(chuàng)建一個(gè)對(duì)應(yīng)的session,并將該邀請用戶的userid記錄到該session中。
其中,該session用于記錄與該邀請用戶發(fā)起的邀請注冊相關(guān)的注冊信息。在實(shí)際應(yīng)用中,在該session中,除了需要記錄該邀請邀請用戶的userid以外,還可以基于實(shí)際的需求,記錄與邀請注冊相關(guān)的其它信息;
在示出的一種實(shí)施方式中,上述session中可以定義一個(gè)inviteuserid屬性,用于記錄邀請用戶的userid;還可以定義一個(gè)scene屬性,用于記錄本次邀請注冊的具體場景。
請繼續(xù)參見圖2,當(dāng)上述服務(wù)端登錄態(tài)驗(yàn)證,確認(rèn)上述邀請用戶處于登錄狀態(tài),還可以向上述客戶端返回一個(gè)get響應(yīng)消息,將服務(wù)端預(yù)配置完成的上述注冊邀請頁面的頁面內(nèi)容,返回給上述客戶端;
其中,在該get響應(yīng)消息中,除了可以攜帶仍然可以攜帶上述注冊邀請頁面的頁面內(nèi)容以外,還可以將該邀請用戶當(dāng)前可以邀請的那些未注冊上述客戶端的被邀請用戶的手機(jī)號(hào)等信息,作為參數(shù)填充到該get響應(yīng)消息中攜帶的上述注冊邀請頁面的url地址中。
例如,在一種實(shí)現(xiàn)方式中,上述邀請用戶的手機(jī)通訊錄,可以預(yù)先同步至上述服務(wù)端,并在上述服務(wù)端上與上述邀請用戶的userid進(jìn)行關(guān)聯(lián)存儲(chǔ)。而上述服務(wù)端在解析上述邀請用戶的客戶端發(fā)送的get請求消息,獲得該邀請用戶的userid后,可以提取該邀請用戶的手機(jī)通訊錄,然后逐個(gè)聯(lián)系人進(jìn)行遍歷,查找出該手機(jī)通訊錄中尚未注冊上述客戶端的聯(lián)系人,并將查找到的這些尚未注冊上述客戶端的聯(lián)系人的手機(jī)號(hào),填充到上述get響應(yīng)消息中。
請繼續(xù)參見圖2,上述邀請用戶的客戶端在收到上述服務(wù)端返回的get響應(yīng)消息后,可以解析該get響應(yīng)消息中攜帶的信息,獲取上述注冊邀請頁面的頁面內(nèi)容,以及上述被邀請用戶的手機(jī)號(hào),然后基于上述服務(wù)端返回的上述注冊邀請頁面的頁面內(nèi)容,來渲染上述注冊邀請頁面,并將上述服務(wù)端返回的被邀請用戶的手機(jī)號(hào),添加到上述注冊邀請頁面,向上述邀請用戶進(jìn)行顯示。
進(jìn)一步的,當(dāng)上述注冊邀請頁面渲染完成后,上述邀請用戶可以在該注冊邀請頁面中選擇被邀請用戶,然后基于http協(xié)議向上述服務(wù)端發(fā)送一個(gè)與該注冊邀請頁面的url地址對(duì)應(yīng)的post請求消息(即上述邀請注冊請求),向上述服務(wù)端提交選擇出的被邀請用戶的手機(jī)號(hào),由上述服務(wù)端進(jìn)行相關(guān)的邀請注冊驗(yàn)證。
請繼續(xù)參見圖2,而上述服務(wù)端在接收到該post請求消息后,可以解析該post請求消息中攜帶的信息,獲取該post請求消息中攜帶的被邀請用戶的手機(jī)號(hào),然后對(duì)上述被邀請用戶的手機(jī)號(hào)執(zhí)行相關(guān)的驗(yàn)證。
其中,需要說明的是,由于對(duì)于某一個(gè)用戶而言,頻繁的向其它用戶發(fā)起注冊邀請;或者,頻繁的接收到其它用戶發(fā)起的注冊邀請,在某種程度上都會(huì)影響用戶體驗(yàn);因此,在本申請中,針對(duì)上述被邀請用戶的手機(jī)號(hào)執(zhí)行的驗(yàn)證,具體可以包括對(duì)邀請用戶發(fā)起的邀請注冊次數(shù),以及被邀請用戶的被邀請注冊的次數(shù)的驗(yàn)證。
在實(shí)現(xiàn)時(shí),上述服務(wù)端可以在后臺(tái)對(duì)用戶主動(dòng)發(fā)起的邀請注冊的次數(shù),以及用戶接收到的被邀請注冊的次數(shù)進(jìn)行計(jì)數(shù),并針對(duì)邀請注冊的次數(shù)和被邀請注冊的次數(shù),分別預(yù)設(shè)一個(gè)容忍度閾值,并通過預(yù)設(shè)的該容忍度閾值,對(duì)上述邀請注冊的次數(shù),以及上述被邀請注冊的次數(shù)進(jìn)行控制,以在上述邀請注冊的次數(shù),以及上述被邀請注冊的次數(shù)達(dá)到上述容忍度閾值時(shí),及時(shí)終止邀請注冊流程,以防頻繁的請求對(duì)用戶造成騷擾。
其中,需要說明的是,在實(shí)際應(yīng)用中,針對(duì)上述邀請注冊的次數(shù),和被邀請注冊的次數(shù)預(yù)設(shè)的容忍度閾值,可以相同也可以不同,在本申請中不進(jìn)行特別限定。
請繼續(xù)參見圖2,上述服務(wù)端在接收到上述邀請用戶的客戶端,通過post請求消息提交的被邀請用戶的手機(jī)號(hào)后,上述服務(wù)端可以進(jìn)一步驗(yàn)證上述邀請用戶的邀請注冊次數(shù),以及上述被邀請用戶的被邀請注冊次數(shù),是否均達(dá)到預(yù)設(shè)的容忍度閾值;
一方面,如果上述邀請注冊次數(shù)和上述被邀請注冊次數(shù)中的任意一個(gè)達(dá)到上述容忍度閾值時(shí),則可以直接終止邀請注冊流程,并向上述邀請用戶的客戶端返回一個(gè)post響應(yīng)消息,將服務(wù)端預(yù)配置完成的通用報(bào)錯(cuò)頁面返回至上述客戶端,以提示上述邀請用戶本次發(fā)起的邀請注冊失敗。
另一方面,如果所述邀請注冊次數(shù)和所述被邀請注冊次數(shù)均未達(dá)到所述預(yù)設(shè)閾值,此時(shí)上述服務(wù)端可以繼續(xù)執(zhí)行后續(xù)的邀請注冊流程。
其中,需要說明的是,在驗(yàn)證上述邀請注冊次數(shù)和上述被邀請注冊次數(shù)是否達(dá)到上述容忍度閾值時(shí),上述邀請注冊次數(shù)和上述被邀請注冊次數(shù)具體的驗(yàn)證順序,在本申請中不進(jìn)行特別限定。
當(dāng)然,在實(shí)際應(yīng)用中,針對(duì)上述被邀請用戶的手機(jī)號(hào)執(zhí)行的驗(yàn)證,除了可以包括驗(yàn)證上述邀請注冊次數(shù)和上述被邀請注冊次數(shù)是否達(dá)到上述容忍度閾值以外,還可以包括諸如再次針對(duì)上述邀請用戶的登錄態(tài)的驗(yàn)證、針對(duì)上述被邀請用戶的手機(jī)號(hào)的格式是否正確的驗(yàn)證、上述被邀請用戶的手機(jī)號(hào)是否可用于注冊、或者其他類型的驗(yàn)證操作,在本申請中不再一一列舉,本領(lǐng)域技術(shù)人員在將本申請的技術(shù)方案付諸實(shí)現(xiàn)時(shí),可以基于實(shí)際的需求來自定義添加相應(yīng)的驗(yàn)證操作。
請繼續(xù)參見圖2,當(dāng)上述被邀請用戶的手機(jī)號(hào)通過以上描述的各項(xiàng)驗(yàn)證后,可以將該被邀請用戶的手機(jī)號(hào),也一并記錄到為該邀請用戶創(chuàng)建的上述session中,
并向上述邀請用戶的客戶端返回一個(gè)post響應(yīng)消息,將服務(wù)端預(yù)配置完成的邀請確認(rèn)頁面返回至上述邀請用戶的客戶端;
其中,在該邀請確認(rèn)頁面中,具體可以提供一個(gè)用于觸發(fā)邀請注冊確認(rèn)的用戶選項(xiàng)。當(dāng)上述邀請用戶觸發(fā)該用戶選項(xiàng)后,上述邀請用戶的客戶端,可以進(jìn)一步向上述服務(wù)端返回一個(gè)用于對(duì)邀請注冊進(jìn)行確認(rèn)的post請求消息。此時(shí),由于上述服務(wù)端創(chuàng)建的session中已經(jīng)緩存了該邀請用戶的userid以及被邀請用戶的手機(jī)號(hào)等信息,因此上述邀請用戶返回的post請求消息中可以不攜帶任何參數(shù)。
當(dāng)上述服務(wù)端收到上述邀請用戶的客戶端返回的該用于對(duì)邀請注冊進(jìn)行確認(rèn)的post請求消息后,此時(shí)可以讀取session中記錄的信息,并基于session中記錄的信息,再次針對(duì)被邀請用戶的手機(jī)號(hào)執(zhí)行相關(guān)的驗(yàn)證;比如,再次執(zhí)行以上描述的邀請注冊次數(shù)以及被邀請注冊次數(shù)是否達(dá)到預(yù)設(shè)的容忍度閾值的驗(yàn)證等各項(xiàng)驗(yàn)證,不再贅述。
請繼續(xù)參見圖2,當(dāng)上述被邀請用戶的手機(jī)號(hào)再次通過以上描述的各項(xiàng)驗(yàn)證后,可以為上述被邀請用戶生成一個(gè)對(duì)應(yīng)的token憑證(即上述注冊憑證),并為該token憑證設(shè)置一個(gè)有效時(shí)長,然后將該token憑證,與上述session中記錄的被邀請用戶的手機(jī)號(hào)緩存到指定的存儲(chǔ)空間;其中,該指定的存儲(chǔ)空間與上述session對(duì)應(yīng)的存儲(chǔ)空間不同;
例如,在一種實(shí)施方式中,可以將上述token憑證作為key,將上述session中記錄的被邀請用戶的手機(jī)號(hào)作為value,以key+value的形式將二者的對(duì)應(yīng)關(guān)系緩存到上述服務(wù)端搭載的tair存儲(chǔ)系統(tǒng)中。
其中,需要說明的是,上述token憑證,具體可以是計(jì)算出的一個(gè)具有唯一性的字符串。
例如,在示出的一種實(shí)施方式中,以上述服務(wù)端為分布式的服務(wù)器集群為例,上述注冊憑證具體可以是基于uuid(分布式系統(tǒng)中用于唯一標(biāo)識(shí)一臺(tái)設(shè)備的標(biāo)識(shí)符)和時(shí)間戳生成的token憑證。
當(dāng)然,在實(shí)際應(yīng)用中,生成token憑證時(shí)所采用的計(jì)算參數(shù),也可以包括其它具有唯一性的參數(shù),在本申請中不進(jìn)行特別限定。
請繼續(xù)參見圖2,當(dāng)上述服務(wù)端為上述被邀請用戶生成了對(duì)應(yīng)的注冊憑證后,可以將上述token憑證作為傳遞參數(shù),與注冊頁面的url地址進(jìn)行拼接,構(gòu)建一個(gè)用于進(jìn)行注冊的url鏈接,然后將構(gòu)建的該url鏈接轉(zhuǎn)換成適合通過短信發(fā)送的短鏈接后,以手機(jī)短信的形式,下發(fā)給上述被邀請用戶。
例如,以上述注冊頁面為支付寶的注冊頁面為例,構(gòu)建完成的上述url鏈接可以是如下格式:
https://memberprod.alipay.com/account/h5/invitedoreg.htm?token={token}。
當(dāng)上述服務(wù)端將手機(jī)短信成功下發(fā)至上述被邀請用戶,可以向上述邀請用戶的客戶端返回一個(gè)post響應(yīng)消息,將服務(wù)端預(yù)配置完成的短信下發(fā)成功頁面返回至上述客戶端,以提示上述邀請用戶短信已下發(fā)成功。
當(dāng)上述url鏈接通過手機(jī)短信成功下發(fā)至被邀請用戶后:
一方面,上述服務(wù)端可以在后臺(tái)生成與本次手機(jī)短信下發(fā)相關(guān)的日志流水文件,然后清除上述session,并對(duì)上述邀請用戶發(fā)起的邀請注冊的次數(shù),以及上述被邀請用戶的被邀請注冊的次數(shù)進(jìn)行計(jì)數(shù)并更新;
另一方面,上述服務(wù)端可以向上述邀請用戶的客戶端返回一個(gè)post響應(yīng)消息,將服務(wù)端預(yù)配置完成的短信下發(fā)成功頁面返回至上述客戶端,以通知上述邀請用戶短信已下發(fā)成功。
而被邀請用戶在收到攜帶該url鏈接的手機(jī)短信時(shí),可以通過“點(diǎn)擊”該url鏈接,完成“一鍵注冊”。
請參見圖3,圖3為本例示出的一種“一鍵注冊”的流程圖。
如圖3所示,當(dāng)被邀請用戶“點(diǎn)擊”手機(jī)短信中攜帶的上述注冊頁面的url鏈接后,可以通過瀏覽器跳轉(zhuǎn)至該url鏈接,并基于http協(xié)議向服務(wù)端發(fā)送一個(gè)與該url鏈接對(duì)應(yīng)的get請求消息(即上述注冊請求);
其中,在該get請求消息中,將攜帶上述注冊頁面的url地址,以及作為參數(shù)填充在url地址中的token憑證。當(dāng)上述服務(wù)端在收到該get請求消息后,可以解析該get請求消息中攜帶的信息,獲取上述token憑證,然后對(duì)獲取到的token憑證進(jìn)行驗(yàn)證。
具體地,上述服務(wù)端在獲取到上述token憑證后,可以將該token憑證作為查詢key,從本地的tair系統(tǒng)中查詢與該token憑證對(duì)應(yīng)的被邀請用戶的手機(jī)號(hào);其中,由于tair系統(tǒng)中緩存的上述token憑證,預(yù)先設(shè)置了有效時(shí)長,此時(shí)上述服務(wù)端可以驗(yàn)證該token憑證的有效時(shí)長是否已經(jīng)超時(shí);
一方面,如果該token憑證的有效時(shí)長已經(jīng)超時(shí),表明該token憑證已經(jīng)超出了有效期,在這種情況下,上述服務(wù)端可以向上述被邀請用戶的瀏覽器,返回一個(gè)get響應(yīng)消息,將服務(wù)端預(yù)配置完成的邀請過期頁面返回至上述被邀請用戶返。
另一方面,如果該token憑證的有效時(shí)長未超時(shí),表明該token憑證仍然有效,上述服務(wù)端能夠正常的從上述tair系統(tǒng)中讀取到已經(jīng)緩存的,與上述token憑證對(duì)應(yīng)的被邀請用戶的手機(jī)號(hào)。
在這種情況下,表明該被邀請用戶能夠完成后續(xù)的用戶注冊流程,上述服務(wù)端可以向上述被邀請用戶的瀏覽器返回一個(gè)get響應(yīng)消息,將上述服務(wù)端預(yù)配置完成的注冊頁面返回至上述被邀請用戶的客戶端。
其中,在上述注冊確認(rèn)頁面中,可以提供一個(gè)用于觸發(fā)注冊確認(rèn)的用戶選項(xiàng);上述被邀請用戶在觸發(fā)該用戶選項(xiàng)后,可以通過瀏覽器向上述服務(wù)端發(fā)送一個(gè)用于對(duì)注冊進(jìn)行確認(rèn)的post請求消息。此時(shí),由于上述服務(wù)端已經(jīng)在本地緩存了該邀請用戶的手機(jī)號(hào)和上述token憑證的對(duì)應(yīng)關(guān)系,因此上述邀請用戶返回的post請求消息中也可以不攜帶任何參數(shù)。
當(dāng)上述服務(wù)端收到上述邀請用戶的客戶端返回的該用于對(duì)注冊進(jìn)行確認(rèn)的post請求消息后,可以基于從tair系統(tǒng)中獲取到的上述被邀請用戶的手機(jī)號(hào),發(fā)起針對(duì)上述客戶端的用戶注冊。
一方面,當(dāng)基于上述被邀請用戶的手機(jī)號(hào)完成注冊后,上述服務(wù)端可以向上述被邀請用戶的瀏覽器,返回一個(gè)post響應(yīng)消息,將服務(wù)端預(yù)配置完成的注冊成功頁面返回至上述被邀請用戶的瀏覽器,以提示上述被邀請用戶注冊已完成。
其中,在該注冊成功頁面中,可以提供一個(gè)用于下載注冊完成的客戶端的安裝文件的下載入口,從而上述被邀請用戶可以通過該下載入口,快捷的完成已注冊完成的客戶端的安裝文件的下載以及安裝。
另一方面,當(dāng)基于上述被邀請用戶的手機(jī)號(hào)完成注冊后,上述服務(wù)端可以在后臺(tái)為上述被邀請用戶隨機(jī)生成一個(gè)登錄密碼,然后將登錄密碼下發(fā)給上述被邀請用戶。
請繼續(xù)參見圖3,在示出的一種實(shí)施方式中,上述服務(wù)端可以啟用安裝文件的動(dòng)態(tài)打包機(jī)制,將為不同的被邀請用戶生成的登錄密碼,分別添加至所述被邀請用戶注冊成功的客戶端的安裝文件中,實(shí)現(xiàn)動(dòng)態(tài)打包。
通過這種方式,上述服務(wù)端可以針對(duì)不同的被邀請用戶,分別生成個(gè)性化的安裝文件。被邀請用戶在基于上述下載入口,完成安裝文件的下載以及安裝后,可以基于安裝文件中打包完成的登錄密碼,執(zhí)行自動(dòng)登錄,而不需要手動(dòng)輸入注冊的手機(jī)號(hào)和登錄密碼完成登錄,從而可以真正實(shí)現(xiàn)被邀請用戶的一鍵注冊和一鍵登錄,能夠顯著的提升被邀請用戶的注冊體驗(yàn)。
當(dāng)然,在實(shí)際應(yīng)用中,上述服務(wù)端也可以將生成的登錄密碼以短信的形式下發(fā)至被邀請用戶,從而被邀請用戶在通過上述下載入口成功下載并安裝了注冊成功的客戶端后,可以通過手動(dòng)輸入手機(jī)號(hào)和登錄密碼,來完成登錄。
可見,在本申請中,作為被邀請用戶的一方,在邀請注冊的完整流程中,只需要進(jìn)行一次注冊確認(rèn),即可完成“一鍵注冊”,可以顯著的降低在邀請注冊的流程中,被邀請用戶的操作復(fù)雜度。
另外,需要強(qiáng)調(diào)的是,以上各實(shí)施例中,以基于http協(xié)議的通用消息交互方式對(duì)本申請的技術(shù)方案進(jìn)行詳細(xì)說明。
顯然,在實(shí)際應(yīng)用中,上述服務(wù)端與上述客戶端之間也可以采用http協(xié)議以外的其它形式的消息交互方式,在本申請中不再進(jìn)行一一列舉。
通過以上各實(shí)施例可知,服務(wù)端在接收到注冊邀請用戶發(fā)送的邀請注冊請求時(shí),可以基于該邀請注冊請求攜帶的被邀請用戶的用戶標(biāo)識(shí),為該被邀請用戶生成注冊憑證,并將該注冊憑證下發(fā)至被邀請用戶;被邀請用戶在收到服務(wù)端下發(fā)的注冊憑證后,可以對(duì)本次注冊進(jìn)行確認(rèn),并在確認(rèn)后向服務(wù)端發(fā)送攜帶該注冊憑證的注冊請求;而服務(wù)端在收到被邀請用戶發(fā)送的注冊請求后,可以對(duì)該注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證;當(dāng)在驗(yàn)證通過后,可以立即發(fā)起針對(duì)該被邀請用戶的用戶注冊,并在注冊成功后向被邀請用戶返回包含安裝文件下載入口的注冊成功頁面,以引導(dǎo)該被邀請用戶下載注冊成功的客戶端的安裝文件;
由于在本申請中,被邀請用戶在邀請注冊的完整流程中,僅需要對(duì)邀請用戶發(fā)起的注冊邀請進(jìn)行一次簡單的邀請注冊確認(rèn),即可觸發(fā)服務(wù)端在后臺(tái)自動(dòng)完成注冊過程,而并不需要訪問注冊頁面手動(dòng)提交相關(guān)的注冊信息來完成注冊,因此可以顯著降低作為被邀請用戶一方在進(jìn)行邀請注冊時(shí)的操作復(fù)雜度,從而可以提升邀請注冊的轉(zhuǎn)化率。
與上述方法實(shí)施例相對(duì)應(yīng),本申請還提供了裝置的實(shí)施例。
請參見圖4,本申請?zhí)岢鲆环N邀請注冊裝置40,應(yīng)用于服務(wù)端;請參見圖5,作為承載所述邀請注冊裝置40的服務(wù)端所涉及的硬件架構(gòu)中,通常包括cpu、內(nèi)存、非易失性存儲(chǔ)器、網(wǎng)絡(luò)接口以及內(nèi)部總線等;以軟件實(shí)現(xiàn)為例,所述邀請注冊裝置40通??梢岳斫鉃榧虞d在內(nèi)存中的計(jì)算機(jī)程序,通過cpu運(yùn)行之后形成的軟硬件相結(jié)合的邏輯裝置,所述裝置40包括:
第一接收模塊401,接收到注冊邀請用戶發(fā)送的邀請注冊請求;其中,所述邀請注冊請求攜帶被邀請用戶的用戶標(biāo)識(shí);
下發(fā)模塊402,生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并向所述被邀請用戶下發(fā)所述注冊憑證;
第二接收模塊403,接收到所述被邀請用戶發(fā)送的注冊請求;其中,所述注冊請求攜帶所述注冊憑證;
注冊模塊404,對(duì)所述注冊請求中攜帶的注冊憑證進(jìn)行驗(yàn)證;如果驗(yàn)證通過,發(fā)起對(duì)應(yīng)于所述被邀請用戶的用戶注冊,并在注冊成功后向所述被邀請用戶返回注冊成功頁面;其中,所述注冊成功頁面包括與所述被邀請用戶注冊成功的客戶端對(duì)應(yīng)的安裝文件下載入口。
在本例中,所述下發(fā)模塊402:
生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證,并在本地緩存所述注冊憑證與所述被邀請用戶的用戶標(biāo)識(shí)的對(duì)應(yīng)關(guān)系;
構(gòu)建攜帶所述注冊憑證的注冊鏈接;
將構(gòu)建的所述注冊鏈接以短信的形式下發(fā)至所述被邀請用戶,以使得所述被邀請用戶在訪問所述注冊鏈接時(shí),向所述服務(wù)端發(fā)送所述注冊請求。
在本例中,本地緩存的所述注冊憑證預(yù)設(shè)了有效時(shí)長;
所述注冊模塊404:
驗(yàn)證所述注冊憑證是否已失效;
如果所述注冊憑證未失效,則確認(rèn)所述注冊憑證驗(yàn)證通過,進(jìn)一步獲取本地緩存的與所述注冊憑證對(duì)應(yīng)的用戶標(biāo)識(shí)。
在本例中,所述注冊模塊404進(jìn)一步:
在注冊成功后,為所述被邀請用戶生成登錄密碼;
將生成的登錄密碼以短信的形式下發(fā)至所述被邀請用戶,以使所述被邀請用戶在通過所述注冊成功頁面下載并安裝了注冊成功的客戶端后,基于所述登錄密碼登錄所述客戶端;或者,
將生成的登錄密碼添加至所述被邀請用戶注冊成功的客戶端的安裝文件中,以使所述被邀請用戶在通過所述注冊成功頁面下載并安裝了注冊成功的客戶端后,基于所述客戶端的安裝文件中添加的登錄密碼自動(dòng)登錄所述客戶端。
在本例中,所述下發(fā)模塊402進(jìn)一步:
驗(yàn)證所述邀請用戶的邀請注冊次數(shù),以及所述被邀請用戶的被邀請注冊次數(shù)是否達(dá)到預(yù)設(shè)閾值;
如果所述邀請注冊次數(shù)和所述被邀請注冊次數(shù)中的任一達(dá)到所述預(yù)設(shè)閾值時(shí),則終止邀請注冊流程;
如果所述邀請注冊次數(shù)和所述被邀請注冊次數(shù)均未達(dá)到所述預(yù)設(shè)閾值,則繼續(xù)執(zhí)行生成對(duì)應(yīng)于所述被邀請用戶的用戶標(biāo)識(shí)的注冊憑證。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
上述實(shí)施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來實(shí)現(xiàn)。一種典型的實(shí)現(xiàn)設(shè)備為計(jì)算機(jī),計(jì)算機(jī)的具體形式可以是個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個(gè)人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件收發(fā)設(shè)備、游戲控制臺(tái)、平板計(jì)算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任意幾種設(shè)備的組合。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本申請的其它實(shí)施方案。本申請旨在涵蓋本申請的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請的一般性原理并包括本申請未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本申請的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本申請并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請的范圍僅由所附的權(quán)利要求來限制。
以上所述僅為本申請的較佳實(shí)施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。