FCM เข้ากันได้กับ GCM ขั้นตอนในการตั้งค่า FCM บน AWS จะเหมือนกับขั้นตอนการตั้งค่า GCMและ (อย่างน้อยก็ในขณะนี้) FCM ทำงานอย่างโปร่งใสกับ GCM และ SNS ในส่วนที่เกี่ยวกับการกำหนดค่าฝั่งเซิร์ฟเวอร์
แต่ถ้าคุณกำลังส่งdata
payloads กับอุปกรณ์ Android ที่พวกเขาจะไม่สามารถดำเนินการจนกว่าคุณจะใช้บริการด้านลูกค้าFirebaseMessagingService
ที่ขยาย ตัวสร้างข้อความ JSON เริ่มต้นในคอนโซล AWS จะส่งdata
ข้อความซึ่งแอปของคุณจะไม่สนใจเว้นแต่จะใช้บริการดังกล่าวข้างต้น ในการหลีกเลี่ยงปัญหานี้สำหรับการทดสอบเบื้องต้นคุณสามารถจัดเตรียมเพย์notification
โหลดที่กำหนดเองซึ่งอุปกรณ์ของคุณจะได้รับ (ตราบใดที่แอปของคุณไม่ได้อยู่เบื้องหน้า)
มีคำแนะนำในการย้ายข้อมูล GCM-FCM ที่จัดทำโดย Google อย่างไรก็ตามการเปลี่ยนแปลงที่คุณต้องทำส่วนใหญ่จะอยู่ที่ฝั่งแอป
ขั้นตอนที่คุณต้องปฏิบัติตามเพื่อทดสอบ GCM / FCM บนแอปของคุณด้วย SNS ได้แก่
- สร้างแอปพลิเคชันแพลตฟอร์มใน SNSเลือก Google Cloud Messaging (GCM) เป็นแพลตฟอร์มการแจ้งเตือนแบบพุชและระบุคีย์เซิร์ฟเวอร์ APIของคุณในฟิลด์คีย์ API
- เลือก Application Platform และคลิกที่ปลายทางสร้างแพลตฟอร์มปุ่ม
- ระบุ InstanceID ( โทเค็นอุปกรณ์ ) ที่สร้างโดยแอปของคุณ คุณต้องขยาย
FirebaseInstanceIDService
และแทนที่onTokenRefresh
วิธีการเพื่อดูสิ่งนี้ภายในแอป Android ของคุณ เมื่อคุณดำเนินการเสร็จสิ้นแล้วให้ถอนการติดตั้งและติดตั้งแอปของคุณใหม่และโทเค็นของคุณควรถูกพิมพ์ไปยังคอนโซลการแก้ปัญหาใน Android Studio ในการบูตครั้งแรก
- คลิกเพิ่มปลายทางปุ่ม
- คลิกที่ลิงค์ ARN สำหรับแอปพลิเคชันแพลตฟอร์มของคุณ
- เลือกปลายทางที่สร้างขึ้นใหม่สำหรับอุปกรณ์ของคุณและคลิกที่เผยแพร่ไปยังปลายทางปุ่ม
- เลือก JSON รูปแบบข้อความและคลิกที่กำเนิดข้อความ JSONปุ่ม
- ใส่ข้อความทดสอบและคลิกJSON สร้างปุ่ม
- ตอนนี้ "ส่วน gotcha" มาแล้ว
ข้อความที่สร้างโดย SNS จะอยู่ในรูปแบบ:
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}
ดังที่เราได้กล่าวไว้ก่อนหน้านี้data
payloads จะถูกละเว้นหากไม่มีการนำบริการมาใช้ เราต้องการทดสอบโดยไม่ต้องเขียนโค้ดมากเกินไปดังนั้นเราควรส่งnotification
payload แทน ในการดำเนินการนี้เพียงแค่เปลี่ยนข้อความ JSON เพื่ออ่าน:
{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}
เมื่อคุณได้กระทำนี้ให้แน่ใจว่าแอปของคุณไม่ได้ทำงานบนอุปกรณ์และตีเผยแพร่ข้อความปุ่ม ตอนนี้คุณควรเห็นการแจ้งเตือนปรากฏขึ้นบนอุปกรณ์ของคุณ
แน่นอนคุณสามารถทำทั้งหมดนี้โดยใช้โปรแกรมผ่าน Amazon SNS API อย่างไรก็ตามตัวอย่างทั้งหมดดูเหมือนจะใช้เพย์data
โหลดดังนั้นคุณต้องคำนึงถึงสิ่งนั้นและสร้างข้อมูลที่เหมาะสมกับกรณีการใช้งานของคุณ