คุณมี 2 ตัวเลือกในการกำหนดลำดับความสำคัญของการนำส่งข้อความดาวน์สตรีมใน Android ได้แก่ สำคัญปกติและสำคัญสูง การส่งข้อความที่มีลําดับความสําคัญปกติและสูงทํางานดังนี้
ลําดับความสําคัญตามปกติ นี่คือลำดับความสำคัญเริ่มต้นสำหรับข้อความอินเทอร์เน็ต ระบบจะส่งข้อความที่มีลําดับความสําคัญปกติทันทีเมื่ออุปกรณ์ไม่ได้อยู่ในโหมดสลีป เมื่ออุปกรณ์อยู่ในโหมดสลีป การนำส่งอาจล่าช้าเพื่อประหยัดแบตเตอรี่จนกว่าอุปกรณ์จะออกจากโหมดสลีป สำหรับข้อความที่ไม่จําเป็นต้องส่งโดยเร็ว เช่น การแจ้งเตือนอีเมลใหม่ การรักษา UI ให้ซิงค์กัน หรือซิงค์ข้อมูลแอปในเบื้องหลัง ให้เลือกลําดับความสําคัญของการนำส่งแบบปกติ
เมื่อได้รับข้อความที่มีลําดับความสําคัญเป็นปกติใน Android ที่ขอการซิงค์ข้อมูลเบื้องหลังสําหรับแอป คุณสามารถกําหนดเวลางานด้วย WorkManager เพื่อจัดการเมื่อเครือข่ายพร้อมใช้งาน
สำคัญมาก FCM จะพยายามส่งข้อความที่มีลำดับความสำคัญสูงทันที ซึ่งจะช่วยให้ FCM ปลุกอุปกรณ์ที่กำลังหลับได้เมื่อจำเป็น และดำเนินการประมวลผลแบบจำกัดบางอย่าง (รวมถึงการเข้าถึงเครือข่ายแบบจำกัดมาก) โดยทั่วไปแล้ว ข้อความที่มีลำดับความสำคัญสูงควรส่งผลให้ผู้ใช้โต้ตอบกับแอปหรือการแจ้งเตือนของแอป
การจัดการข้อความและการลดลำดับความสำคัญใน Android
ข้อความที่มีลำดับความสำคัญสูงใน Android มีไว้สำหรับเนื้อหาที่มีความละเอียดอ่อนตามเวลาและแสดงต่อผู้ใช้ และควรส่งผลให้มีการแจ้งเตือนที่แสดงต่อผู้ใช้ หาก FCM ตรวจพบรูปแบบที่ข้อความไม่ทำให้เกิดการแจ้งเตือนที่แสดงต่อผู้ใช้ ระบบอาจลดลำดับความสำคัญของข้อความเป็นลำดับความสำคัญปกติหรือมอบหมายให้ Google Play Services จัดการ
FCM ใช้ข้อมูลพฤติกรรมของข้อความ 7 วันในการกำหนดว่าจะลดลำดับความสำคัญหรือใช้พร็อกซีกับข้อความหรือไม่ โดยระบบจะกำหนดนี้แยกกันสำหรับอินสแตนซ์แต่ละรายการของแอปพลิเคชัน หากการแจ้งเตือนแสดงในลักษณะที่ผู้ใช้มองเห็นเมื่อตอบสนองต่อข้อความที่มีลำดับความสำคัญสูง ข้อความที่มีลำดับความสำคัญสูงในอนาคตจะไม่ได้รับผลกระทบ
การมอบสิทธิ์การแจ้งเตือนด้วยบริการ Google Play
ข้อความการแจ้งเตือนที่มีลำดับความสำคัญสูง (ไม่ใช่ข้อความข้อมูล) ที่ตรงตามเกณฑ์บางอย่างจะได้รับการจัดการผ่านพร็อกซีโดย Google Play Services แทนที่จะลดลำดับความสำคัญ ซึ่งหมายความว่าบริการ Google Play จะแสดงการแจ้งเตือนในนามของแอปโดยไม่ต้องเริ่มแอป ทั้งนี้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานโดยรวมที่ดีขึ้นบนอุปกรณ์ Android
โปรดทราบว่าข้อความการแจ้งเตือนที่รับผ่านพร็อกซีจะทำให้เกิดการเปลี่ยนแปลงในวิธีรายงานข้อมูลวิเคราะห์ที่เกี่ยวข้องกับข้อความที่ได้รับ ดังนี้
- แอปของคุณต้องใช้ FCM SDK เวอร์ชัน 24.0.0 ขึ้นไปจึงจะรายงานข้อมูลวิเคราะห์สำหรับการแจ้งเตือนผ่านพร็อกซีได้
- คุณอาจสังเกตเห็นความล่าช้าหรือจำนวนข้อความที่ได้รับลดลงเมื่อเทียบกับจำนวนก่อนการแจ้งเตือนผ่านพร็อกซี ทั้งนี้เพราะ Analytics สำหรับการแจ้งเตือนผ่านพร็อกซีจะได้รับการรายงานเมื่อแอปของคุณเริ่มทำงานเท่านั้น และอาจไม่มีการรายงานเลยหากการแจ้งเตือนนั้นไม่ส่งผลให้มีการเปิดแอป
การใช้พร็อกซีสำหรับข้อความการแจ้งเตือนด้วยวิธีนี้เป็นลักษณะการทำงานเริ่มต้นสำหรับแอปที่ใช้ Android Q ขึ้นไปและบริการ Google Play เวอร์ชัน 19054000 ขึ้นไป ระบบจะใช้พร็อกซีกับข้อความที่ส่งผ่าน HTTP v1 API แต่จะไม่ใช้พร็อกซีกับข้อความที่ส่งผ่านคอนโซล Firebase หรือ API เดิม โปรดทราบว่าปัจจุบันฟีเจอร์นี้ ยังอยู่ในรุ่นเบต้าและอาจมีการเปลี่ยนแปลง
แม้ว่าเราจะแนะนําอย่างยิ่งให้เปิดใช้การมอบสิทธิ์ไว้เพื่อประโยชน์ต่อแบตเตอรี่และหน่วยความจำของอุปกรณ์ แต่คุณสามารถเลือกไม่ใช้ลักษณะการทำงานนี้ด้วยวิธีการใดก็ได้ต่อไปนี้
- ในระดับแอป: เพิ่มคำสั่ง
<meta-data android:name= "delivery_metrics_exported_to_big_query_enabled" android:value="false"/>
ในไฟล์ Manifest ของแอป - สำหรับอินสแตนซ์แอป: สำหรับอินสแตนซ์ของแอป ให้ตั้งค่า
fun setNotificationDelegationEnabled(disable: Boolean): Task<Void!>
ในขั้นตอน UI สำหรับแอป ทั้งนี้ขึ้นอยู่กับ Use Case เฉพาะ - ตามข้อความ: ตั้งค่าคีย์
proxy
เป็นDENY
ในออบเจ็กต์AndroidNotification
สำหรับคำขอส่ง
การวัดการลดลำดับความสำคัญของข้อความใน Android
ข้อความส่วนบุคคล เมื่อนำส่ง คุณสามารถตรวจสอบได้ว่ามีการลดลำดับความสำคัญของข้อความแต่ละรายการหรือไม่โดยเปรียบเทียบลำดับความสำคัญของข้อความที่ส่งจาก getPriority() กับลำดับความสำคัญเดิมจาก getOriginalPriority()
ข้อความทั้งหมด FCM Aggregate Delivery Data API สามารถรายงานเปอร์เซ็นต์ของข้อความทั้งหมดที่ส่งไปยัง Android ที่ถูกลดลำดับความสำคัญ ระบบอาจละเว้นข้อความบางรายการในรายงานข้อมูลรวม แต่โดยรวมแล้วรายงานควรให้มุมมองภาพรวมของอัตราการจัดลําดับความสําคัญของข้อความ ดูข้อมูลเพิ่มเติมและโค้ดตัวอย่างสําหรับการค้นหา API ได้จากบทความเกี่ยวกับข้อมูลการแสดงผลแบบรวม หรือจะดูจากเครื่องมือสํารวจ API ก็ได้
การแจ้งเตือนที่ผ่านพร็อกซี การแจ้งเตือนผ่านพร็อกซีจะไม่นับรวมในเมตริกการแสดงโฆษณาของ FCM หรือ GA ปัจจุบัน คุณจึงอาจพบว่าเมตริกการส่งการแจ้งเตือนลดลงสูงสุดถึง 15% สำหรับการรายงานเกี่ยวกับข้อความผ่านพร็อกซี ให้ใช้ FCM Aggregate Delivery Data API
ProxyNotificationInsightPercents
รายงานเปอร์เซ็นต์ของการแจ้งเตือนผ่านพร็อกซีสำเร็จ รวมถึงรายละเอียดของข้อความที่ส่งพร็อกซีไม่สำเร็จ
การแก้ปัญหา
ตรวจสอบว่าอินสแตนซ์แอปเปิดใช้การแจ้งเตือน หากผู้ใช้ปิดใช้สิทธิ์การแจ้งเตือนสำหรับแอปของคุณ ระบบจะไม่โพสต์การแจ้งเตือนใดๆ ของคุณ ส่งผลให้ข้อความของคุณไม่ได้รับการจัดลําดับความสําคัญ คุณควรตรวจสอบว่าการแจ้งเตือนเปิดอยู่ก่อนส่งข้อความที่มีลำดับความสำคัญสูงไปยังอินสแตนซ์ของแอปพลิเคชัน
โปรดอย่าโทรเข้าบ้านก่อนที่จะโพสต์การแจ้งเตือน เนื่องจากผู้ใช้อุปกรณ์เคลื่อนที่ Android บางส่วนใช้เครือข่ายที่มีเวลาในการตอบสนองสูง โปรดหลีกเลี่ยงการเปิดการเชื่อมต่อกับเซิร์ฟเวอร์ก่อนแสดงการแจ้งเตือน การเรียกกลับไปยังเซิร์ฟเวอร์ก่อนสิ้นสุดเวลาประมวลผลที่อนุญาตอาจเป็นความเสี่ยงสำหรับผู้ใช้ในเครือข่ายที่มีเวลาในการตอบสนองสูง แต่ให้ใส่เนื้อหาการแจ้งเตือนไว้ในข้อความ FCM แทน แล้วแสดงเนื้อหานั้นทันที หากต้องการซิงค์เนื้อหาในแอปเพิ่มเติมใน Android คุณสามารถกำหนดเวลางานด้วย WorkManager เพื่อจัดการเนื้อหาดังกล่าวในเบื้องหลัง