2016-11-04 4 views
4

私は、アプリケーションのバックエンドに使用するnode.jsプロジェクトを持っています。アンドロイドとiosにプッシュ通知を送信する必要があります。APNSによって通知が送信されるときにエラー500が表示されることがあります。リンゴプッシュ通知サービスでエラー500が表示されることがあるのはなぜですか?

はここで通常の応答です:

{ sent: [], 
failed: [ { device: '<device_id>', 
status: '500', 
response: { reason: 'InternalServerError' } } ] 

私はあなたがAPNSが接続を拒否することができる時くらいに送信した場合、事はせいぜいのように、私は通常それほど送信しないということであることを読んで毎秒1つの通知。

node-apnを使用して、通知を送信するコードを調べます。

function sendIosNotification(deviceTokens,body,data,musico) { 
    var notification = new apn.Notification(); 
    if (musico) { 
    notification.topic = "<name_goes_here>.musico"; 
    } else { 
    notification.topic = "<name_goes_here>.cliente"; 
    } 
    notification.alert = body; 
    notification.badge = 1; 
    notification.sound = "dong.aiff"; 
    notification.payload = data; 
    apnProvider.send(notification, deviceTokens) 
    .then((response) => { 
    console.log(response); 
    console.log(response.failed); 
    }); 
} 

それは動作しますが、私はそれをテストサーバーにマウントされているが、それは通常、ノードサーバを再起動することによって、自分自身を修正した500 Iは、例えば、次の日、一晩それを残すことは、私だけでエラーを与えるときこれは本番環境では発生しません。これを修正するために何かできることはありますか?それはAPNSの問題か、私がやっていることですか?

編集:私は、私はPushyの主著者で、Java用のプッシュ通知ライブラリーよ、このNPMパッケージhttps://www.npmjs.com/package/apn

+0

同じ問題があります –

+0

多分あなたは何とかそれを修正しましたか? –

+0

それは起こっています、私はそれを引き起こす原因を見つけることができないようです。そのプロジェクトはちょっと死んでしまったので、私はそれを決して決してしなかった、私は後でそれを再度チェックし、私が見つけることができるものを見て、あなたがそれを見つけるなら、私は永遠に感謝するだろう。 – Mockingguy

答えて

1

を使用しています。私はあなたが使っている図書館の特質について権威をもって話すことはできませんが、一般的なAPNsについては自信を持ってコメントすることができます。

これはアップストリームのバグのようです。より具体的なもの(例えば、「期限切れの認証トークン」や「あまりにも多くのメッセージ」など)ではなく、APNサーバがInternalServerErrorを送信する必要がある状況はありません。 InternalServerErrorは、Apple側で何か問題が起こっていることを明示しています。私の強い薦めはfile a bug report with Appleです。私はこれがあなたの最後かapnパッケージの著者によって解決できるものだとは思わない。

+0

このような感じです。これはもう少し前のことでしたが、そのプロジェクトを中止しました。しかし、今、私は進行中のプロジェクトでこのコードを使用しています。これが再び起こるかどうかを見て、リンゴに通知するためのデータを収集します。提案ありがとう:) – Mockingguy

関連する問題