質問: お世話になります。 Unity5.3.4f1を使用しています。 アセットストアでCross Platform Native Pluginというアセットをダウンロードしてiosのプッシュ通知を実装しようとしています。 http://blogs.voxelbusters.com/products/cross-platform-native-plugins/notification-service ここを見つつ設定をして動かしたところ、 ・アプリフォアグラウンド時⇒プッシュ通知が届かない(「通知」の一覧にない) ・アプリバックグラウンド時⇒プッシュ通知が届く といった結果となりました。 また、XcodeでdidReceiveRemoteNotificationが怪しいのではないかと思いログを調べたところ、 ・アプリフォアグラウンド時⇒didReceiveRemoteNotification:fetchCompletionHandlerを通る ・アプリバックグラウンド時⇒didReceiveRemoteNotification, didReceiveRemoteNotification:fetchCompletionHandlerどちらも通らない といった形でした。 アプリがフォアグランド時にプッシュ通知が届かないのはどのような理由が考えられるでしょうか。 よろしくお願いいたします。
回答: > > アプリがフォアグランド時にプッシュ通知が届かないのはどのような理由が考えられるでしょうか。 > > > 「プッシュ通知が届かない」という意味が「通知センターに通知メッセージが表示されない」という意味でしたら、それはiOSのプッシュ通知機能の仕様通りです。 通知センターにメッセージが残るのは、アプリが起動されていないか、またはバックグラウンド状態にあって、メッセージがアプリに届いていない時だけです。アプリがフォアグラウンド状態にある時は、通知センターにメッセージは残らず(通知音も鳴らずバッジの更新もなく)、すぐにdidReceiveRemoteNotificationが呼ばれますので、プッシュ通知を受けたタイミングで何かしたければ、そこで処理をすればよいです。