Skip to content

คำถามที่พบบ่อย (FAQ)

รวบรวมคำถามที่นักพัฒนามักสงสัย คลายข้อข้องใจเพื่อความมั่นใจในการวางระบบ Real-time เข้ากับแอปพลิเคชันของคุณ


Q1: ฉันต้องใช้ SDK ของภาษาเฉพาะไหมจึงจะเชื่อมต่อได้?

A: ไม่จำเป็นเลยครับ! RawPush ยึดมั่นบน Zero SDK แค่ภาษาของคุณ ไม่ว่าจะเป็น Javascript, Python, Go, Java, Swift, Kotlin หรือแม้แต่ IoT C++ (Arduino/ESP32)... ทั้งหมดนี้ล้วนมี WebSocket library มาตรฐาน รองรับทั้งสิ้น ก็สามารถเขียนโค้ดไม่กี่สิบบรรทัด คุยกับ Server เราผ่าน JSON ได้ทันที

Q2: หากอินเทอร์เน็ต Client หลุด จะได้ข้อมูลย้อนหลัง (Message History) หรือไม่?

A: คำตอบคือ "ไม่" ครับ RawPush ออกแบบมาเป็น Real-time Fire & Forget (ส่งแล้วจบ ไม่เก็บข้อมูลย้อนหลัง)

คำแนะนำสำหรับ Developer: หากต้องการให้ผู้ใช้ดึงข้อมูลย้อนหลังได้เมื่อ Reconnect แนะนำให้ Backend เก็บ History เอง แล้วให้ Client ดึงข้อมูลเก่าผ่าน Fetch History API ตอน Reconnect

Q3: ส่งข้อมูล (Data Payload) ได้เยอะแค่ไหนต่อครั้ง?

A: Payload ไม่เกิน 10 KB ต่อ 1 request ถ้าส่งแค่ข้อความ text หรือ JSON ชิ้นเล็กๆ ก็เหลือเฟือ แต่ย้ำว่า RawPush ไม่ใช่บริการส่งไฟล์ (File Upload/CDN) หากต้องการส่งรูปภาพ ให้ upload ไป storage ของคุณ (เช่น S3) ก่อน แล้วส่งแค่ URL ผ่าน RawPush ให้ Client ไปโหลดต่อเอง

Q4: ผู้ใช้แอบเอา Public Key ไปใช้ขโมยข้อมูลโปรเจกต์ฉันได้มั้ย?

A: ได้แค่ connect เข้ามานั่งรอเฉยๆ เท่านั้น! (เพราะถ้าไม่มี Token ที่ sign จาก sk_... ที่เก็บอยู่ฝั่ง Backend ของคุณ) User นั้นก็ทำได้แค่ connect เข้ามารอเฉยๆ แต่ทำอะไรไม่ได้เลย — subscribe channel ของคนอื่นก็ไม่ได้, publish ก็ไม่ได้ (เพราะไม่มีสิทธิ์)...

ยกเว้น! ถ้าคุณตั้ง channel เป็น Public ที่ใครก็ publish ได้ อันนั้นก็ตัวใครตัวมัน!

Q5: สามารถใช้สร้างระบบส่งข้อความส่วนตัว (1-to-1) ได้หรือไม่?

A: ด้วยโครงสร้าง Channel ที่ยืดหยุ่น คุณสามารถสร้างระบบส่งข้อความแบบ 1-1 ได้ไม่จำกัด!

  • ตัวอย่าง: สร้าง private channel (เช่น private:user1:user2) ให้สองคนนี้ subscribe และ publish หากัน (โดย Backend ของคุณตรวจสอบสิทธิ์แล้ว sign auth.sig ให้ก่อนว่า "user1 นี่คือตัวจริง อนุญาตให้เข้าถึง channel นี้ได้")

Q6: ควร Rotate Keys เมื่อไหร่ดี?

A: แนะนำให้ Rotate ใน 2 สถานการณ์:

  1. คุณพลาดทำ source code หลุดไป public (GitHub Public Repo)
  2. เมื่อสมาชิกในทีมที่เคยเข้าถึง Secret Key ลาออกไป ให้เข้า Dashboard ไปหน้า Settings แล้วกด Revoke ทันที

Released under the MIT License.