ข้ามไปยังเนื้อหา

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
ข้อกำหนดเวอร์ชัน
iOS13.0+
Xcode14.0+
Swift5.0+

การติดตั้ง

Anchor link to

Swift Package Manager

Anchor link to

เพิ่ม PushwooshGRPC ไปยัง target ของคุณเมื่อทำการผสานรวม Pushwoosh SDK:

  1. ใน Xcode ไปที่ File → Add Package Dependencies
  2. ป้อน URL ของแพ็คเกจ: https://github.com/Pushwoosh/Pushwoosh-XCFramework
  3. เลือก PushwooshGRPC เพิ่มเติมนอกเหนือจากเฟรมเวิร์กที่จำเป็น
  • PushwooshFramework
  • PushwooshCore
  • PushwooshBridge

เพิ่ม gRPC subspec ไปยัง Podfile ของคุณ:

target 'MyApp' do
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshXCFramework/PushwooshGRPC'
end

จากนั้นรัน:

Terminal window
pod install

การใช้งาน

Anchor link to

ไม่จำเป็นต้องเปลี่ยนแปลงโค้ด เมื่อคุณเพิ่มโมดูล PushwooshGRPC ไปยังโปรเจกต์ของคุณแล้ว มันจะทำงานโดยอัตโนมัติ:

  1. เมื่อแอปเปิดตัว SDK จะตรวจจับว่าการส่งข้อมูลแบบ gRPC พร้อมใช้งาน
  2. การเรียก API จะถูกส่งผ่าน gRPC เมื่อเป็นไปได้
  3. หาก 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 ไม่พร้อมใช้งาน