2017-11-19 3 views
1

Node.jsサーバーからiosアプリケーションに通知を送信しようとしています。 Firebaseコンソールから通知を送信しても動作しているようですが、firebase-admin sdkを使用しているnode.jsサーバから試してみると動作しません。firebase admin sdkを使用して通知が送信されない

https://firebase.google.com/docs/cloud-messaging/admin/send-messagesからチュートリアルに従いました。

私が理解できない1つのことは、通知を送信した後の応答が機能しているように見えることです。私は応答の下になる。

{ 
    "results": [ 
     { 
      "messageId": "0:1511109840587284%a63b4c28f9fd7ecd" 
     } 
    ], 
    "canonicalRegistrationTokenCount": 0, 
    "failureCount": 0, 
    "successCount": 1, 
    "multicastId": 7436388871122493000 
} 

私が間違っていることを知っている人はいますか?

- 編集

ここに通知を送信するコードがあります。 adminはfirebase-adminインスタンスです。

router.post('/notify', (req, res) => { 
admin.initializeApp({ 
    credential: admin.credential.cert(serviceAccount), 
    databaseURL: "<database>.firebaseio.com" 
}); 

var registrationTokens = [ 
    'tokenFromIosApp' 
]; 
var payload = { 
    data : { 
     body : 'TEST' 
    } 
}; 

admin.messaging().sendToDevice(registrationTokens, payload) 
    .then((response) => { 
     console.log('Sent successfully.\n'); 
     console.log(response); 
     res.status(statusCodes.Ok); 
     res.json(response); 
    }) 
    .catch((error) => { 
     console.log('Sent failed.\n'); 
     console.log(error); 
     res.status(statusCodes.InternalServerError); 
     res.json(error); 
    }); 
}); 
+0

は、通知を送信するコードを投稿します。 –

+0

@BobSnyderが編集しました。 – eChung00

答えて

2

通知を送信するには、ペイロードはnotification keyを使用する必要があります。

var payload = { 
    notification: { 
     title: 'My Title', 
     body : 'TEST' 
    } 
}; 
+0

ありがとうございます。それは今働く。簡単なことを逃した。 – eChung00

関連する問題