คำถามที่พบบ่อย (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 ของคุณตรวจสอบสิทธิ์แล้ว signauth.sigให้ก่อนว่า "user1 นี่คือตัวจริง อนุญาตให้เข้าถึง channel นี้ได้")
Q6: ควร Rotate Keys เมื่อไหร่ดี?
A: แนะนำให้ Rotate ใน 2 สถานการณ์:
- คุณพลาดทำ source code หลุดไป public (GitHub Public Repo)
- เมื่อสมาชิกในทีมที่เคยเข้าถึง Secret Key ลาออกไป ให้เข้า Dashboard ไปหน้า Settings แล้วกด
Revokeทันที
