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

การปรับแต่งปลั๊กอิน Cordova

Push notifications ในเบื้องหน้า (foreground)

Anchor link to

เมื่อได้รับ push ในเบื้องหลัง (background) จะไม่มี event ใดๆ เกิดขึ้นจนกว่าจะมีการคลิกที่ push notification หลังจากที่เปิดแล้ว Pushwoosh plugin จะส่ง event push-receive และ push-notification

เมื่อได้รับ push ในเบื้องหน้า (foreground) plugin จะส่ง push-receive โดยอัตโนมัติ และสร้างการแจ้งเตือนใน Notification Center เมื่อการแจ้งเตือนนี้ถูกเปิด มันจะส่ง push-notification

คุณสามารถดักฟัง event push-receive เพื่อตอบสนองต่อ push ทันทีในกรณีที่ได้รับในเบื้องหน้า เช่น อัปเดตเนื้อหาในหน้าปัจจุบันของแอปของคุณ ในทางกลับกัน push-notification จะใช้เพื่อตอบสนองต่อ event การคลิกการแจ้งเตือน ซึ่งต้องการการโต้ตอบจากผู้ใช้ เช่น เพื่อนำทางภายในแอปของคุณ, เริ่มกระบวนการใหม่ในแอปของคุณ เป็นต้น

หากต้องการเปลี่ยนลักษณะการแสดงผลของ push notification ในเบื้องหน้า คุณสามารถใช้ preference IOS_FOREGROUND_ALERT_TYPE และ ANDROID_FOREGROUND_PUSH ได้:

IOS_FOREGROUND_ALERT_TYPE

  • NONE – ไม่แสดงการแจ้งเตือนเมื่อแอปอยู่ในเบื้องหน้า (ค่าเริ่มต้น)
  • BANNER – แสดงการแจ้งเตือนแบบแบนเนอร์ในแอป
  • ALERT – การแจ้งเตือนแบบ alert

ANDROID_FOREGROUND_PUSH

  • true – ไม่จัดการ push ในเบื้องหน้าโดยอัตโนมัติ
  • false – จัดการ push ในเบื้องหน้าโดยอัตโนมัติ (ค่าเริ่มต้น)

ตัวอย่าง:

cordova plugin add pushwoosh-cordova-plugin --variable IOS_FOREGROUND_ALERT_TYPE="ALERT" --variable ANDROID_FOREGROUND_PUSH="true"

เสียง push ที่กำหนดเอง

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>

เสียงจะสามารถเข้าถึงได้ในเมนู dropdown Sound ของแผง Send Push

บน iOS ไฟล์เสียงยังไม่ถูกเชื่อมโยงกับ Pushwoosh Application โดยอัตโนมัติ แต่สามารถใช้งานได้ด้วยตนเอง เช่น www/res/sound_name.wav

ไอคอน push ที่กำหนดเอง

Anchor link to

ไอคอน Push notification สามารถปรับแต่งบน Android ได้ในเครื่องโดยใช้ pw_notification เป็นชื่อ resource สำหรับไอคอนดังกล่าว (ดูตัวอย่าง 1 2); หรือจากระยะไกลโดยอ้างอิงชื่อ resource ใดๆ ในการตั้งค่า Icon ในแผง Send Push

ข้อมูล push ที่กำหนดเอง

Anchor link to

ข้อมูล push ที่กำหนดเองสามารถส่งได้โดยใช้การตั้งค่า 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 จะพิมพ์คำขอทั้งหมดไปยังคอนโซลโดยค่าเริ่มต้น เมื่อคุณพร้อมสำหรับ build ที่จะใช้งานจริง ให้ตั้งค่าตัวแปร 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 links สำหรับ Cordova และทำงานร่วมกับฟังก์ชัน deep linking ของ Pushwoosh ได้ทันที

คุณสามารถดูการติดตั้งและการใช้งานได้ในคู่มือนี้ หรือใน เอกสารของปลั๊กอิน

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 ที่กำหนดเองซึ่งจะส่งต่อ push notifications ระหว่างปลั๊กอินต่างๆ ปลั๊กอิน Pushwoosh Cordova มีเทมเพลตของคลาสนี้ซึ่งคุณสามารถใช้ตามที่เป็นอยู่เพื่อบังคับให้การแจ้งเตือนทั้งหมดผ่านตัวจัดการของ Pushwoosh หรือแก้ไขเพื่อจัดการการแจ้งเตือนจากผู้ให้บริการรายอื่นด้วย หากต้องการเปิดใช้งานเทมเพลต ให้ยกเลิกการคอมเมนต์บรรทัดต่อไปนี้ใน 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 หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดของคุณกับเรา ผ่านแบบฟอร์มนี้