我有点难以将GCM迁移到FCM。 这是我今天的流程: 每当有人下载我的应用程序时,我都会在Android设备上生成设备令牌:
GoogleCloudMessaging.getInstance(context).register(pushSenderID)
然后,我拿令牌,将其发送到服务器,并在为特定应用创建的应用ARN平台下为该设备创建一个端点ARN,并存储最终看起来像这样的EndpointARN:
arn:aws:sns:us-east-1:0146576 *****:endpoint / GCM / App_DR / 7bb3d5d8-***-3cb8-bba8-*****
然后,每当我要发送推送通知时,我都使用SNS Api并发送此有效负载:
{“默认”:“默认”,“ APNS”:“ {\” aps \“:{\”警报\“:\”您收到此推送吗?\“,\”声音\“:\” default \“,\” msgID \“:\” ae561fd0-90a0-46d9-8703-******* \“,\” station \“:46434}}”,“ APNS_SANDBOX”:“ {\” aps \“:{\”警报\“:\”您收到此推送吗?\“,\”声音\“:\”默认\“,\” msgID \“:\” ******-90a0- 46d9-8703-14d6526ec3b0 \“,\” station \“:46434}}”,“ GCM”:“ {\” data \“:{\” message \“:\” {\\“ msgID \\ “:\\” ae561fd0-90a0-46d9-8703-******* \\“,\\”标题\“:\\”推送通知\“,\\”文本\\“:\ \“您收到此推送了吗?\\”,\\“工作站\\”:1234} \“}} ”}
Android设备能够接收推送并使用GCMReceiver(https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmReceiver)对其进行解析
今天哪个作品很棒。现在将删除GCM,我们在使用Firebase的移动应用程序中添加了对FCM的支持(在应用程序中实现了FirebaseMessageService),但是我仍然不确定应该在服务器端进行哪些更改。
我仍然可以发送推送消息吗?我应该改变有效载荷结构的方式吗?
在GCM下注册的旧设备如何,它们将能够在新FCM上获得推送?
当我在SNS上注册新设备时,它们会自动在FCM上注册吗?还是我应该使用它们的API做一些特殊的事情?