การอ้างอิง API ของปลั๊กอิน Cordova
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
// ควรถูกเรียกใช้ก่อน pushwoosh.onDeviceReadydocument.addEventListener('push-notification', function(event) { var notification = event.notification; // จัดการการเปิด push ที่นี่});
// เริ่มต้น Pushwoosh ซึ่งจะทริกเกอร์การแจ้งเตือนแบบพุชที่รอดำเนินการทั้งหมดเมื่อเริ่มต้นpushwoosh.onDeviceReady({ appid: "XXXXX-XXXXX", projectid: "XXXXXXXXXXXXXXX", serviceName: "XXXX"});
pushwoosh.registerDevice( function(status) { var pushToken = status.pushToken; // จัดการการลงทะเบียนที่สำเร็จที่นี่ }, function(status) { // จัดการข้อผิดพลาดในการลงทะเบียนที่นี่ });
onDeviceReady
Anchor link toPushNotification.prototype.onDeviceReady = function( config )
[android, ios, wp8, windows] เริ่มต้นปลั๊กอิน Pushwoosh และทริกเกอร์ข้อความพุชเริ่มต้น ควรถูกเรียกใช้ทุกครั้งที่เปิดแอป
config.appid
– รหัสแอปพลิเคชัน Pushwoosh
config.projectid
– หมายเลขโปรเจกต์ GCM สำหรับแพลตฟอร์ม Android
config.serviceName
– ชื่อบริการ MPNS สำหรับแพลตฟอร์ม wp8
// เริ่มต้น Pushwoosh ด้วย projectid: "GOOGLE_PROJECT_NUMBER", appid : "PUSHWOOSH_APP_ID", serviceName : "WINDOWS_PHONE_SERVICE" ซึ่งจะทริกเกอร์การแจ้งเตือนแบบพุชที่รอดำเนินการทั้งหมดเมื่อเริ่มต้นpushwoosh.onDeviceReady({ appid : "XXXXX-XXXXX", projectid: "XXXXXXXXXXXXXXX", serviceName: "XXXX"});
registerDevice
Anchor link toPushNotification.prototype.registerDevice = function( success, fail )
[android, ios, wp8, windows] ลงทะเบียนอุปกรณ์สำหรับการแจ้งเตือนแบบพุชและดึงข้อมูล Push Token
success
– callback เมื่อสำเร็จ Push token จะถูกส่งเป็นพารามิเตอร์ “status.pushToken” ไปยัง callback นี้
fail
– callback เมื่อเกิดข้อผิดพลาด
pushwoosh.registerDevice( function(status) { alert("Registered with push token: " + status.pushToken); }, function(error) { alert("Failed to register: " + error); });
unregisterDevice
Anchor link toPushNotification.prototype.unregisterDevice = function( success, fail )
[android, ios, wp8, windows] ยกเลิกการลงทะเบียนอุปกรณ์จากการรับการแจ้งเตือนแบบพุช
success
– callback เมื่อสำเร็จ
fail
– callback เมื่อเกิดข้อผิดพลาด
setTags
Anchor link toPushNotification.prototype.setTags = function( config, success, fail )
[android, ios, wp8, windows] ตั้งค่าแท็กสำหรับอุปกรณ์
พารามิเตอร์
config
– อ็อบเจกต์ที่มีแท็กอุปกรณ์ที่กำหนดเอง
success
– callback เมื่อสำเร็จ Push token จะถูกส่งเป็นพารามิเตอร์ “status.pushToken” ไปยัง callback นี้
fail
– callback เมื่อเกิดข้อผิดพลาด
// ตั้งค่าแท็ก: “deviceName” ด้วยค่า “hello” และ “deviceId” ด้วยค่า 10pushwoosh.setTags({deviceName:"hello", deviceId:10}, function() { console.warn('setTags success'); }, function(error) { console.warn('setTags failed'); });
// ตั้งค่าแท็กรายการ "MyTag" ด้วยค่า (อาร์เรย์) "hello", "world"pushwoosh.setTags({"MyTag":["hello", "world"]});
getTags
Anchor link toPushNotification.prototype.getTags = function( success, fail )
[android, ios, wp8, windows] ส่งคืนแท็กสำหรับอุปกรณ์ รวมถึงแท็กเริ่มต้น
success
– callback เมื่อสำเร็จ รับแท็กเป็นพารามิเตอร์
fail
– callback เมื่อเกิดข้อผิดพลาด
pushwoosh.getTags( function(tags) { console.warn('tags for the device: ' + JSON.stringify(tags)); }, function(error) { console.warn('get tags error: ' + JSON.stringify(error)); });
getPushToken
Anchor link toPushNotification.prototype.getPushToken = function( success )
[android, ios, wp8, windows] ส่งคืน push token หากมีอยู่ โปรดทราบว่า token จะมาใน callback ของฟังก์ชัน registerDevice ด้วย
success
– callback เมื่อสำเร็จ
pushwoosh.getPushToken( function(token) { console.warn('push token: ' + token); });
getPushwooshHWID
Anchor link toPushNotification.prototype.getPushwooshHWID = function( success )
[android, ios, wp8, windows] ส่งคืน Pushwoosh HWID ที่ใช้สำหรับการสื่อสารกับ Pushwoosh API
success
– callback ของ getPushwooshHWID
pushwoosh.getPushwooshHWID( function(token) { console.warn('Pushwoosh HWID: ' + token); });
getRemoteNotificationStatus
Anchor link toPushNotification.prototype.getRemoteNotificationStatus = function( callback, error )
[android, ios] ส่งคืนสถานะโดยละเอียดของการอนุญาตการแจ้งเตือนแบบพุช
callback
– callback เมื่อสำเร็จ รับอ็อบเจกต์ที่มีคุณสมบัติดังต่อไปนี้:
{
”enabled” : แฟล็กเปิดใช้งานการแจ้งเตือน
”pushBadge” : ได้รับอนุญาตให้แสดง badge (สำหรับ iOS เท่านั้น)
”pushAlert” : ได้รับอนุญาตให้แสดง alert (สำหรับ iOS เท่านั้น)
”pushSound” : ได้รับอนุญาตให้เล่นเสียง (สำหรับ iOS เท่านั้น)
}
error
— callback เมื่อเกิดข้อผิดพลาด
setApplicationIconBadgeNumber
Anchor link toPushNotification.prototype.setApplicationIconBadgeNumber = function( badgeNumber )
[android, ios] ตั้งค่าหมายเลขบนไอคอนแอปพลิเคชัน (badge)
badgeNumber
– หมายเลขบนไอคอน (badge)
getApplicationIconBadgeNumber
Anchor link toPushNotification.prototype.getApplicationIconBadgeNumber = function( callback )
[android, ios] ส่งคืนหมายเลขบนไอคอนแอปพลิเคชัน (badge)
callback
– callback เมื่อสำเร็จ
pushwoosh.getApplicationIconBadgeNumber(function(badge){ alert(badge);} );
addToApplicationIconBadgeNumber
Anchor link toPushNotification.prototype.addToApplicationIconBadgeNumber = function( badgeNumber )
[android, ios] เพิ่มค่าให้กับหมายเลขบนไอคอนแอปพลิเคชัน (badge)
badgeNumber
— หมายเลขที่จะเพิ่มเข้าไปใน badge
getLaunchNotification
Anchor link toPushNotification.prototype.getLaunchNotification = function( callback )
[android, ios] ส่งคืน payload ของการแจ้งเตือนแบบพุชหากแอปถูกเปิดขึ้นจากการตอบสนองต่อการแจ้งเตือนแบบพุช หรือส่งคืน null
callback
– callback เมื่อสำเร็จ
clearLaunchNotification
Anchor link toPushNotification.prototype.clearLaunchNotification = function( callback )
[android, ios] ล้างการแจ้งเตือนเมื่อเปิดแอป, getLaunchNotification() จะส่งคืน null หลังจากการเรียกใช้ฟังก์ชันนี้
setUserId
Anchor link toPushNotification.prototype.setUserId = function( userId )
[android, ios] ตั้งค่าตัวระบุผู้ใช้ (User Identifier) เช่น Facebook ID, ชื่อผู้ใช้, อีเมล หรือ ID ผู้ใช้อื่นๆ ซึ่งช่วยให้สามารถจับคู่ข้อมูลและเหตุการณ์ต่างๆ ของผู้ใช้คนเดียวกันในอุปกรณ์หลายเครื่องได้
userId
– ตัวระบุผู้ใช้แบบสตริง
postEvent
Anchor link toPushNotification.prototype.postEvent = function( event, attributes )
[android, ios] โพสต์เหตุการณ์สำหรับข้อความในแอป (In-App Messages) ซึ่งสามารถทริกเกอร์การแสดงข้อความในแอปตามที่ระบุไว้ใน Pushwoosh Control Panel
event
– เหตุการณ์ที่ต้องการทริกเกอร์
attributes
– อ็อบเจกต์ที่มีแอตทริบิวต์เพิ่มเติมของเหตุการณ์
pushwoosh.setUserId("XXXXXX");pushwoosh.postEvent("buttonPressed", { "buttonNumber" : 4, "buttonLabel" : "banner" });
createLocalNotification
Anchor link toPushNotification.prototype.createLocalNotification = function( config, success, fail )
[android, ios] ตั้งเวลาการแจ้งเตือนในเครื่อง (local notification)
config.msg
– ข้อความแจ้งเตือน
config.seconds
– การหน่วงเวลาการแจ้งเตือนเป็นวินาที
config.userData
– ข้อมูลเพิ่มเติมที่จะส่งไปกับการแจ้งเตือน
success
– callback เมื่อสำเร็จ
fail
– callback เมื่อเกิดข้อผิดพลาด
pushwoosh.createLocalNotification({msg:"Your pumpkins are ready!", seconds:30, userData:{}})
clearLocalNotification
Anchor link toPushNotification.prototype.clearLocalNotification = function()
[android] ล้างการแจ้งเตือนในเครื่องที่รอดำเนินการทั้งหมดที่สร้างโดย createLocalNotification
clearNotificationCenter
Anchor link toPushNotification.prototype.clearNotificationCenter = function()
[android] ล้างการแจ้งเตือนทั้งหมดที่แสดงในศูนย์การแจ้งเตือน (Notification Center) ของ Android
setMultiNotificationMode
Anchor link toPushNotification.prototype.setMultiNotificationMode = function( success, fail )
[android] อนุญาตให้แสดงการแจ้งเตือนหลายรายการในศูนย์การแจ้งเตือน (Notification Center) ของ Android
setSingleNotificationMode
Anchor link toPushNotification.prototype.setSingleNotificationMode = function( success,fail )
[android] อนุญาตให้แสดงเฉพาะการแจ้งเตือนล่าสุดในศูนย์การแจ้งเตือน (Notification Center) ของ Android
setSoundType
Anchor link toPushNotification.prototype.setSoundType = function( type, success, fail )
[android] ตั้งค่าเสียงเริ่มต้นสำหรับการแจ้งเตือนแบบพุชที่เข้ามา
type
– ประเภทเสียง (0 – ค่าเริ่มต้น, 1 – ไม่มีเสียง, 2 – เล่นเสมอ)
setVibrateType
Anchor link toPushNotification.prototype.setVibrateType = function(type, success, fail )
[android] ตั้งค่าโหมดการสั่นเริ่มต้นสำหรับการแจ้งเตือนแบบพุชที่เข้ามา
type
– ประเภทการสั่น (0 – ค่าเริ่มต้น, 1 – ไม่สั่น, 2 – สั่นเสมอ)
setLightScreenOnNotification
Anchor link toPushNotification.prototype.setLightScreenOnNotification = function( on, success, fail )
[android] เปิดหน้าจอเมื่อได้รับการแจ้งเตือน
on
– เปิด/ปิดการปลดล็อกหน้าจอ (ค่าเริ่มต้นคือปิด)
setEnableLED
Anchor link toPushNotification.prototype.setEnableLED = function( on, success, fail )
[android] เปิดใช้งานไฟ LED ให้กระพริบเมื่อได้รับการแจ้งเตือนและหน้าจอดับอยู่
on
– เปิด/ปิดการกระพริบของ LED (ค่าเริ่มต้นคือปิด)
setColorLED
Anchor link toPushNotification.prototype.setColorLED = function( color, success, fail )
[android] ตั้งค่าสีของไฟ LED ใช้ร่วมกับ setEnableLED
color
– สีของ LED ในรูปแบบจำนวนเต็ม ARGB
getPushHistory
Anchor link toPushNotification.prototype.getPushHistory = function( success )
[android] ส่งคืนอาร์เรย์ของการแจ้งเตือนแบบพุชที่ได้รับ
success
– callback เมื่อสำเร็จ
pushwoosh.getPushHistory(function(pushHistory) { if(pushHistory.length == 0) alert("no push history"); else alert(JSON.stringify(pushHistory));});
pushwoosh.clearPushHistory();
clearPushHistory
Anchor link toPushNotification.prototype.clearPushHistory = function()
[android] ล้างประวัติการแจ้งเตือนแบบพุช
cancelAllLocalNotifications
Anchor link toPushNotification.prototype.cancelAllLocalNotifications = function( callback )
[ios] ล้างการแจ้งเตือนในเครื่องทั้งหมดออกจากศูนย์การแจ้งเตือน (notification center)
presentInboxUI
Anchor link to[android, ios] เปิดหน้าจอ กล่องข้อความ (Inbox)
PushNotification.prototype.presentInboxUI = function()
setCommunicationEnabled
Anchor link toเมธอดแบบไบนารีสำหรับเปิด/ปิดการสื่อสารทั้งหมดกับ Pushwoosh ค่าบูลีน false จะยกเลิกการสมัครรับการแจ้งเตือนแบบพุชของอุปกรณ์และหยุดการดาวน์โหลดข้อความในแอป ค่า true จะให้ผลตรงกันข้าม
PushNotification.prototype.setCommunicationEnabled = function(enable, success, fail)
removeAllDeviceData
Anchor link toลบข้อมูลทั้งหมดเกี่ยวกับอุปกรณ์
PushNotification.prototype.removeAllDeviceData = function()
push-receive
Anchor link to[android, ios] เหตุการณ์รับการแจ้งเตือนแบบพุช จะเกิดขึ้นเมื่อแอปพลิเคชันได้รับการแจ้งเตือนแบบพุชในขณะที่ทำงานอยู่เบื้องหน้า (foreground) หรือเบื้องหลัง (background) แอปพลิเคชันที่ปิดอยู่จะไม่ได้รับเหตุการณ์นี้
คุณสมบัติของเหตุการณ์
message
– (string
) ข้อความของการแจ้งเตือนแบบพุช
userdata
– (object
/array
) ข้อมูลที่กำหนดเองของการแจ้งเตือนแบบพุช
onStart
– (boolean
) เป็นการแจ้งเตือนเมื่อเปิดแอปหรือไม่
foreground
– (boolean
) ได้รับการแจ้งเตือนขณะแอปทำงานอยู่เบื้องหน้าหรือไม่
android
– (object
) payload การแจ้งเตือนเฉพาะของ Android
ios
– (object
) payload การแจ้งเตือนเฉพาะของ iOS
windows
– (object
) payload การแจ้งเตือนเฉพาะของ Windows
document.addEventListener('push-receive', function(event) { var userData = event.notification.userdata;
if (typeof(userData) != "undefined") { // จัดการข้อมูลการแจ้งเตือนที่กำหนดเอง console.warn('user data: ' + JSON.stringify(userData)); } });
การแจ้งเตือนเบื้องหน้า (Foreground notifications)
Anchor link toโดยค่าเริ่มต้น ปลั๊กอิน Pushwoosh จะไม่แสดงการแจ้งเตือนเมื่อแอปทำงานอยู่เบื้องหน้า และจะทริกเกอร์เหตุการณ์ push-receive
โดยอัตโนมัติ ดู คู่มือการปรับแต่งปลั๊กอิน สำหรับการควบคุมพฤติกรรมนี้
push-notification
Anchor link to[android, ios, wp8, windows] เหตุการณ์ยอมรับการแจ้งเตือนแบบพุช จะเกิดขึ้นเมื่อผู้ใช้แตะที่การแจ้งเตือนแบบพุช
document.addEventListener('push-notification', function(event) { var message = event.notification.message; var userData = event.notification.userdata;
if (typeof(userData) != "undefined") { console.warn('user data: ' + JSON.stringify(userData)); } });
คุณสมบัติของเหตุการณ์
เหมือนกับ push-receive
additionalAuthorizationOptions
Anchor link to[ios only] ให้ตัวเลือกเพิ่มเติมสำหรับ การขออนุญาตการแจ้งเตือน (additional notification authorization options) ควรถูกเรียกใช้ก่อนการเรียก registerDevice
pushwoosh.additionalAuthorizationOptions({ "UNAuthorizationOptionCriticalAlert" : 1, "UNAuthorizationOptionProvisional": 0 // ตั้งค่าเป็น 0 หรือไม่ต้องระบุตัวเลือกหากคุณไม่ต้องการเพิ่มลงในแอปของคุณ});