2017-05-31 42 views
0

pyfcmを使用してDjangoバックエンドサーバーにFirebase Cloud Messaging(FCM)の通知を配信しています。私はちょうど今日リリースされたバージョン1.3.0に更新しました。 loc-keyloc-argsのパラメータを使用して通知を送信したいので、ユーザーが電話で使用している言語で表示することができます。通知はデバイスに到達し、振動し、新しい通知のデフォルトサウンドを作成しますが、表示されません。音と振動以外は何も起こりません。ローカライズされた通知FCMを使用しているiOS 10

[ 
    AnyHashable("gcm.message_id"):0:1496257581534217 %f910cc44f910cc44, 
    AnyHashable("aps"):{ 
     category = profile; 
    sound = Default; 
    }, 
    AnyHashable("gcm.notification.alert"):{ 
     "title-loc-key":" notification-follow", 
     "title-loc-args":[ 
     "Demo (@demo)" 
     ] 
    } 
] 

があります:、これは電話で受信されたものであるクライアント側で

{ 
    "notification": { 
     "loc-args": ["Demo (@demo)"], 
     "loc-key": "notification-follow", 
     "sound": "Default" 
    }, 
    "priority": "high", 
    "to": "..." 
} 

この

は、FCMのエンドポイントに送信され、サーバによって生成されたペイロードでありますメッセージが表示される前に何かする必要がありますか? loc-keyloc-argsではなく、 message-bodyのメッセージを送信すると、デバイスに通知されます。多分、ペイロードは間違っていますか?私は何をしたいのですか? この場合、 notification-followというキーが一覧表示され、利用可能な言語のファイル Localizable.stringsに翻訳されています。

+0

'loc- * 'のものは' aps'辞書に入っていなければなりませんが、なぜfcmはこれをしないのですか? –

答えて

0

問題を解決しました。それはpyFCMでした。私はそれがこのライブラリのエラーだと思ったので、開発者はそれを擬似的に修正しました。しかし、それは正常に機能し、今はもう動作しません。そのトリックはbody_loc_argsに配列を渡すことです。そうしないと、InvalidParametersというエラーが出ます。