คำถามที่พบบ่อยเกี่ยวกับ iOS SDK
คำถามที่พบบ่อยเกี่ยวกับการผสานรวม iOS
Anchor link toถาม: ฉันจะติดตั้ง Pushwoosh SDK ลงในโปรเจกต์ iOS ของฉันได้อย่างไร
Anchor link toคุณสามารถผสานรวม Pushwoosh SDK โดยใช้ Swift Package Manager หรือ CocoaPods
ถาม: ฉันจะติดตั้ง Pushwoosh SDK โดยใช้ Swift Package Manager ได้อย่างไร
Anchor link toใน Xcode ไปที่ส่วน Package Dependencies และเพิ่ม package โดยใช้ URL ต่อไปนี้: https://github.com/Pushwoosh/Pushwoosh-XCFramework
ถาม: ฉันจะติดตั้ง Pushwoosh SDK โดยใช้ CocoaPods ได้อย่างไร
Anchor link toเปิด Podfile ของโปรเจกต์ของคุณและเพิ่มบรรทัด pod 'PushwooshXCFramework' จากนั้นรันคำสั่ง pod install ใน terminal
ถาม: ฉันต้องเพิ่ม capabilities ใดบ้างในโปรเจกต์ของฉันเพื่อเปิดใช้งาน Push Notifications
Anchor link toในส่วน Signing & Capabilities ของการตั้งค่าโปรเจกต์ของคุณ คุณต้องเพิ่ม capabilities Push Notifications และ Background Modes เมื่อเพิ่ม Background Modes ตรวจสอบให้แน่ใจว่าคุณได้เลือกช่องสำหรับ Remote notifications
ถาม: ต้องใช้ capability เพิ่มเติมใดสำหรับ Time Sensitive Notifications
Anchor link toหากคุณต้องการใช้ Time Sensitive Notifications (iOS 15+) คุณต้องเพิ่ม capability Time Sensitive Notifications ด้วย
ถาม: ฉันต้องเพิ่มโค้ดเริ่มต้นของ Pushwoosh ที่ไหน
Anchor link toต้องเพิ่มโค้ดเริ่มต้นในคลาส AppDelegate ของคุณ
ถาม: ฉันควรเพิ่มโค้ดเริ่มต้นใดใน AppDelegate ของ SwiftUI
Anchor link toโปรดดู ตัวอย่างโค้ด Swift ที่ให้ไว้สำหรับการผสานรวม Pushwoosh ในโปรเจกต์ SwiftUI
ถาม: ฉันควรเพิ่มโค้ดเริ่มต้นใดใน AppDelegate ของ Swift มาตรฐาน
Anchor link toโปรดดู ตัวอย่างโค้ด Swift ที่ให้ไว้สำหรับการผสานรวม Pushwoosh ในโปรเจกต์ Swift มาตรฐาน
ถาม: ฉันควรเพิ่มโค้ดเริ่มต้นใดใน AppDelegate ของ Objective-C
Anchor link toโปรดดู ตัวอย่างโค้ด Objective-C ที่ให้ไว้สำหรับการผสานรวม Pushwoosh ในโปรเจกต์ Objective-C
ถาม: ฉันต้องเพิ่มคีย์ใดบ้างในไฟล์ Info.plist ของฉัน
Anchor link toคุณต้องเพิ่มคีย์ Pushwoosh_APPID ที่ตั้งค่าเป็น Application Code ของคุณ และคีย์ PW_API_TOKEN ที่ตั้งค่าเป็น API Token ของคุณในไฟล์ Info.plist ของแอป
ถาม: วัตถุประสงค์ของการติดตามการส่งข้อความคืออะไร
Anchor link toPushwoosh รองรับการติดตามเหตุการณ์การส่งสำหรับการแจ้งเตือนแบบพุชโดยใช้ Notification Service Extension
ถาม: ฉันจะเพิ่ม Notification Service Extension ในโปรเจกต์ของฉันได้อย่างไร
Anchor link toใน Xcode ไปที่ File > New > Target… เลือก Notification Service Extension และกด Next ป้อนชื่อ target แล้วกด Finish เมื่อได้รับแจ้งให้เปิดใช้งาน ให้กด Cancel
ถาม: ฉันจะเพิ่ม Pushwoosh SDK ไปยัง Notification Service Extension ได้อย่างไร
Anchor link toเพิ่ม ตัวอย่างโค้ด Swift หรือ Objective-C ที่ให้ไว้ ไปยังไฟล์ .swift หรือ .m หลักของ Notification Service Extension ของคุณ โค้ดนี้ใช้ PWNotificationExtensionManager เพื่อจัดการคำขอการแจ้งเตือน
ถาม: วัตถุประสงค์ของ App Groups คืออะไร
Anchor link toจำเป็นต้องมี capability ของ App Groups เพื่อให้ Notification Service Extension สามารถสื่อสารกับแอปพลิเคชันหลักได้
ถาม: ฉันจะเปิดใช้งาน App Groups สำหรับ target หลักและ Notification Service Extension ของฉันได้อย่างไร
Anchor link toสำหรับทั้งสอง target ไปที่ Signing & Capabilities เพิ่ม capability App Groups และสร้างกลุ่มใหม่โดยกดปุ่ม + ตรวจสอบให้แน่ใจว่าชื่อกลุ่มขึ้นต้นด้วย group. และใช้ชื่อกลุ่มเดียวกันสำหรับทั้งสอง target
ถาม: ฉันต้องเพิ่มคีย์ใดบ้างใน Info.plist ของ target หลักสำหรับ App Groups
Anchor link toใน Info.plist ของ target หลักของคุณ ให้เพิ่มคีย์ PW_APP_GROUPS_NAME และตั้งค่าเป็นชื่อกลุ่ม App Groups ของคุณ
ถาม: ฉันต้องเพิ่มคีย์ใดบ้างใน Info.plist ของ Notification Service Extension ของฉัน
Anchor link toใน Info.plist ของ Notification Service Extension ของคุณ ให้เพิ่มคีย์ PW_APP_GROUPS_NAME (ตั้งค่าเป็นชื่อ App Groups ของคุณ) และคีย์ Pushwoosh_APPID (ตั้งค่าเป็น Application Code ของคุณ)
ถาม: ฉันจะตรวจสอบการผสานรวม Pushwoosh ได้อย่างไร
Anchor link toหลังจากสร้างและรันโปรเจกต์ของคุณแล้ว ให้ไปที่ Pushwoosh Control Panel และส่งการแจ้งเตือนแบบพุชไปยังแอปพลิเคชันของคุณ คุณควรเห็นการแจ้งเตือนปรากฏบนอุปกรณ์ของคุณ
ถาม: callback หลักสองตัวสำหรับการจัดการการแจ้งเตือนแบบพุชใน Pushwoosh SDK คืออะไร
Anchor link tocallback หลักสองตัวคือ onMessageReceived และ onMessageOpened
ถาม: callback onMessageReceived ถูกเรียกใช้เมื่อใด
Anchor link toเมธอด onMessageReceived จะถูกเรียกเมื่อแอปพลิเคชันได้รับการแจ้งเตือนแบบพุช
ถาม: callback onMessageOpened ถูกเรียกใช้เมื่อใด
Anchor link toเมธอด onMessageOpened จะถูกเรียกเมื่อผู้ใช้โต้ตอบและเปิดการแจ้งเตือนแบบพุช
ถาม: ฉันจะเข้าถึง payload ของการแจ้งเตือนแบบพุชที่ได้รับหรือเปิดได้อย่างไร
Anchor link topayload ของอ็อบเจกต์ PWMessage (ที่ส่งไปยัง callback onMessageReceived และ onMessageOpened) สามารถเข้าถึงได้ผ่านคุณสมบัติ payload ของมัน
ถาม: ฉันจะตั้งค่า User ID ใน Pushwoosh ได้อย่างไร
Anchor link toใช้เมธอด setUserId(_:) ของอ็อบเจกต์ Pushwoosh.sharedInstance() โดยส่ง ID ของผู้ใช้เป็นอาร์กิวเมนต์
ถาม: ฉันจะตั้งค่าที่อยู่อีเมลของผู้ใช้ใน Pushwoosh ได้อย่างไร
Anchor link toใช้เมธอด setEmail(_:) ของอ็อบเจกต์ Pushwoosh.sharedInstance() โดยระบุอีเมลของผู้ใช้
ฉันจะตั้งค่าข้อมูลผู้ใช้เพิ่มเติมเป็น tag ใน Pushwoosh ได้อย่างไร
Anchor link toใช้เมธอด setTags(_:) ของอ็อบเจกต์ Pushwoosh.sharedInstance() โดยส่ง dictionary ที่คีย์เป็นชื่อ tag และค่าเป็นค่า tag ที่สอดคล้องกัน
ฉันจะติดตาม event ของผู้ใช้พร้อมกับ attribute เพิ่มเติมได้อย่างไร**
Anchor link toใช้เมธอด postEvent(_:withAttributes:) ของ PWInAppManager.shared() โดยระบุชื่อ event (เช่น "login") และ dictionary ของ attribute (เช่น "name", "last_login")
ถาม: ฉันจะติดตาม event การซื้อของผู้ใช้พร้อมรายละเอียดสินค้าได้อย่างไร
Anchor link toใช้เมธอด postEvent(_:withAttributes:) ของ PWInAppManager.shared() ด้วยชื่อ event "purchase" และ dictionary ที่มีรายละเอียดสินค้า เช่น "product_id", "product_name", "price" และ "quantity"
ถาม: ฉันจะตั้งค่า delegate เพื่อจัดการการนำเสนอ rich media ได้อย่างไร
Anchor link toใน view controller ของคุณหรือคลาสที่เหมาะสมอื่น ๆ ให้สอดคล้องกับโปรโตคอล PWRichMediaPresentingDelegate และตั้งค่าคุณสมบัติ delegate ของ PWRichMediaManager.shared() เป็นอินสแตนซ์ที่สอดคล้องของคุณ
ถาม: ฉันจะกำหนดค่ารูปแบบการนำเสนอของ rich media ได้อย่างไร
Anchor link toใช้อ็อบเจกต์ PWModalWindowConfiguration.shared() เพื่อกำหนดค่าคุณสมบัติต่างๆ เช่น ตำแหน่งหน้าต่างโมดอล และแอนิเมชันการนำเสนอ/ปิด โดยใช้เมธอด configureModalWindow(with:present:dismiss:)
ถาม: ฉันสามารถเข้าถึงข้อมูลใดได้บ้างในเมธอด delegate ของ rich media**
Anchor link toเมธอด delegate ให้การเข้าถึงอ็อบเจกต์ PWRichMedia ซึ่งมีข้อมูลเกี่ยวกับเนื้อหา rich media รวมถึง pushPayload ของมัน เมธอด presentingDidFailForRichMedia:withError: ยังให้อ็อบเจกต์ Error ที่อธิบายถึงความล้มเหลวด้วย
การแก้ไขปัญหา
Anchor link toถาม: ข้อผิดพลาด “Your provisioning profile does not have APS entry”
Anchor link toหากคุณเห็นข้อความแสดงข้อผิดพลาด “Your provisioning profile does not have APS entry.” ตรวจสอบให้แน่ใจว่า provisioning profile ของคุณเข้ากันได้กับ push และมีสตริง aps-environment อยู่ในนั้นพร้อมกับค่า production หรือ development วิธีที่ง่ายที่สุดในการตรวจสอบคือการเปิด mobile provisioning profile ในโปรแกรมแก้ไขข้อความใดๆ และมองหาสตริง aps-environment ซึ่งควรจะอยู่ที่นั่น
หากมีอยู่แล้ว และคุณยังคงได้รับข้อผิดพลาด แสดงว่า XCode ยังคงเลือกโปรไฟล์ที่ “ไม่รองรับ push” โปรดตรวจสอบให้แน่ใจว่าคุณได้ลงนามด้วยโปรไฟล์ที่ถูกต้อง - บางครั้งหากคุณมีสองโปรไฟล์สำหรับ App ID เดียวกัน XCode อาจทำให้เกิดความสับสนและลงนามด้วยโปรไฟล์เก่า
ขั้นตอนที่แนะนำคือ:
- ลบ โปรไฟล์ XCode ทั้งหมด
- เพิ่มโปรไฟล์ใหม่เพียงโปรไฟล์เดียว
- สร้างแอปขึ้นมาใหม่
ถาม: iOS push token และ hwid มีลักษณะอย่างไร
Anchor link toiOS device push token เป็นสตริงที่มีสัญลักษณ์เลขฐานสิบหก 64 ตัวอย่าง push token:
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
ตรวจสอบให้แน่ใจว่า iOS push token ที่คุณใช้เมื่อกำหนดเป้าหมายอุปกรณ์เฉพาะในคำขอ API ของคุณเป็นตัวพิมพ์เล็ก
Pushwoosh ใช้ IDFV เป็น HWID ของอุปกรณ์ โปรดทราบว่าอาจมีการเปลี่ยนแปลงในกรณีที่ผู้ใช้ติดตั้งแอปทั้งหมดจากผู้จำหน่ายรายเดียวกันใหม่
CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
ถาม: ฉันจะเปิดและปิดแบนเนอร์เมื่อแอปของฉันกำลังทำงานได้อย่างไร
Anchor link toโดยค่าเริ่มต้น iOS SDK ล่าสุดของเราจะแสดงแบนเนอร์การแจ้งเตือนเมื่อแอปทำงานในเบื้องหน้า (foreground)
คุณสามารถควบคุมพฤติกรรมนี้ได้โดยการเปลี่ยน flag ต่อไปนี้ใน Info.plist:
Flag Pushwoosh_ALERT_TYPE – ประเภทสตริง ค่าคือ:
BANNER– ค่าเริ่มต้น แสดงการแจ้งเตือนแบนเนอร์ในแอปALERT– การแจ้งเตือนแบบ alertNONE– ไม่แสดงการแจ้งเตือนเมื่อแอปอยู่ในเบื้องหน้า
ถาม: ฉันจะรับ iOS device push token ของฉันเพื่อใช้ใน Test Devices ได้อย่างไร
Anchor link toหากต้องการรับ iOS device push token ของคุณ
- เปิด Xcode => Devices & Simulators;
- เชื่อมต่ออุปกรณ์ทดสอบกับคอมพิวเตอร์ของคุณ
- เลือกอุปกรณ์ที่เชื่อมต่อของคุณในรายการอุปกรณ์ทางด้านซ้าย
- คลิกปุ่ม Open Console

เปิดแอปพลิเคชันที่คุณต้องการ device push token และค้นหา device push token ที่เป็นอักขระเลขฐานสิบหก 64 ตัวของคุณในบรรทัด “Registered for push notifications”:

ถาม: ทำไม badge ถึงไม่ถูกล้างหลังจากที่ฉันถอนการติดตั้งแอปและติดตั้งใหม่ในระยะเวลาสั้นๆ
Anchor link toนี่เป็นพฤติกรรมที่คาดไว้ - badge จะถูกจัดการโดย iOS เองและค่าของมันจะถูกเก็บไว้ในการตั้งค่าของแอปพลิเคชัน ซึ่งจะไม่ถูกลบออกทันทีเมื่อคุณถอนการติดตั้งแอปของคุณ ค่า badge จะยังคงอยู่ที่นั่นชั่วขณะหนึ่งในกรณีที่มีการติดตั้งใหม่ทันที ส่งผลให้ badge เดิมยังคงแสดงอยู่หลังจากติดตั้งแอปใหม่