ผู้ปฏิบัติงานพื้นหลังของ Android

ฉันจำเป็นต้องสร้างบริการสำหรับแอปพลิเคชัน React-Native ที่สามารถรับการแจ้งเตือนแบบพุชจากเซิร์ฟเวอร์ได้แม้ว่าแอปจะปิดอยู่ก็ตาม

ฉันลองใช้ FCM และใช้งานได้ดี แต่ฉันต้องทำให้มันใช้งานได้โดยไม่ต้องใช้บุคคลที่สามเช่น FCM.. จำเป็นต้องเป็นบริการที่โฮสต์เอง

ฉันไม่พบแพ็คเกจหรือวิธีแก้ปัญหาใด ๆ ใน React-Native ดังนั้นฉันจึงตัดสินใจลองสร้างโมดูลเนทิฟเกี่ยวกับเรื่องนั้นแล้วเพิ่มลงใน React-Native ของฉัน

ใครสามารถบอกฉันได้ว่าจะเริ่มจากตรงไหน - วิธีสร้างผู้ฟังพื้นหลังใน Java เพื่อให้สามารถฟังคำขอของเซิร์ฟเวอร์ได้แม้ว่าแอปจะปิดอยู่ก็ตาม

ฉันใช้งาน React-Native ได้สองสามเดือนและเพิ่งเริ่มพัฒนา Native Android โดยสิ้นเชิง ดังนั้นจึงยินดีรับคำแนะนำทุกประเภท


person Celestial    schedule 21.03.2019    source แหล่งที่มา
comment
หากต้องการใช้การแจ้งเตือนแบบพุชของคุณเอง ซอฟต์แวร์บางตัวจะต้องสำรวจเซิร์ฟเวอร์ของคุณเอง เพื่อดึงดูดคำตอบ ฉันจะเปลี่ยนชื่อคำถามเป็นชื่อที่เฉพาะเจาะจงมากขึ้น หมายเหตุ: ฉันพบ push-notifications-without-firebase-cloud-messaging ซึ่ง น่าเสียดายไม่ตอบคำถามของคุณจนกว่าซอฟต์แวร์ของคุณมีไว้สำหรับประเทศจีน   -  person k3b    schedule 21.03.2019
comment
แต่เซิร์ฟเวอร์ไม่ใช่ปัญหา เราสามารถกำหนดค่าเซิร์ฟเวอร์ได้ ปัญหาของฉันคือการมีผู้ฟังเบื้องหลังที่สามารถรับบางอย่างจากเซิร์ฟเวอร์ได้ ฉันไม่ต้องการฟังพื้นหลังเพื่อฟังเมื่อเซิร์ฟเวอร์ส่งคำขอไปยังอุปกรณ์ของฉันหรือไม่   -  person Celestial    schedule 21.03.2019
comment
ผู้ฟังเบื้องหลังที่สามารถรับบางสิ่งจากเซิร์ฟเวอร์ได้ต้องการให้ไคลเอนต์ Android เชื่อมต่อกับเซิร์ฟเวอร์ เนื่องจากการเปิดการเชื่อมต่อตลอดเวลาจึงมีราคาแพง :-( วิธีที่ประหยัดกว่าแบตเตอรี่: ไคลเอนต์ Android ต้องเชื่อมต่อกับเซิร์ฟเวอร์เป็นประจำซึ่งฉันเรียกว่าการสำรวจความคิดเห็น   -  person k3b    schedule 22.03.2019
comment
โอ้ โอเค ขอโทษที่ฉันไม่เข้าใจคุณดี แต่เพื่อที่จะสำรวจความคิดเห็น ฉันต้องมีบริการนั้นให้ทำงานในเบื้องหลังและติดต่อกับเซิร์ฟเวอร์.. และฉันไม่แน่ใจว่าจะนำไปใช้ได้อย่างไร คุณมีประสบการณ์ประเภทนี้บ้างไหม?   -  person Celestial    schedule 22.03.2019
comment
ฉันไม่ต้องการใช้เวลามากกว่านี้ โปรดตั้งชื่อให้เฉพาะเจาะจงมากขึ้นเพื่อดึงดูดผู้อื่น   -  person k3b    schedule 22.03.2019