การตั้งค่า Badges
ตั้งแต่ Pushwoosh iOS SDK เวอร์ชัน 6.4.0 เป็นต้นไป กระบวนการจัดการและตั้งค่า Badges ผ่าน push notifications ได้มีการเปลี่ยนแปลง
หากก่อนหน้านี้คุณเคยใช้ตัวเลข Badges เพื่อแสดงจำนวน push notifications ที่ได้รับในแอปพลิเคชันของคุณ คุณจะต้องย้ายไปใช้ iOS SDK เวอร์ชันใหม่ (6.4.0 หรือใหม่กว่า) เวอร์ชันเก่าจะยังคงรองรับจนถึงสิ้นไตรมาสที่สองของปี 2022
อะไรเป็นตัวกำหนดค่า Badge
Anchor link toBadge จะมาจากตัว push เองเสมอ ไม่มีฟีเจอร์ใดของ Pushwoosh ที่ตั้งค่าหรือล้างค่านี้ด้วยตัวเอง การส่ง "ios_badges" ในคำขอ /createMessage (หรือฟิลด์ badges ใน Control Panel) จะเป็นการตั้งค่าทั้ง aps.badge (ค่าสัมบูรณ์) และ aps.pw_badge (ค่าส่วนต่าง) ใน payload ของ iOS ส่วน Android จะมีค่าที่เทียบเท่ากันใน pw_badges และต้องใช้โมดูล com.pushwoosh:pushwoosh-badge เพื่อนำไปใช้กับ launchers ที่รองรับ การบันทึก push ไปยัง Message Inbox จะไม่เป็นการตั้งค่าหรือเปลี่ยนแปลง Badge ทั้งสองอย่างเป็นผลกระทบที่แยกจากกันของ push เดียวกัน
วิธีการตั้งค่า Badges
Anchor link toในการตั้งค่า Badges ให้ทำตามขั้นตอนด้านล่าง:
- เพิ่ม Notification Service Extension (File -> New -> Target…)

- เลือก “Notification Service Extension”

- แทนที่คลาส
NotificationServiceที่สร้างขึ้นด้วยคลาสย่อยของPushwooshNotificationServiceExtensionทาง Pushwoosh จะจัดการการนับ Badge, event การส่ง, การดาวน์โหลดไฟล์แนบ และการจัดการเมื่อหมดเวลาให้คุณ:
import PushwooshFramework
class NotificationService: PushwooshNotificationServiceExtension {}#import <PushwooshFramework/PushwooshFramework.h>
@interface NotificationService : PushwooshNotificationServiceExtension@end
@implementation NotificationService@end-
เพิ่มความสามารถ App Groups ให้กับ ทั้งสอง targets — แอปหลักและ Notification Service Extension — และใช้ App Group เดียวกันสำหรับทั้งสอง
-
เพิ่ม App Group ID ไปยัง
info.plistของ แอปหลัก:
<key>PW_APP_GROUPS_NAME</key><string>group.com.example.demoapp_example</string>
extension จะสืบทอดค่านี้มาจากแอปโฮสต์ ดังนั้นคุณไม่จำเป็นต้องใส่ซ้ำใน info.plist ของ extension — ให้เพิ่มเข้าไปในกรณีที่ต้องการจะแทนที่ค่าของโฮสต์เท่านั้น
หากคุณไม่ต้องการใช้ไฟล์ info.plist คุณสามารถระบุ App Group ในโค้ดได้โดยการ override pushwooshAppGroupsName ในคลาส NotificationServiceExtension ของคุณ:
override func pushwooshAppGroupsName() -> String? { "group.com.example.demoapp_example"}- (NSString *)pushwooshAppGroupsName { return @"group.com.example.demoapp_example";}ส่ง push notification พร้อม Badges
Anchor link toหากคุณต้องการส่ง push notification พร้อม Badges จาก Pushwoosh Control Panel เพียงแค่เพิ่มค่า Badge ที่ต้องการลงในช่องข้อความ badges ดังที่แสดงในภาพด้านล่าง:

แบ่งปันความคิดเห็นของคุณกับเรา
Anchor link toความคิดเห็นของคุณช่วยให้เราสร้างประสบการณ์ที่ดีขึ้น เราจึงยินดีที่จะรับฟังจากคุณหากคุณมีปัญหาใดๆ ในระหว่างขั้นตอนการผสานรวม SDK หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดของคุณกับเรา ผ่านแบบฟอร์มนี้