私のアプリは、サーバーから Apple バックエンドに送信された APN を受信しています。通知がユーザーのデバイスに届くと、当然、ユーザーはアプリを開くことはできません。それまでの間、私のサーバーはさらに通知をプッシュする可能性があります。それらにはすべて、通知が処理されるときに重要なユーザー データが含まれています。では、どのように対処すればよいでしょうか?iOSはバンドルしてバッチをくれませんよね?
これに対処する方法を次に示しますが、どれも単純ではありません。
- サーバーは未確認のデータを追跡し、新しいリクエストが到着すると、常にすべての新しい通知のバッチを送信し、カウントをバッジ カウントとして反映します。
- 通知ポップアップをテーピングすると、クライアントが開きます。この場合、必要なすべてのデータが にあり
didReceiveRemoteNotification
ます。 また - クライアントは通知ポップアップを無視し、アプリ アイコンをタップしてアプリを (おそらく後で) 開きます。この場合
didReceiveRemoteNotification
、 は呼び出されないため、アプリは必要なすべてのデータをサーバーからフェッチする必要があります。 また - サーバーはユーザー データを送信することはなく、クライアントは .NET でデータを起動または取得するたびに常に新しいデータをチェックします
didReceiveRemoteNotification
。
他に何か?私が見逃しているもっと簡単なものはありますか?