藉助雲開發實現小程序模版消息推送(不用搭建服務器就能夠實現微信消息推送)

上一節給你們將了藉助雲開發實現小程序支付功能,那麼咱們就要想了,能不能借助雲開發實現小程序消息推送功能呢? 還別說,雲開發還真能實現推送的功能。java

一直關注個人同窗確定知道老師以前也寫過藉助java後臺實現小程序消息推送的文章。 咱們藉助java後臺雖然也能輕鬆的實現消息推送。可是呢?用java開發後臺推送,必需要搭建服務器,學習java代碼,部署java代碼固然你就是作java開發的,或者學習過java,這沒什麼。 可是做爲小程序開發人員來講,用java顯得過重了。編程

傳送門: 《藉助小程序雲開發實現小程序支付功能(含源碼)》 《5行代碼實現微信小程序模版消息推送 (含推送後臺和小程序源碼)》小程序

下面就來教你們如何藉助雲開發實現小程序模版消息的推送功能。微信小程序

老規矩,先看效果圖 api

下面來說實現步驟

一,定義推送的雲函數

因爲咱們的雲推送功能只能在雲函數裏調用,因此咱們這裏必需要在雲函數裏實現推送功能。bash

1,首先咱們定義一個雲函數push0524。 若是你還不知道如何使用雲開發,如何定義雲函數,去翻下老師以前的文章。有寫的。 服務器

把完整的代碼貼給你們微信

// 雲函數入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 雲函數入口函數
exports.main = async(event, context) => {
  console.log(event)
  return sendTemplateMessage(event)
}

//小程序模版消息推送
async function sendTemplateMessage(event) {
  const {
    OPENID
  } = cloud.getWXContext()

  // 接下來將新增模板、發送模板消息、而後刪除模板
  // 注意:新增模板而後再刪除並非建議的作法,此處只是爲了演示,模板 ID 應在添加後保存起來後續使用
  const addResult = await cloud.openapi.templateMessage.addTemplate({
    id: 'AT0002',
    keywordIdList: [3, 4, 5]
  })

  const templateId = addResult.templateId //新增的模版id

  const sendResult = await cloud.openapi.templateMessage.send({
    touser: OPENID,
    templateId,
    formId: event.formId,
    page: 'pages/index/index',
    data: {
      keyword1: {
        value: '雲開發實現推送',
      },
      keyword2: {
        value: '2019 年 5 月 24 日',
      },
      keyword3: {
        value: '編程小石頭',
      },
    }
  })

  //刪除模版id
  await cloud.openapi.templateMessage.deleteTemplate({
    templateId,
  })

  return sendResult
}
複製代碼

上面代碼所實現的就是 1,建立模版,拿到模版id 2,使用模版ID,填充模版消息,發送模版 3,刪除模版。async

咱們正常開發時,模版都是在小程序後臺獲取到的。這裏是爲例演示方便。因此正常開發時,只須要實現第二步就好了。函數

推送的關鍵代碼就是這個方法: cloud.openapi.templateMessage.send

一般咱們定義完push0524雲函數之後,若是直接調用的話,會報錯誤的。

來看下這個錯誤,看到紅色框裏的permission就知道,確定是權限的問題。因此咱們在定義完雲函數之後,要在push0524雲函數下面添加權限配置頁面。以下圖
重要的就是這個: "templateMessage.send", 推送權限。由於推送是雲開發給咱們提供的,咱們這裏調用時,必須配置相關權限,才能使用的。 到這裏咱們的推送功能就實現了。下面咱們來驗證下。

二,驗證雲開發推送

驗證其實很簡單,和咱們以前的《5行代碼實現微信小程序模版消息推送 (含推送後臺和小程序源碼)》 相似。只不過一個是在java後臺推送,一個是在小城裏推送。下面咱們簡單寫個小程序裏驗證推送的demo。

功能很簡單 1,獲取formid,由於推送必須有formid的 2,點擊調用push0524實現推送

簡單的貼下代碼

須要注意的一點:咱們測試時,必需要真機測試。由於模擬器無法獲取到formid的。

咱們在推送成功的success回調中打印下log。若是log中出現,send:ok字樣,就表明咱們推送成功了。來看下推送成功的效果。 微信聊天列表接收到了消息提醒
消息內容

到這裏咱們就用雲開發實現完整的消息推送功能了。是否是很簡單。

有任何關於編程的問題均可以加老師微信 2501902696(備註小程序)也能夠找老師索要完整源碼。

編程小石頭碼農一枚,非著名全棧開發人員。分享本身的一些經驗,學習心得,但願後來人少走彎路,少填坑

相關文章
相關標籤/搜索