ในงานนำเสนอ "มีอะไรใหม่พร้อมมัลติทาสกิ้ง" ของ WWDC 2013 มีหัวข้อเกี่ยวกับ Silent Push Notifications ดูเหมือนตรงไปตรงมา ตามการนำเสนอหากคุณส่งเพย์โหลด APS พร้อมกับชุดเนื้อหาที่พร้อมใช้งานเป็น 1 ผู้ใช้จะไม่ได้รับการแจ้งเตือน
// A. This doesn't work
{
aps: {
content-available: 1
}
}
การทดสอบของฉันแสดงให้เห็นว่าสิ่งนี้ไม่ได้ผลเนื่องจากไม่มีการกดรับ แต่ถ้าฉันรวมแอตทริบิวต์เสียง แต่ไม่รวมแอตทริบิวต์การแจ้งเตือนก็ใช้งานได้ (แม้ว่าจะไม่เงียบอีกต่อไป)
// B. This works
{
aps: {
content-available: 1,
sound: "default"
}
}
อย่างไรก็ตามหากฉันเปลี่ยนแอตทริบิวต์เสียงเพื่อเล่นเสียงที่เงียบฉันสามารถเลียนแบบการกดแบบเงียบ
// C. This works too.
{
aps: {
content-available: 1,
sound: "silence.wav"
}
}
มีใครรู้บ้าง:
- ถ้านี่เป็นข้อผิดพลาด?
- และถ้าถูกต้องให้ถือว่า B หรือ C เป็น Remote Notification (ไม่ใช่จุดบกพร่องของ Silent Push ที่คุณต้องการคุณสมบัติเสียง)? ถ้าเป็นเช่นนั้นหมายความว่าไม่ จำกัด อัตราเช่น Silent Pushes are ... ซึ่ง Apple น่าจะแก้ไขได้ ดังนั้นฉันคงไม่ควรพึ่งพามัน
- ขีด จำกัด อัตราคือเท่าใด (N ผลักทุกๆ X วินาที ฯลฯ )
ขอบคุณล่วงหน้า.
แก้ไขด้วยข้อมูลเพิ่มเติม
สำหรับ A สถานะของแอปพลิเคชันไม่สำคัญ ไม่เคยได้รับการแจ้งเตือน
ดูเหมือนว่า B และ C จะใช้ได้ก็ต่อเมื่อคุณใส่แอตทริบิวต์และค่าไว้ในเครื่องหมายคำพูดเช่นด้านล่าง
{"aps":{"content-available": 1, "sound":"silent.wav"}}
และการแจ้งเตือนมาถึงในแอปพลิเคชัน: didReceiveRemoteNotification: fetchCompletionHandler:โดยไม่คำนึงถึงสถานะ