ข้ามไปยังเนื้อหา

การปรับแต่งปลั๊กอิน 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) จาก SDK
  • ERROR – แสดงเฉพาะข้อผิดพลาดในคอนโซล
  • 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 หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดเห็นของคุณกับเรา ผ่านแบบฟอร์มนี้