Google นำคุณลักษณะการแจ้งเตือนแบบพุชมาใช้อย่างไร มันทำงานผ่านการสำรวจโดยบริการที่ทำงานในพื้นหลังหรือในวิธีที่แตกต่างกันอย่างไร
Google นำคุณลักษณะการแจ้งเตือนแบบพุชมาใช้อย่างไร มันทำงานผ่านการสำรวจโดยบริการที่ทำงานในพื้นหลังหรือในวิธีที่แตกต่างกันอย่างไร
คำตอบ:
จากสิ่งที่ฉันได้ยินในระหว่างการประชุมนักพัฒนา Android ในอิสราเอล:
มีเพียงซ็อกเก็ต TCP ที่รออยู่ในโหมดยอมรับบนเซิร์ฟเวอร์คลาวด์ของ Google การเชื่อมต่อ TCP เริ่มต้นโดยแอปพลิเคชัน Google Play นั่นเป็นสาเหตุที่ต้องติดตั้ง Google Play บนอุปกรณ์เพื่อทำให้Google Cloud Messaging (GCM) (เดิมชื่อ Android Cloud to Device Messaging Service - C2DM ) ทำงาน
เมื่อซ็อกเก็ตไคลเอนต์ TCP นี้ได้รับข้อความบางส่วนข้อความจะมีข้อมูลเช่นชื่อแพ็คเกจของแอปพลิเคชันที่ควรได้รับการจัดการและแน่นอน - ข้อมูลนั้นเอง ข้อมูลนี้ได้รับการแยกวิเคราะห์และบรรจุลงในเจตนาที่ออกอากาศและได้รับในที่สุดโดยแอปพลิเคชัน
ซ็อกเก็ต TCP ยังคงเปิดอยู่แม้ว่าสถานะวิทยุของอุปกรณ์จะเปลี่ยนเป็นโหมด "ไม่ได้ใช้งาน" แอปพลิเคชันไม่จำเป็นต้องเรียกใช้เพื่อรับเจตนา
ข้อมูลเพิ่มเติมที่http://developer.android.com/google/gcm/gcm.html
Android ใช้การเชื่อมต่อที่ใช้งานอยู่หนึ่งครั้งกับเซิร์ฟเวอร์ของ Google แต่ไม่ได้ใช้พลังงานหรือข้อมูลมากนักเนื่องจากไม่มีการรับส่งข้อมูลจนกว่าจะมีบางอย่างส่งข้อความ Google Cloud Messaging (GCM) ไปยังแอปในโทรศัพท์ของคุณ มีการเชื่อมต่อทางโทรศัพท์เพียงครั้งเดียวเท่านั้นที่ใช้โดยแอปทั้งหมด: การติดตั้งแอปใหม่ที่ใช้ GCM ไม่ได้เพิ่มภาระใด ๆ เพิ่มเติม
ขั้นตอนแรกใน GCM คือเซิร์ฟเวอร์บุคคลที่สาม (เช่นเซิร์ฟเวอร์อีเมล) ส่งคำขอไปยังเซิร์ฟเวอร์ GCM ของ Google เซิร์ฟเวอร์นี้จะส่งข้อความไปยังอุปกรณ์ของคุณผ่านการเชื่อมต่อที่เปิดอยู่ ระบบ Android จะตรวจสอบข้อความเพื่อตรวจสอบว่ามีแอปใดบ้างและเริ่มแอพนั้น แอปจะต้องลงทะเบียนกับ Android เพื่อใช้ GCM และต้องได้รับอนุญาตที่เกี่ยวข้อง เมื่อแอปเริ่มทำงานมันอาจสร้างการแจ้งเตือนทันทีด้วยข้อมูลจากข้อความ ข้อความ GCM มีขนาด จำกัด มากดังนั้นแอปอาจเปิดการเชื่อมต่อปกติกับเซิร์ฟเวอร์บุคคลที่สามเพื่อรับข้อมูลเพิ่มเติม (ตัวอย่างเช่นการดาวน์โหลดส่วนหัวของอีเมลใหม่)
ข้อดีของการใช้การแจ้งเตือนแบบพุชคือแอพไม่ต้องทำงานเป็นระยะเพื่อตรวจสอบข้อมูลใหม่ประหยัดทั้งพลังงานและข้อมูล ข้อดีของการมีกลไกแบบรวมศูนย์เช่น GCM คืออุปกรณ์ต้องการการเชื่อมต่อเครือข่ายแบบเปิดเพียงอย่างเดียวและระบบ Android GCM เป็นสิ่งเดียวที่ต้องทำงานต่อไปแทนที่จะเป็นแต่ละแอปที่ต้องทำงานในพื้นหลังเพื่อรักษาเครือข่ายของตัวเอง เชื่อมต่อกับเซิร์ฟเวอร์ของตัวเอง
รับสิ่งนี้จาก: แหล่งที่มา ดูที่นี่ด้วย
คุณสามารถใช้การแจ้งเตือนแบบพุชบน android ด้วยตัวคุณเองด้วยการเชื่อมต่อ tcp แบบสำรวจนาน แต่นั่นจะเกี่ยวข้องกับการบำรุงรักษาซ็อกเก็ตพิเศษ => ท่อระบายน้ำแบตเตอรี่ หรือคุณสามารถเปิดการเชื่อมต่อเป็นระยะโดยใช้ Alarm Manager
Google อาจเปิดซ็อกเก็ตเดียวสำหรับการแจ้งเตือนแบบผลักดัน C2DM ทั้งหมดดังนั้นจึงมีประสิทธิภาพของแบตเตอรี่มากกว่า
ตั้งแต่วันที่ 10 เมษายน 2018 Google ได้คัดค้าน GCM API เซิร์ฟเวอร์ GCM และไคลเอ็นต์เลิกใช้แล้วและจะถูกลบออกทันทีที่ 11 เมษายน 2019 ย้ายแอป GCM ไปยัง Firebase Cloud Messaging (FCM) ซึ่งสืบทอดโครงสร้างพื้นฐาน GCM ที่เชื่อถือได้และปรับขนาดได้พร้อมคุณสมบัติใหม่มากมาย
ใช่คุณพูดถูก. Google มีบริการ (บริการ GTalk) และบริการนี้ถามเซิร์ฟเวอร์ของ Google ในบางช่วงเวลา
บนอุปกรณ์ Android เมื่อคุณได้รับการแจ้งเตือนแบบพุชภาพแอปพลิเคชันของผู้ส่งและข้อความจะปรากฏในแถบสถานะ เมื่อลูกค้าเคาะการแจ้งเตือนเขา / เธอตกลงบนใบสมัคร