17

すべての登録 ID (プッシュ トークン) を DB に保持し、iPhone からユーザーに通知を送信することを考えています。このようなことを試しましたが、通知はありませんでした。

func sendPNMessage() {
    FIRMessaging.messaging().sendMessage(
        ["body": "hey"], 
        to: TOKEN_ID, 
        withMessageID: "1", 
        timeToLive: 108)  
 } 

私が間違っていることは何ですか、それともまったく不可能でしょうか?

4

6 に答える 6

19

現在、アプリケーション自体からメッセージを送信することはできません。Firebase Web コンソールから、またはサーバー側 API を使用してカスタム サーバーからメッセージを送信できます。

あなたがしたいことは、サーバーに連絡することです (http 呼び出しなどを介して)。そのサーバーはメッセージをユーザーに送信します。これにより、サーバーの API-KEY が確実に保護されます。

PS: sendMessage(..)API はアップストリーム機能と呼ばれ、サーバーに FCM サーバーとの XMPP 接続がある場合、アプリからサーバーにメッセージを送信するために使用できます。

于 2016-06-04T20:52:56.087 に答える
7

はい、Firebase を介してプッシュ通知を送信できます。サーバー キーをクライアントに含めないでください。それを見つけて何かをするための「それほど素晴らしい人ではない」方法があります...それを達成する適切な方法は、クライアントがアプリサーバーに通知を送信するように指示することです。

HTTP-Post を Google-API-Endpoint に送信する必要があります。

次のヘッダーが必要です。

Content-Type: application/json
Authorization: key={your_server_key}
You can obtain your server key within in the Firebase-Project.

HTTP-Post-Content: Sample

{ 
    "notification": {
        "title": "Notification Title",
        "text": "The Text of the notification."
    },
    "project_id": "<your firebase-project-id",
    "to":"the specific client-device-id"
}
于 2016-12-14T12:12:46.727 に答える