アプリアイコンのタップを含むさまざまなユーザーアクションですべてのiOSプッシュ通知をキャッチする方法 質問する

アプリアイコンのタップを含むさまざまなユーザーアクションですべてのiOSプッシュ通知をキャッチする方法 質問する

Apple ガイドによると:

「通知が表示された結果、ユーザーはアラートのアクション ボタンをタップするか、アプリケーション アイコンをタップ (またはクリック) します。アクション ボタンがタップされると (iOS を実行しているデバイスで)、システムはアプリケーションを起動し、アプリケーションはデリゲートの application:didFinishLaunchingWithOptions: メソッド (実装されている場合) を呼び出します。このメソッドは、通知ペイロード (リモート通知の場合) または local-notification オブジェクト (ローカル通知の場合) を渡します。

iOS を実行しているデバイスでアプリケーション アイコンがタップされた場合、アプリケーションは同じメソッドを呼び出しますが、通知に関する情報は提供しません。Mac OS X を実行しているコンピューターでアプリケーション アイコンがクリックされた場合、アプリケーションはデリゲートの applicationDidFinishLaunching: メソッドを呼び出します。このメソッドでデリゲートはリモート通知ペイロードを取得できます。

私の質問は、ユーザーがプロバイダーから 3 ~ 4 件のプッシュ通知を受け取り、すべてが Apple の通知センターに保存されているとします。ユーザーが通知アラートをタップすると、アプリで簡単に通知データを取得できます。しかし、ユーザーが iPhone でアプリ アイコンをタップした場合、以前のすべての通知に関連するすべてのデータを取得するにはどうすればよいでしょうか。

前もって感謝します!

ベストアンサー1

できません。アプリを開くために使用された通知に関する情報のみを受け取ります。

したがって、ユーザーがアプリを開いたときに、アプリに通知がある場合、アプリ内から通知を取得することはできません。

回避策としては、サーバー上でも通知を追跡し、これをアプリ内で処理することが考えられます。こうすることで、サーバーはどの通知が読まれたかを追跡します。Facebook はこれをこのように実行しています。

おすすめ記事