1

こんにちは私は、デバイスがオフになっている間にサーバーが送信したプッシュ通知を取得することが可能かどうかを知りたいと思います。Xamarin.iOS - デバイスがオフのときに通知する

通知が送信された瞬間にデバイスが通知を受信しなかったことを、そのデバイスが通知され、再びオンになった(またはオンラインになった)ときに表示するように、アプリとAzure通知ハブを設定するにはどうすればよいですか?

できますか?

ありがとう

答えて

1

Azureの通知ハブはちょうど通知が配信されたかを示します。それがあなたが探しているものであれば、「受信した」確認を得る方法はありません。これはAzureとはまったく関係がありません.Apple Push Notification Service(Azureと連携しています)がどのように機能しているかだけです。

Apple Push Notification Service(APN)は、デバイスがオフの間に送信された最後の(かつ最後の)通知を保持/キャッシュします。デバイスがオンラインになると、APNは通知を再度送信しようとします。しかし、キャッシュされた通知が失われるまでの時間制限があり、それはあなたの通知が決してその運命に到着しない可能性があることを意味します。

到着確認(whatsapp確認など)が必要な場合は、自分で実装する必要があります。

  • あなたは、あなたが「保留通知を」追跡表に、サーバーのデータベースにそのUIDを保存する通知ペイロード
  • でのuidを含める:それは別の質問になりますが、ここでいくつかのヒントがあります。
  • デバイスは通知を開き、uidをパラメータとして使用してサーバーに到着確認を送信します。>データベーステーブルの「保留通知」レコードを削除します。

どのように保留中/紛失通知を再送信しますか?

  • オプション1:何らかのバックグラウンドジョブを実装してください(ある期間、つまり5分に1回)通知が到着しなかったことを確認し、正しく確認されるまで再送信します。
  • オプション2:モバイルアプリの起動時に、「おい、私はもう一度オンラインです」というメッセージをサーバーに送信します。次に、そのユーザ/デバイスに固有の保留中の通知をすべて処理し、保留中の通知テーブルから削除します。
関連する問題