การปรับแต่งปลั๊กอิน Cordova
การแจ้งเตือนพุชในเบื้องหน้า (Foreground)
Anchor link toเมื่อได้รับการแจ้งเตือนพุชในเบื้องหลัง (background) จะไม่มีเหตุการณ์ (event) ใดเกิดขึ้นจนกว่าจะมีการคลิกที่การแจ้งเตือนพุชนั้น หลังจากที่เปิดแล้ว ปลั๊กอิน Pushwoosh จะส่งเหตุการณ์ push-receive
และ push-notification
เมื่อได้รับการแจ้งเตือนพุชในเบื้องหน้า (foreground) ปลั๊กอินจะส่งเหตุการณ์ push-receive
โดยอัตโนมัติ และสร้างการแจ้งเตือนใน Notification Center เมื่อการแจ้งเตือนนี้ถูกเปิด มันจะส่งเหตุการณ์ push-notification
คุณสามารถดักฟัง (listen) เหตุการณ์ push-receive
เพื่อตอบสนองต่อพุชได้ทันทีในกรณีที่ได้รับในเบื้องหน้า เช่น อัปเดตเนื้อหาในหน้าปัจจุบันของแอปของคุณ ในทางกลับกัน push-notification
ใช้เพื่อตอบสนองต่อเหตุการณ์การคลิกการแจ้งเตือน ซึ่งต้องการการโต้ตอบจากผู้ใช้ เช่น เพื่อนำทางภายในแอปของคุณ เริ่มกระบวนการใหม่ในแอปของคุณ เป็นต้น
หากต้องการเปลี่ยนลักษณะการแสดงผลของการแจ้งเตือนพุชในเบื้องหน้า คุณสามารถใช้การตั้งค่า IOS_FOREGROUND_ALERT_TYPE และ ANDROID_FOREGROUND_PUSH ได้
IOS_FOREGROUND_ALERT_TYPE
NONE
– ไม่แสดงการแจ้งเตือนเมื่อแอปอยู่ในเบื้องหน้า (ค่าเริ่มต้น)BANNER
– แสดงการแจ้งเตือนแบบแบนเนอร์ภายในแอปALERT
– การแจ้งเตือนแบบป๊อปอัป (alert)
ANDROID_FOREGROUND_PUSH
true
– ไม่จัดการพุชในเบื้องหน้าโดยอัตโนมัติfalse
– จัดการพุชในเบื้องหน้าโดยอัตโนมัติ (ค่าเริ่มต้น)
ตัวอย่าง:
cordova plugin add pushwoosh-cordova-plugin --variable IOS_FOREGROUND_ALERT_TYPE="ALERT" --variable ANDROID_FOREGROUND_PUSH="true"
เสียงพุชที่กำหนดเอง
Anchor link toหากต้องการเปิดใช้งานเสียงแจ้งเตือนที่กำหนดเองบน Android ให้วางไฟล์เสียงในโฟลเดอร์ www/res และระบุเสียงแต่ละไฟล์ใน config.xml
:
<?xml version=‘1.0’ encoding=‘utf-8’?><widget id="YOUR_ID" version="1.0.0" xmlns="http://www.w3.org/ns/widgets” xmlns:cdv=“http://cordova.apache.org/ns/1.0"> ... <platform name="android"> <allow-intent href="market:*" /> ... <-- Add this line for each sound --> <resource-file src="www/res/push.wav" target="res/raw/push.wav" /> </platform></widget>
เสียงที่กำหนดจะสามารถเข้าถึงได้ในเมนูดรอปดาวน์ Sound ของแผงควบคุม Send Push
สำหรับ iOS ไฟล์เสียงยังไม่ถูกเชื่อมโยงกับแอปพลิเคชัน Pushwoosh โดยอัตโนมัติ แต่สามารถใช้งานได้ด้วยตนเอง เช่น www/res/sound_name.wav
ไอคอนพุชที่กำหนดเอง
Anchor link toไอคอนการแจ้งเตือนพุชสามารถปรับแต่งบน Android ได้จากในเครื่อง (locally) โดยใช้ pw_notification
เป็นชื่อรีซอร์สสำหรับไอคอนนั้น (ดูตัวอย่าง 1 2); หรือปรับแต่งจากระยะไกล (remotely) โดยอ้างอิงชื่อรีซอร์สใดๆ ในการตั้งค่า Icon ในแผงควบคุม Send Push
ข้อมูลพุชที่กำหนดเอง
Anchor link toข้อมูลพุชที่กำหนดเองสามารถส่งได้โดยใช้การตั้งค่า Action ในแผงควบคุม Send Push หากต้องการรับและจัดการข้อมูลดังกล่าว ให้ใช้โค้ดต่อไปนี้:
document.addEventListener('push-notification', function(event) { var message = event.notification.message; // Push message var userData = event.notification.userdata; // Custom push data
if (userData) { // handle custom push data here } });
การควบคุมระดับ Log
Anchor link toเพื่อช่วยในการดีบักและการรวมระบบ โดยค่าเริ่มต้น SDK จะพิมพ์คำขอทั้งหมดไปยังคอนโซล เมื่อคุณพร้อมสำหรับเวอร์ชันโปรดักชัน ให้ตั้งค่าตัวแปร LOG_LEVEL
เป็นหนึ่งในค่าต่อไปนี้:
NONE
– ไม่มีล็อก (log) จาก SDKERROR
– แสดงเฉพาะข้อผิดพลาดในคอนโซลWARNING
– แสดงคำเตือนINFO
– แสดงข้อความข้อมูลDEBUG
– แสดงทุกอย่าง รวมถึงข้อมูลการดีบัก (ค่าเริ่มต้น)
ตัวอย่าง:
cordova plugin add pushwoosh-cordova-plugin --variable LOG_LEVEL="INFO"
Deep linking
Anchor link toเราขอแนะนำให้ใช้ https://github.com/EddyVerbruggen/Custom-URL-scheme
มันง่ายมากในการตั้งค่า deep link สำหรับ Cordova และสามารถทำงานร่วมกับฟังก์ชัน deep linking ของ Pushwoosh ได้ทันทีโดยไม่ต้องตั้งค่าเพิ่มเติม (out of the box)
คุณสามารถดูวิธีการติดตั้งและการใช้งานได้ใน คู่มือนี้ หรือใน เอกสารของปลั๊กอิน
Rich Media JS Bridge
Anchor link toคุณสามารถเรียกใช้ฟังก์ชัน JS ของคุณจาก Rich Media ใน Cordova WebView ผ่านทาง javascript interfaces
การเรียกจาก Rich Media ต้องมีรูปแบบดังต่อไปนี้:
<interface>.callFunction(‘<function_name>’, <params_string>)
ตัวอย่าง:
1. สร้าง Rich Media ด้วยการเรียก javascript:
testBridge.callFunction('testFunction', JSON.stringify({'param1' : 1, 'param2':'test'}))
2. เพิ่ม javascript interface ไปยังโปรเจกต์ของคุณ:
pushNotification.addJavaScriptInterface('testBridge');
3. เพิ่มฟังก์ชัน:
function testFunction(params) { alert("Bridge is working! " + params.param1 + " " + params.param2);}
การใช้ปลั๊กอิน Pushwoosh กับบริการ FCM อื่นๆ
Anchor link toหากแอปของคุณใช้ปลั๊กอินอื่นที่ต้องพึ่งพา firebase-messaging อาจส่งผลให้เกิดความขัดแย้ง หรือทำให้ปลั๊กอินตัวใดตัวหนึ่งทำงานไม่เป็นไปตามที่คาดไว้ เพื่อแก้ไขข้อขัดแย้งนี้ คุณสามารถเพิ่มคลาส FirebaseMessagingService
ที่กำหนดเองซึ่งจะทำหน้าที่ส่งต่อ (route) การแจ้งเตือนพุชระหว่างปลั๊กอินต่างๆ ปลั๊กอิน Pushwoosh Cordova มีเทมเพลตของคลาสนี้ซึ่งคุณสามารถใช้ตามที่เป็นอยู่เพื่อบังคับให้การแจ้งเตือนทั้งหมดผ่านตัวจัดการ (handler) ของ Pushwoosh หรือแก้ไขเพื่อจัดการการแจ้งเตือนจากผู้ให้บริการรายอื่นด้วย หากต้องการเปิดใช้งานเทมเพลต ให้ยกเลิกการคอมเมนต์ (uncomment) บรรทัดต่อไปนี้ในไฟล์ plugin.xml
ของปลั๊กอิน:
<service android:name="com.pushwoosh.plugin.pushnotifications.CustomFirebaseMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service>
แบ่งปันความคิดเห็นของคุณกับเรา
Anchor link toความคิดเห็นของคุณช่วยให้เราสร้างประสบการณ์ที่ดีขึ้น เราจึงยินดีที่จะรับฟังจากคุณหากคุณมีปัญหาใดๆ ในระหว่างขั้นตอนการรวม SDK หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดเห็นของคุณกับเรา ผ่านแบบฟอร์มนี้