2017-10-12 5 views
1

の条件フィールドを使用して、複数のトピックに送信するFCMメッセージを送信できません。何らかの理由で、たとえFCMが私のエラーを送信しなくても、私のデバイスはこのフィールドを使用するときにメッセージを受信しません。FCMの「条件」フィールドが機能しない

私はこれが送信した場合:

{ 
"to": "/topics/topic1", 
"data": { 
    "message": "test" 
    } 
} 

メッセージが受信されますが、私はこれで何も受信しません。

{ 
"condition": "'topic1' in topics", 
"data": { 
    "message": "test" 
    } 
} 

も、両方のメッセージは、同じトピック名との両方のメッセージ・リターンを使用すると思いましたFirebaseからの成功メッセージ。

答えて

0

あなたのトピックにデバイスを登録する必要があります。サブスクリプションのために安心してサービスを利用できます。 Reference そして、あなたがメッセージを送信したいときには、タイトルと本文

例を提供することができます:私はJavaのRestTemplateでそれを作った

Send to a single topic: 

https://fcm.googleapis.com/fcm/send 
Content-Type:application/json 
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA 
{ 
    "to": "/topics/foo-bar", 
    "data": { 
    "message": "This is a Firebase Cloud Messaging Topic Message!", 
    } 
} 
Send to devices subscribed to topics "dogs" or "cats": 

https://fcm.googleapis.com/fcm/send 
Content-Type:application/json 
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA 
{ 
    "condition": "'dogs' in topics || 'cats' in topics", 
    "data": { 
    "message": "This is a Firebase Cloud Messaging Topic Message!", 
    } 
} 
Topic HTTP response 

//Success example: 
{ 
    "message_id": "1023456" 
} 

//failure example: 
{ 
    "error": "TopicsMessageRateExceeded" 
} 

モデル化された応答reference トピックHTTP POSTリクエストで

{ 
    "message":{ 
     "condition": "'topic1' in topics", 
     "data": { 
      "message": "test" 
     }, 
    "notification" : { 
     "body" : "This is an FCM notification message!", 
     "title" : "FCM Message", 
     } 
    } 
} 

を応答を交換する。

+0

私のデバイスは既にトピックに登録されています。そうでなければ、最初のケースで何も受信しません。私の問題は、「条件」の付いたメッセージを送信するときに何も受け取らないということです。たとえ "to" – Laetan

関連する問題