微信小程序推送消息詳解

一、微信小程序推送消息限制

1、微信小程序消息推送僅適用於iOS 7.0及以上及Android 4.0及以上版本的微信客戶端;

2、開發者需通過微信公眾平台接口來實現向特定用戶推送消息,但需獲取到該用戶的openid,因此需要用戶主動授權獲取openid;

3、每個用戶最多允許接收4條消息(系統-小程序消息分類);

4、若小程序7天內未啟動,會提示用戶關閉小程序及系統消息推送;

5、若用戶在小程序界面內,不接收系統消息推送。

二、微信小程序系統消息推送

微信小程序提供了系統消息模板,開發者可以直接調用模板消息接口向用戶推送系統消息,包括小程序審核結果、小程序被封禁、小程序被還原等系統通知。

使用模板消息調用三步驟如下:

// 引入 SDK
const cloud = require('wx-server-sdk')

// 初始化 SDK
cloud.init()

// 觸發模板消息接口並向特定用戶推送
try {
  const result = await cloud.openapi.templateMessage.send({
    touser: 'openid',
    templateId: 'templateId',
    formId: 'formId',
    data: {
      keyword1: {
        value: '小程序審核結果'
      },
      keyword2: {
        value: '審核已通過'
      },
      keyword3: {
        value: '2019-01-01'
      }
    },
    emphasisKeyword: 'keyword1.DATA'
  })
} catch (err) {
  console.log(err)
}

三、微信小程序推送消息怎麼關閉

若用戶不再希望接收小程序系統消息推送,可以在微信客戶端中進行關閉。

關閉方式如下:

1、點擊微信圖標,進入「我」頁面;

2、點擊右上角「設置」按鈕;

3、點擊「通用」->「應用消息」->「小程序」

4、關閉小程序及系統消息推送。

四、微信小程序推送消息 code過期了

為保證推送消息安全性,小程序推送消息接口會生成一次性的code,有效期為7天,若過期需重新獲取。

// 引入 SDK
const cloud = require('wx-server-sdk')

// 初始化 SDK
cloud.init()

// 調用雲函數獲取access_token
const { access_token } = await cloud.callFunction({
  name: 'getWXAccessToken'
})

// 調用接口獲取新的code
const { code } = await cloud.openapi.uniformMessage.getTemplateLibraryById({
  access_token,
  id: 'your_template_id'
})

五、微信小程序推送消息記錄

開發者可以通過微信公眾平台接口查詢已發送的模板消息及小程序通知消息,包括消息發送狀態、具體發送時間等信息。

// 引入 SDK
const cloud = require('wx-server-sdk')

// 初始化 SDK
cloud.init()

// 觸發消息記錄接口
try {
  const result = await cloud.openapi.templateMessage.getTemplateSendLog({
    access_token,
    begin_date: '2019-01-01',
    end_date: '2019-12-31',
    offset: 0,
    count: 20
  })
} catch (err) {
  console.log(err)
}

六、微信小程序推送消息給指定用戶

開發者需獲取用戶的openid後,調用微信公眾平台接口向指定用戶推送模板消息或小程序通知消息。

// 引入 SDK
const cloud = require('wx-server-sdk')

// 初始化 SDK
cloud.init()

// 觸發消息發送接口並向特定用戶推送消息
try {
  const result = await cloud.openapi.templateMessage.send({
    touser: 'openid',
    templateId: 'templateId',
    formId: 'formId',
    data: {
      keyword1: {
        value: '訂單支付成功'
      },
      keyword2: {
        value: '2019-01-01 12:00:00'
      },
      keyword3: {
        value: '100.00元'
      }
    },
    emphasisKeyword: 'keyword1.DATA'
  })
} catch (err) {
  console.log(err)
}

七、微信小程序推送消息解決方案

為提高小程序消息推送成功率與用戶體驗,推薦以下方案:

1、充分考慮用戶意願,只推送實用性較高、用戶感興趣的消息;

2、使用系統消息模板或參考微信公眾平台官方示例自定義消息模板;

3、保證小程序7天內至少啟動一次,避免用戶關閉消息推送;

4、在需要時定時檢查code有效期並重新獲取;

5、根據接口返回的錯誤信息及時處理錯誤情況。

八、微信小程序推送消息怎麼打開

在微信客戶端中,若用戶主動將小程序至於前台,則小程序及系統消息推送功能會自動開啟,接收到消息時將會顯示在小程序頁面上方或內部的消息中心中,用戶可自行選擇查看或忽略。

九、微信小程序推送消息給用戶

開發者可以通過微信公眾平台接口向用戶推送小程序通知消息或模板消息,消息內容應針對特定用戶的興趣、需求或業務流程來設計優化,具體內容和形式可參考微信公眾平台官方文檔。

以上就是微信小程序推送消息的詳細介紹,希望對小程序開發者有所幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/236927.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:02
下一篇 2024-12-12 12:02

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟件。在VB中,有許多不同的方法可以運行程序,包括編譯器、發佈程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • RabbitMQ和Yii2的消息隊列應用

    本文將探討RabbitMQ和Yii2之間的消息隊列應用。從概念、安裝和配置、使用實例等多個方面詳細講解,幫助讀者了解和掌握RabbitMQ和Yii2的消息隊列應用。 一、Rabbi…

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨着深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟件開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29

發表回復

登錄後才能評論