6 動作概要
ソースコードを修正する前に、前提知識として、アプリを初回起動した際のシーケンスや、プッシュ通知を受信するまでのシーケンスをご説明します。
6.1 初回起動時のシーケンス
SDKを組み込んだアプリは、初回起動時において以下のシーケンスをたどります。
PopinfoReceiverクラスのインスタンスを生成(sharedReceiver)し、設定を読み込む(loadSettings)。
popinfoID)を取得する。
取得に成功すると、デリゲートメソッド-[PopinfoReceiverDelegate popinfoReceiverDidGetPopinfoId:uid:]がコールされる。
エンドユーザーが位置情報を許可しなかった場合は
ここで「許可しない」を選んだ場合は、FANSHIP 内部では位置情報を取得することができず、位置連動配信ができません。
変更したい場合は、端末の「設定 > プライバシー > 位置情報サービス > アプリ名」から設定を変更する必要があります。
エンドユーザーがプッシュ通知を許可しなかった場合は
ここで「許可しない」を選んだ場合は、プッシュ通知を受信することができません。
「許可」状態に変更したい場合は、端末の「設定 > 通知 > アプリ名」において、オフになっている箇所はオンにしていただき、「通知のスタイル」を バナー か 通知(ダイアログ) にしてください。
-[AppDelegate application:didRegisterForRemoteNotificationsWithDeviceToken:] がコールされ、端末固有のプッシュ通知用のデバイストークンが取得できる。
registerToken:)、取得したデバイストークンとユーザーID の紐付けが完了する。
6.2 プッシュ通知を受信するまでのシーケンス
プッシュ通知の配信を実行してから端末側で受信するまでは、以下のシーケンスをたどります。
アプリがターミネート(終了している)状態
- iOS からバナー(端末側設定によってはダイアログ)が表示される。
- バナーをクリックすると、組み込み側において、下記がコールされる。
application: didFinishLaunchingWithOptions:userNotificationCenter:didReceiveNotificationResponse:withCom pletionHandler:
アプリがバックグラウンド(裏にいる)状態
- iOS からバナー(端末側設定によってはダイアログ)が表示される。
- バナーをクリックすると、組み込み側において
userNotificationCenter:didReceiveNotification Response:withCompletionHandler:がコールされる。
アプリがフォアグラウンド(最前面にいる)状態
- iOS からのバナー等は表示されない。
- プッシュ通知到達後ただちに、組み込み側において、
application: didReceiveRemoteNotificationがコールされる
receiveNotification:)、プッシュ通知されたメッセージの内容(タイトル、本文など)を取得しにいく。
PopinfoListViewController)やお知らせ詳細画面(PopinfoDetailViewController)を生成して表示させる。
この動作は組み込み方次第です
詳細な組み込みについては、「7.4 PopinfoListViewController を使い、お知らせ一覧画面を表示する」 および 「7.5 PopinfoDetailViewController を使い、お知らせ詳細画面を表示する 」をご参照ください。
では、これらのシーケンスを念頭に、SDK を正しく組み込んでいただきますようお願いいたします。