溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信公眾號開發(fā)模板消息的示例分析

發(fā)布時間:2021-09-15 18:13:21 來源:億速云 閱讀:380 作者:小新 欄目:移動開發(fā)

小編給大家分享一下微信公眾號開發(fā)模板消息的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

如何查看是否有權(quán)限

在交流群中,總是有人問個人訂閱號、認(rèn)證的訂閱號服務(wù)號 、認(rèn)證的服務(wù)號 某個接口是否有權(quán)限使用。

其實這個問題很簡單,在【微信公眾平臺】現(xiàn)在已經(jīng)可以直接查看自己的公眾號都能使用那些接口。

登錄【微信公眾平臺】進(jìn)入首頁>開發(fā)>接口權(quán)限

微信公眾號開發(fā)模板消息的示例分析

模板消息-權(quán)限.png

添加模板消息插件

注意必須是認(rèn)證的服務(wù)號

登錄【微信公眾平臺】進(jìn)入首頁>添加插件功能>找到模板消息按照指引流程操作即可。

模板消息接口使用規(guī)則

官方文檔 發(fā)送消息-模板消息接口 以及 模板消息運營規(guī)范

關(guān)于使用規(guī)則,請注意:
1、所有服務(wù)號都可以在功能->添加功能插件處看到申請模板消息功能的入口,但只有認(rèn)證后的服務(wù)號才可以申請模板消息的使用權(quán)限并獲得該權(quán)限;
2、需要選擇公眾賬號服務(wù)所處的2個行業(yè),每月可更改1次所選行業(yè);
3、在所選擇行業(yè)的模板庫中選用已有的模板進(jìn)行調(diào)用;
4、每個賬號可以同時使用25個模板。
5、當(dāng)前每個賬號的模板消息的日調(diào)用上限為10萬次,單個模板沒有特殊限制。【2014年11月18日將接口調(diào)用頻率從默認(rèn)的日1萬次提升為日10萬次,可在MP登錄后的開發(fā)者中心查看】。當(dāng)賬號粉絲數(shù)超過10W/100W/1000W時,模板消息的日調(diào)用上限會相應(yīng)提升,以公眾號MP后臺開發(fā)者中心頁面中標(biāo)明的數(shù)字為準(zhǔn)。

添加模板消息

按照上文添加模板消息插件之后【微信公眾平臺】首頁左側(cè)欄就會出現(xiàn)模板消息菜單,收取點擊進(jìn)去需要同意協(xié)議并設(shè)置公眾賬號服務(wù)所處的2個行業(yè)。

以上設(shè)置好了就可以通過關(guān)鍵詞查模板庫中已有的模板,如果沒有找到可以自己申請。

微信公眾號開發(fā)模板消息的示例分析

模板消息-添加模板.png

找到合適的模板消息點擊詳情,進(jìn)去查看模板詳情,如果需要添加即可。添加完成會在我的模板中生成模板消息的 模板ID,模板ID在后面會用到。

微信公眾號開發(fā)模板消息的示例分析

模板消息-模板詳情.png

測試號添加模板消息

微信公眾號開發(fā)模板消息的示例分析

測試號添加模板消息.png

微信公眾號開發(fā)模板消息的示例分析

測試號添加模板消息.png

模板消息接口的使用

客觀前面都是一些準(zhǔn)備工作,端杯茶耐心往下看。先來點實際的看看開源項目中封裝的接口是如何使用的。

com.javen.weixin.controller.WeixinMsgController.java

微信公眾號開發(fā)模板消息的示例分析

模板消息的使用.png

微信公眾號開發(fā)模板消息的示例分析

接收到的通知

模板消息的封裝

官方參考文檔 具體實現(xiàn) com.jfinal.weixin.sdk.api.TemplateMsgApi.java

public class TemplateMsgApi {

    private static String sendApiUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";

    /**
     * 發(fā)送模板消息
     * @param jsonStr json字符串
     * @return {ApiResult}
     */
    public static ApiResult send(String jsonStr) {
        String jsonResult = HttpUtils.post(sendApiUrl + AccessTokenApi.getAccessToken().getAccessToken(), jsonStr);
        return new ApiResult(jsonResult);
    }
}

json數(shù)據(jù)的封裝

com.jfinal.weixin.sdk.api.TemplateData.java

public class TemplateData {

    private String touser;
    private String template_id;
    private String url;
    private String topcolor;
    private TemplateItem data;

    public static TemplateData New() {
        return new TemplateData();
    }

    private TemplateData() {
        this.data = new TemplateItem();
    }

    public String getTouser() {
        return touser;
    }

    public TemplateData setTouser(String touser) {
        this.touser = touser;
        return this;
    }

    public String getTemplate_id() {
        return template_id;
    }

    public TemplateData setTemplate_id(String template_id) {
        this.template_id = template_id;
        return this;
    }

    public String getUrl() {
        return url;
    }

    public TemplateData setUrl(String url) {
        this.url = url;
        return this;
    }

    public String getTopcolor() {
        return topcolor;
    }

    public TemplateData setTopcolor(String topcolor) {
        this.topcolor = topcolor;
        return this;
    }

    public TemplateItem getData() {
        return data;
    }

    public TemplateData add(String key, String value, String color){
        data.put(key, new Item(value, color));
        return this;
    }

    /**
     * 直接轉(zhuǎn)化成jsonString
     * @return {String}
     */
    public String build() {
        return JsonUtils.toJson(this);
    }

    public class TemplateItem extends HashMap<String, Item> {

        private static final long serialVersionUID = -3728490424738325020L;

        public TemplateItem() {}

        public TemplateItem(String key, Item item) {
            this.put(key, item);
        }
    }

    public class Item {
        private Object value;
        private String color;

        public Object getValue() {
            return value;
        }
        public void setValue(Object value) {
            this.value = value;
        }
        public String getColor() {
            return color;
        }
        public void setColor(String color) {
            this.color = color;
        }

        public Item(Object value, String color) {
            this.value = value;
            this.color = color;
        }
    }
}

以上是“微信公眾號開發(fā)模板消息的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI