gRPC Transport
โมดูล PushwooshGRPC เป็นเลเยอร์การส่งข้อมูล gRPC ที่เป็นทางเลือก ซึ่งสามารถปรับปรุงประสิทธิภาพของเครือข่ายสำหรับการสื่อสารกับเซิร์ฟเวอร์ของ Pushwoosh ได้ เมื่อพร้อมใช้งาน SDK จะใช้ gRPC โดยอัตโนมัติสำหรับเมธอด API ที่รองรับ และจะกลับไปใช้ REST หาก gRPC ไม่พร้อมใช้งาน
วิธีการทำงาน
Anchor link toโดยค่าเริ่มต้น Pushwoosh SDK จะสื่อสารกับเซิร์ฟเวอร์โดยใช้ REST API ผ่าน HTTPS โมดูล PushwooshGRPC จะเพิ่มการส่งข้อมูลทางเลือกแบบ gRPC ซึ่งมีข้อดีหลายประการ:
- ความหน่วงต่ำกว่า — gRPC ใช้ HTTP/2 พร้อมการเชื่อมต่อแบบถาวร
- ขนาด payload เล็กกว่า — Protocol Buffers มีขนาดกะทัดรัดกว่า JSON
- การทำมัลติเพล็กซ์ (Multiplexing) — สามารถส่งคำขอหลายรายการผ่านการเชื่อมต่อเดียวได้
การกลับไปใช้ระบบสำรองอัตโนมัติ
Anchor link toโมดูลนี้มีความยืดหยุ่นในตัว:
| สถานการณ์ | การทำงาน |
|---|---|
| gRPC ใช้งานได้ | ใช้การส่งข้อมูลแบบ gRPC |
| gRPC ใช้งานไม่ได้ | กลับไปใช้ REST |
| เกิดข้อผิดพลาดของเครือข่าย | ลองใหม่อีกครั้งด้วย REST |
ข้อกำหนด
Anchor link to| ข้อกำหนด | เวอร์ชัน |
|---|---|
| iOS | 13.0+ |
| Xcode | 14.0+ |
| Swift | 5.0+ |
การติดตั้ง
Anchor link toSwift Package Manager
Anchor link toเพิ่ม PushwooshGRPC ไปยัง target ของคุณเมื่อทำการผสานรวม Pushwoosh SDK:
- ใน Xcode ไปที่ File → Add Package Dependencies
- ป้อน URL ของแพ็คเกจ:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - เลือก
PushwooshGRPCเพิ่มเติมนอกเหนือจากเฟรมเวิร์กที่จำเป็น
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshGRPC— การส่งข้อมูลแบบ gRPCPushwooshKeychain— Device ID แบบถาวรPushwooshLiveActivities— การรองรับ Live ActivitiesPushwooshVoIP— VoIP push notificationsPushwooshForegroundPush— การแจ้งเตือนเบื้องหน้าแบบกำหนดเอง
CocoaPods
Anchor link toเพิ่ม gRPC subspec ไปยัง Podfile ของคุณ:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshGRPC'endจากนั้นรัน:
pod installการใช้งาน
Anchor link toไม่จำเป็นต้องเปลี่ยนแปลงโค้ด เมื่อคุณเพิ่มโมดูล PushwooshGRPC ไปยังโปรเจกต์ของคุณแล้ว มันจะทำงานโดยอัตโนมัติ:
- เมื่อแอปเปิดตัว SDK จะตรวจจับว่าการส่งข้อมูลแบบ gRPC พร้อมใช้งาน
- การเรียก API จะถูกส่งผ่าน gRPC เมื่อเป็นไปได้
- หาก gRPC ล้มเหลว SDK จะกลับไปใช้ REST โดยอัตโนมัติ
เมธอดที่รองรับ
Anchor link toเมธอด API ต่อไปนี้รองรับการส่งข้อมูลแบบ gRPC:
| เมธอด | รองรับ gRPC |
|---|---|
| การลงทะเบียนอุปกรณ์ | ใช่ |
| แท็ก (ตั้งค่า/ดึงข้อมูล) | ใช่ |
| การติดตามการเปิดแอป | ใช่ |
| สถิติของพุช | ใช่ |
กรณีการใช้งาน
Anchor link toโมดูล PushwooshGRPC มีประโยชน์อย่างยิ่งสำหรับ:
- การติดตามอีเวนต์ความถี่สูง — ลด overhead สำหรับแอปที่ส่งอีเวนต์จำนวนมาก
- แอปพลิเคชันแบบเรียลไทม์ — ความหน่วงต่ำกว่าสำหรับการดำเนินการที่ต้องคำนึงถึงเวลา
- สภาพแวดล้อมที่แบนด์วิดท์จำกัด — ขนาด payload ที่เล็กกว่าช่วยประหยัดข้อมูล
การแก้ไขปัญหา
Anchor link toการตรวจสอบว่าโมดูลทำงานอยู่
Anchor link toตรวจสอบบันทึกของคอนโซล Xcode เมื่อแอปของคุณเปิดตัว คุณควรเห็นข้อความบันทึกเช่น:
[Pushwoosh] gRPC transport: ENABLEDการบังคับใช้การส่งข้อมูลแบบ REST
Anchor link toหากคุณต้องการปิดใช้งาน gRPC ชั่วคราวเพื่อการดีบัก คุณสามารถลบโมดูล PushwooshGRPC ออกจาก target ของคุณได้ SDK จะใช้การส่งข้อมูลแบบ REST โดยอัตโนมัติเมื่อ gRPC ไม่พร้อมใช้งาน