一、Uniapp推送通知
Uniapp推送通知作為手機APP通知用戶的一種方式,通常出現在手機的狀態欄中。Uniapp採用了友好和簡單易用的API進行推送。Uniapp提供的notifications模塊可以輕鬆地幫助開發人員在APP的狀態欄上展示通知。
Uniapp的推送通知主要分為兩種,分別為本地推送和遠程推送。本地推送可以在APP內直接推送顯示,而遠程推送需要服務器向推送平台發送推送。
uni.showNotification({
title: '推送標題',
content: '推送內容',
payload: '{customData:123}'
});
上述代碼為Uniapp展示本地推送通知的API,給出了通知的標題和內容。另外,開發者還可以添加payload屬性,以便在用戶點擊通知時獲取通知中的額外信息,比如是否需要跳轉到其他頁面或顯示更多詳細信息。
二、Uniapp推送消息
與Uniapp推送通知不同,Uniapp推送消息是必須經過服務器推送平台的。Uniapp實現推送消息最常用的方式是通過調用messaging模塊的API。
//在manifest.json中註冊 APPID 和 APPKEY
"manifest":{
...
"app-plus":{
"appid":"wxxxxxxxxxxxxxxxxx",
"appkey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
// 在 page 中發送推送消息
import {sendUniPushMessage} from '@/common/js/uni-push.js';
function sendPush() {
sendUniPushMessage({
title: '推送標題',
content: '推送內容',
openUrl: '/pages/home/home',
extras: {
id: '123',
type: 'order'
}
});
}
以上代碼展示了Uniapp推送消息的實現流程。開發人員需要在manifest.json文件中註冊APPID和APPKEY,以便向推送平台註冊APP。而在具體頁面中,開發人員可以使用自定義JS庫uni-push來發送推送消息,向用戶推送消息內容、打開URL等。
三、UniPush推送
UniPush是Uniapp推送服務平台,提供開發者快速開始、簡化SDK使用、便捷的管理功能。Uniapp開發人員可以在Unipush平台上創建應用,獲取API KEY和SECRET KEY,在APP端使用對應的SDK,將推送消息發送到Unipush平台。
Unipush平台還提供了測試推送、統計分析、細分用戶群體等完整的推送管理功能。此外,開發人員可以通過自定義標籤來細分用戶,將推送消息發送到特定標籤的用戶。
四、Uniapp推送點擊事件
當用戶點擊Uniapp推送通知時,開發人員需要在代碼中處理推送通知的點擊事件,以便在用戶點擊通知時展示更多信息或打開應用特定頁面。Uniapp提供了API onNotificationTap,通過該API,開發人員能夠為推送通知設置點擊事件的處理邏輯。
uni.onNotificationTap(function(res) {
uni.showToast({
title: '點擊打開頁面:' + res.openUrl
});
});
五、Uniapp推送通知欄樣式
Uniapp推送通知欄樣式是Uniapp推送通知在狀態欄中的展示形式。開發者可以通過修改通知欄樣式,使推送通知在狀態欄中更加美觀。Uniapp的notifications模塊提供了API setStyle,可以幫助開發人員在推送通知的展示樣式中設置自己想要的格式。
uni.setStyle({
statusBarColor: '#F8F8F8',
statusBarStyle: 'dark',
titleNView: {
backgroundColor: '#F8F8F8',
titleColor: '#000000',
titleText: 'Hello uni-app'
}
});
uni.showNotification({
title: '推送標題',
content: '推送內容',
payload: '{customData:123}'
});
六、Uniapp推送跳轉
Uniapp推送跳轉指的是當用戶點擊推送通知時,應用打開指定頁面的操作。Uniapp提供了多種方式實現推送通知的跳轉功能。例如,在推送通知的標題欄上設置一個URL,當用戶點擊標題欄時打開相應的頁面。
uni.showNotification({
title: '推送標題',
content: '推送內容',
payload: '{"url":"http://www.baidu.com"}'
});
uni.onNotificationTap(function (msg) {
uni.navigateTo({
url: msg.openUrl
});
});
七、Uniapp推送消息費用
Uniapp推送消息的費用根據使用的推送平台不同而有所不同。目前Uniapp官方推薦的推送平台是Unipush,費用也比較透明,可以在平台上查看具體的計費規則和費用明細。
八、Uniapp推送桌面角標
Uniapp推送桌面角標是iOS特有的功能。它可以讓開發者在推送通知橫幅上顯示未讀消息數量,提醒用戶查看未讀消息。Uniapp的notifications模塊提供了API setBadge,可以幫助開發人員設置推送通知桌面角標。
uni.setBadgeNumber({
badge: 1
});
九、Uniapp離線推送
Uniapp離線推送指的是當APP在後台運行或者未啟動時,推送通知可以正常顯示的功能。這個功能需要在推送平台和APP端都進行設置。開發人員需要在APP中使用onLaunch或onResume處理用戶點擊通知欄的邏輯。
//在App.vue中處理推送通知點擊事件
onLaunch: function (res) {
if(res && res.action === 'click') {
console.log(res);
}
},
onResume: function (res) {
if(res && res.action === 'click') {
console.log(res);
}
}
以上代碼實現了在APP後台運行時處理推送通知的點擊事件。當用戶通過推送通知打開APP時,可以在這裡執行相應的邏輯。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/308574.html