当前位置: 首页 > 知识库问答 >
问题:

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

范鸿
2023-03-14

我开始使用新的Google通知服务

多亏了这个代码https://github.com/Firebase/quickstart-android/Tree/master/messaging,我才能够从我的Firebase用户控制台向我的Android设备发送通知。

是否有任何API或方法可以在不使用Firebase控制台的情况下发送通知?我的意思是,例如,一个PHP API或类似的东西,从我自己的服务器直接创建通知。

共有3个答案

涂羽
2023-03-14

使用服务API。

URL:

方法类型:

标题:

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

null

{ "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)"
} 

在你的应用程序中,你可以在你的activity中添加以下代码来调用:

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

同时检查Firebase上的答案onMessageReceived not call当应用程序在后台时

孟泽宇
2023-03-14

这可以使用CURL

function sendGCM($message, $id) {


    $url = 'https://fcm.googleapis.com/fcm/send';

    $fields = array (
            'registration_ids' => array (
                    $id
            ),
            'data' => array (
                    "message" => $message
            )
    );
    $fields = json_encode ( $fields );

    $headers = array (
            'Authorization: key=' . "YOUR_KEY_HERE",
            'Content-Type: application/json'
    );

    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_POST, true );
    curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );

    $result = curl_exec ( $ch );
    echo $result;
    curl_close ( $ch );
}

?>

是要发送到设备的消息

是设备注册令牌

null

施海
2023-03-14

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

发送消息可以像使用 调用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\":{\"title\":\"Hello\",\"body\":\"Yellow\"}}"
 类似资料:
  • 问题内容: 我将从通知的新Google服务开始。 多亏了这段代码https://github.com/firebase/quickstart- android/tree/master/messaging, 我才能够将通知从 Firebase用户控制台 发送到Android设备。 有没有使用Firebase控制台发送通知的API或方法?我的意思是,例如,一个PHP API或类似的东西,可以直接从我自

  • 可以使用第三方服务发送推送通知而不依赖谷歌的Firebase云消息(FCM)吗? 如果应用程序默认不包含Firebase包,那么创建/使用自定义框架是否具有与Firebase相似的功能集?或者Firebase是否以某种方式集成在Android操作系统中,而这种方式是从应用程序外部进行的?

  • 我可以成功地从家里的服务器向Firebase服务器发送帖子请求。消息被毫无问题地传递到客户端。除了应用程序必须运行或在后台。如果应用程序被关闭,消息就会被搁置。系统托盘里什么都没有,没有声音,什么都没有。这是预期的行为吗? 这是我正在使用的curl命令: curl-X POST--header“Authorization:key=AIzaSyBntseBqux9nBX8y”--header“Con

  • 我是Firebase新手,当我的Java应用程序尝试使用客户端的Firebase令牌发送通知/消息时,我遇到了一些错误,例如发送者id不匹配和HTTP状态401的身份验证错误。请注意,使用Firebase控制台,我能够将消息发送到客户端。 对于客户端应用程序,我执行了以下操作: 从这里克隆Firebase快速入门应用--https://github.com/firebase/quickstart-

  • 我能够在我的AppDelegate中使用此实现在应用中接收FCM令牌: 这很奇怪,因为我之前已经在另一个iOS应用程序上实现了FCM(虽然不太复杂),我检查了设置是否一致。 唯一的区别是这个应用程序有几个目标。 如果我得到FCM令牌,APN和Firebase之间的配置是否正确?我还可以尝试调试什么? 更新:我使用了一个curl来发送通知(如本文所述:https://firebase.googleb

  • 我已经试着调试Firebase推送通知相当长时间了,但没有得到任何运气。我相信我已经正确地设置了临时配置文件和APNs证书。当我不包含方法时 当应用程序从Firebase通知控制台发送时,它会在前台接收通知,因为它会被打印出来,但它不会在后台接收通知。