• <rp id="r3qlj"><acronym id="r3qlj"><input id="r3qlj"></input></acronym></rp>
    <s id="r3qlj"><object id="r3qlj"><input id="r3qlj"></input></object></s>
  • 主頁/ 電商學院/微信小程序/微信小程序模板消息推送詳細介紹及代碼實現

    微信小程序模板消息推送詳細介紹及代碼實現

      在如今科技發達的年代,大家每天都在接收大量的信息,如電話、短信、APP消息推送、郵件、微信消息、微信服務通知、朋友圈消息、微博消息等等,這些不乏大量的推廣信息。面對大量的垃圾信息,我們會報告垃圾短信、屏蔽垃圾電話、屏蔽垃圾郵件、屏蔽某人朋友圈等等,這也導致了大部分消息推送方式的失效或者效果打折。那么,今天優加網絡談的是,效果非常好的微信服務通知,因為這里推送的都是有效信息,屏蔽的人非常少,微信不允許你把它當做推廣工具,所以都有調用次數等規則限制,但我們可以好好利用以保持應用的用戶粘性。

    小程序的模板消息推送,體現在微信-服務通知,如下圖。

    模板消息推送
    點擊模板消息,可直接進入小程序某個頁面,利用好可以保持應用和用戶的粘性,效果非常好。

    是不是什么消息都可以發送?模板消息推送有什么條件?
    為了防止垃圾信息推送,微信做了很多的規范和限制,如下
    1. 只能發送微信提供的模板信息,不能自定義消息內容,想發什么就發什么;
    2. 有推送條件限制,即用戶本人在微信體系內與頁面有交互行為后觸發。當用戶在小程序內完成過支付行為,可在7天內推送3條模板消息或者當用戶在小程序內有提交表單行為,可7天內推送1條模板消息。
    3. 有各種標題、關鍵詞規范,防止發送垃圾信息,違者封接口。

    具體推送步驟如下

    第一步、到小程序管理后臺申請推送模板。如下圖,已申請了2個模板,最多可申請25個模板消息,模板庫目前有160個模板,適合各行各業。

    模板消息列表
    比較重要的是記住模板ID和模板關鍵詞,在實際推送過程中需要用到,如下圖

    模板消息詳細
     

    第二步、收集用戶formid

    用戶支付產生的prepay_id和提交表單時產生的formid(表單屬性report-submit="true")
     
    小程序前端代碼

    消息推送前端代碼

    小程序JS后臺代碼

    小程序JS代碼

    后臺程序接收代碼并保持到數據庫

    數據庫如下

    CREATE TABLE `xxx_formid` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自動ID',
      `member_id` int(11) DEFAULT NULL COMMENT '會員ID',
      `form_id` varchar(50) DEFAULT NULL COMMENT '收集到的form_id',
      `time_create` int(11) DEFAULT NULL COMMENT '收集時間',
      `time_expire` int(11) DEFAULT NULL COMMENT '過期時間',
      `can_use_times` int(2) DEFAULT NULL COMMENT '可使用次數',
      `used_times` int(2) DEFAULT NULL COMMENT '已使用次數',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='小程序收集的用于推送消息的form_id表';

    THINKPHP推送代碼如下

     /**
         * 發送模板消息
         * @param type $ctype 模板消息類型
         * @param type $member_id 會員ID
         * @param type $template_id 模板ID
         * @param type $url 模板消息跳轉地址
         * @param type $data 模板消息數據
         * @return int 是否成功
         */
        function do_send($ctype,$member_id, $template_id, $url, $data)
        {
            //獲得access_token
            $AccessTokenObj = new AccessTokenModel();
            $access_token = $AccessTokenObj->get_token();
            
            //獲得用戶open_id
            $MemberObj = new MemberModel();
            $openid = $MemberObj->get_openid($member_id);
            
            //獲得form_id
            $FormidObj = new FormidModel();
            $form_id = $FormidObj->get_form_id($member_id);
            
            $template = array(
                'touser' => $openid,
                'form_id' => $form_id,
                'template_id' => $template_id,
                'page' => $url,
                'data' => $data  
            );
            
            if(empty($openid)) {
                $this->add_record($ctype, $member_id, $openid, $form_id,$template_id, json_encode($data),$url, 0, "沒有可用openid");
                return 2;//沒有可用的openid
            }
            
            if(empty($form_id)) {
                $this->add_record($ctype, $member_id, $openid, $form_id,$template_id, json_encode($data),$url, 0, "沒有可用formid");
                return 3;//沒有可發送的form_id
            }
            
            $json_template = json_encode($template);
            $url_send = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" . $access_token;
            $json_result = sendCmd($url_send,$json_template);
            $result = json_decode($json_result,true);
            
            $is_success = 0;
            $err_msg = '';
            if($result['errcode'] == 0) {
                $FormidObj->update_state_form_id($form_id);
                $is_success = 1;
            } else {  
                $err_msg = $result['errcode'];
            }
            $this->add_record($ctype, $member_id, $openid, $form_id, $template_id, json_encode($data), $url, $is_success, $err_msg);
            return $is_success;
        }
        
    其中需要用到PHP發送請求函數

    /**
     * 發起請求
     * @param  string $url  請求地址
     * @param  string $data 請求數據包
     * @return   string      請求返回數據
     */
    function sendCmd($url,$data)
    {
        $curl = curl_init(); // 啟動一個CURL會話      
        curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址                  
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢測    
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 從證書中檢查SSL加密算法是否存在      
        curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:')); //解決數據包大不能提交     
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉      
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer      
        curl_setopt($curl, CURLOPT_POST, 1); // 發送一個常規的Post請求      
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的數據包      
        curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設置超時限制防止死循     
        curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容      
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回 
               
        $tmpInfo = curl_exec($curl); // 執行操作      
        if (curl_errno($curl)) {      
           echo 'Errno'.curl_error($curl);      
        }      
        curl_close($curl); // 關鍵CURL會話      
        return $tmpInfo; // 返回數據      
    }

    微信小程序的模板消息推送和服務號的模板消息推送還是不一樣的

    小程序發送需要formid,而且有7天的時間限制,而服務號是不需要的,但是一個服務號每天有消息總條數限制。

    下面附帶小程序的一些規則

    審核說明
    1.標題

    1.1標題不能存在相同

    1.2標題意思不能存在過度相似

    1.3標題必須以“提醒”或“通知”結尾

    1.4標題不能帶特殊符號、個性化字詞等沒有行業通用性的內容

    1.5標題必須能體現具體服務場景

    1.6標題不能涉及營銷相關內容,包括不限于:

    消費優惠類、購物返利類、商品更新類、優惠券類、代金券類、紅包類、會員卡類、積分類、活動類等營銷傾向通知

    2.關鍵詞

    2.1同一標題下,關鍵詞不能存在相同

    2.2同一標題下,關鍵詞不能存在過度相似

    2.3關鍵詞不能帶特殊符號、個性化字詞等沒有行業通用性的內容

    2.4關鍵詞內容示例必須與關鍵詞對應匹配

    2.5關鍵詞不能太過寬泛,需要具有限制性,例如:“內容”這個就太寬泛,不能審核通過

    違規說明

    除不能違反運營規范外,還不能違反以下規則,包括但不限于:

    不允許惡意誘導用戶進行觸發操作,以達到可向用戶下發模板目的
    不允許惡意騷擾,下發對用戶造成騷擾的模板
    不允許惡意營銷,下發營銷目的模板

    處罰說明

    根據違規情況給予相應梯度的處罰,一般處罰規則如下:

    第一次違規,刪除違規模板以示警告,

    第二次違規,封禁接口7天,

    第三次違規,封禁接口30天,

    第四次違規,永久封禁接口

    處罰結果及原因以站內信形式告知

    優加網絡專注于微信小程序定制開發,歡迎有需要的客戶咨詢我們的服務熱線400-800-9385,或者加我們的客服QQ97798819

     
    網站聲明:以上文章內容為優加的原創文章,如需轉載,請注明出處,謝謝合作!
    0 喜歡
    294 瀏覽數

    優加商學院

    APP開發微信小程序開發網站開發

    TOP榜單

    01

    開發一個裝修師傅接單平臺小程序項目

    我們開發了一個“裝修師傅接單平臺”小程序項目,旨在為用戶和裝修師傅之間搭建一個連接的橋梁。在我們的平臺上,用戶可以輕松發布自己的裝修需求,而裝修師傅則可以自由地接單并完成相應的任務

    02

    百度的索引量怎么提高

    網站上線運營后離不開搜索引擎的推廣,現在內卷的社會中每個人其實都通過各種方法獲得有價值的流量,你做的事情別人同樣也在做,所以未來拼的是團隊、和認知了。

    03

    微信小程序商城開發整個流程有怎么樣的?

    從需求分析、UI設計、后臺管理、接口開發、測試上線到運營維護等多個方面,都需要精心制定和實施。下面將對每個步驟進行更詳細的介紹。

    04

    我現在的網站因為采集了大量的文章被降權了不知道怎么辦?

    網站經營中可能會遇到各種各樣的問題,下面分享我網站因采集被降權的經歷。

    05

    微信小程序開發步驟和如何推廣

    小程序已經成為了一種非常流行的移動應用,很多企業和開發者都開始關注并且使用它們來提供更好的用戶體驗。微信小程序是其中最受歡迎的一個,因為它已經被很多人廣泛使用,并且有著強大的社交功能。在本文中,我們將介紹如何開發微信小程序,以及一些關于如何推廣微信小程序的技巧。

    06

    佛山小程序開發公司報價為什么相差那么大呢?

    隨著2023年經濟強勢復蘇,接待客戶的頻率也和2019年對接得上了,無論這世界怎么變打電話進來問報價的方式還是不變的,我們也不會強制要求約談見面才可以給出報價,基本上大致需求大致報價。

    推薦閱讀

    開發一個裝修師傅接單平臺小程序項目

    我們開發了一個“裝修師傅接單平臺”小程序項目,旨在為用戶和裝修師傅之間搭建一個連接的橋梁。在我們的平臺上,用戶可以輕松發布自己的裝修需求,而裝修師傅則可以自由地接單并完成相應的任務

    微信小程序商城開發整個流程有怎么樣的?

    從需求分析、UI設計、后臺管理、接口開發、測試上線到運營維護等多個方面,都需要精心制定和實施。下面將對每個步驟進行更詳細的介紹。

    我現在的網站因為采集了大量的文章被降權了不知道怎么辦?

    網站經營中可能會遇到各種各樣的問題,下面分享我網站因采集被降權的經歷。

    佛山小程序開發公司報價為什么相差那么大呢?

    隨著2023年經濟強勢復蘇,接待客戶的頻率也和2019年對接得上了,無論這世界怎么變打電話進來問報價的方式還是不變的,我們也不會強制要求約談見面才可以給出報價,基本上大致需求大致報價。

    chatgpt真的可以開發小程序嗎?

    OpenAI旗下的chatgpt到底有多智能?相信最近不少朋友都被各大視頻號或文章或朋友圈進行強制性知識普及了吧,下面我們來聊下chatgpt現狀和未來。

    微信商戶號運營賬戶結算方式調整佛山小程序開發客戶注意了

    最近因微信商戶號的調整2023年1月1日起,逐步調整“企業付款到零錢”的出資額度至單筆500元。并且將推出“商家轉賬到零錢”產品,這段時間都為過渡期,如有客戶有提現或分銷、分賬的請及時聯系處理。

    您好,直接聯系技術溝通需求
    掃碼添加我的微信,直談需求
    非工作時間技術回復慢請諒解
    免费看小12萝裸体视频国产
  • <rp id="r3qlj"><acronym id="r3qlj"><input id="r3qlj"></input></acronym></rp>
    <s id="r3qlj"><object id="r3qlj"><input id="r3qlj"></input></object></s>