如何在不使用Firebase控制台的情况下发送FireBaseCloud消息传递通知?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (36)

我从谷歌的通知服务开始,Firebase Cloud Messaging.

是否有任何API或方式来发送通知而不使用Firebase控制台?我的意思是,例如,一个PHPAPI或类似的东西,直接从我自己的服务器创建通知。

提问于
用户回答回答于

FireBaseCloud消息传递有一个服务器端API,您可以调用这些API来发送消息。见https://firebase.google.com/docs/cloud-messaging/server.

发送消息可以非常简单,只需使用curl调用HTTP端点。见https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocol

curl -X POST --header "Authorization: key=<API_ACCESS_KEY>" \
    --Header "Content-Type: application/json" \
    https://fcm.googleapis.com/fcm/send \
    -d "{\"to\":\"<YOUR_DEVICE_ID_TOKEN>\",\"notification\":{\"body\":\"Yellow\"},\"priority\":10}"
用户回答回答于

使用服务API。

URL: https://fcm.googleapis.com/fcm/send

Method Type: POST

Headers:

Content-Type: application/json
Authorization: key=your api key

Body/Payload:

{ "notification": {
    "title": "Your Title",
    "text": "Your Text",
     "click_action": "OPEN_ACTIVITY_1" // should match to your intent filter
  },
    "data": {
    "keyname": "any value " //you can get this data as extras in your activity and this data is optional
    },
  "to" : "to_id(firebase refreshedToken)"
} 

然后:

<intent-filter>
    <action android:name="OPEN_ACTIVITY_1" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

扫码关注云+社区