科爾多瓦當然有發送推送通知的選項,但是否有任何插件包括直接向通知添加操作的功能?科爾多瓦推送通知操作
我試着搜索'交互式通知'和'通知動作'插件,但沒有得到任何結果。我也試着看看API reference for phonegap-plugin-push,但沒有找到合適的選項或方法。
什麼,我正在尋找一個例子是,當的iMessage允許用戶對文章作出迴應,甚至無需打開應用程序時會發生什麼:
任何科爾多瓦插件可以添加動作推送通知?
科爾多瓦當然有發送推送通知的選項,但是否有任何插件包括直接向通知添加操作的功能?科爾多瓦推送通知操作
我試着搜索'交互式通知'和'通知動作'插件,但沒有得到任何結果。我也試着看看API reference for phonegap-plugin-push,但沒有找到合適的選項或方法。
什麼,我正在尋找一個例子是,當的iMessage允許用戶對文章作出迴應,甚至無需打開應用程序時會發生什麼:
任何科爾多瓦插件可以添加動作推送通知?
您的通知可以包含操作按鈕。對於iOS 8+必須在安裝了可能採取的行動,當你初始化插件:
var push = PushNotification.init({
"ios": {
"sound": true,
"vibration": true,
"badge": true,
"categories": {
"invite": {
"yes": {
"callback": "app.accept", "title": "Accept", "foreground": true, "destructive": false
},
"no": {
"callback": "app.reject", "title": "Reject", "foreground": true, "destructive": false
},
"maybe": {
"callback": "app.maybe", "title": "Maybe", "foreground": true, "destructive": false
}
},
"delete": {
"yes": {
"callback": "app.doDelete", "title": "Delete", "foreground": true, "destructive": true
},
"no": {
"callback": "app.cancel", "title": "Cancel", "foreground": true, "destructive": false
}
}
}
}
});
你會發現,我們增加了一個新的參數,我們的初始化代碼iOS的對象稱爲類。在這種情況下,每個類別都是一個命名對象,邀請和刪除。如果您希望顯示操作按鈕,這些名稱將需要與您通過有效負載發送給APNS的名稱匹配。每個類別最多可以有三個按鈕,其中必須標有「是」,「否」或「可能」。反過來,這些按鈕中的每一個都有四個屬性,回調你想要調用的javascript函數,爲按鈕標題標題,前景是否讓你的應用程序到達前景和破壞性,它實際上沒有任何破壞性,它只是顏色該按鈕紅色警告用戶該操作可能具有破壞性。
就像背景通知一樣,當您成功處理按鈕回調時,調用push.finish()是絕對關鍵的。例如:
app.accept = function(data) {
// do something with the notification data
push.finish(function() {
console.log('accept callback finished');
}, function() {
console.log('accept callback failed');
}, data.additionalData.notId);
};
您可能會注意到完成方法現在的成功,失敗和id參數。 id參數讓操作系統知道停止哪個後臺進程。你會在下一步中設置它。
然後,您需要在您的aps有效負載中設置類別值以匹配類別對象中的一個對象。你也應該在有效載荷對象的根中設置一個notId屬性。這是您傳遞給完成方法的參數,以便告訴操作系統推送事件的處理已完成。
{
"aps": {
"alert": "This is a notification that will be displayed ASAP.",
"category": "invite"
},
"notId": "1"
}
如果你的用戶點擊通知的主體,你的應用程序將被打開。但是,如果他們點擊任一操作按鈕,應用程序將打開(或啓動),並執行指定的JavaScript回調。
Note: Action buttons are only supported on iOS when you send directly to APNS. If you are using GCM to send to iOS devices you will lose this functionality.
我只是貼在https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#action-buttons-1
大的文檔這正是我一直在尋找。感謝您的深入解釋。 –
我剛剛複製了文檔。我將在插件repo上打開一個問題,指出這應該在API.md中提及,而不僅僅是在PAYLOAD.md上 – jcesarmobile