13.5 動的ロングルックを実装する
どうやら通知情報の取り扱い方が見えてきたようなので、動的ロングルックの表示ロジックを実装していきましょう。Storyboard上のDynamic InterfaceにGroupを1つ追加し、その中にLabelを2つ配置します。Groupに暗めの背景画像を設定することで雰囲気のある通知画面になります。
通知を受け取った際の処理を、didReceiveRemoteNotification:withCompletion:に追加していきます。ここでは通知パラメータのremoteNotification辞書から各種情報を取り出し、それを画面上のラベルに設定していきます。
表示処理はなるべく短時間に行い、表示が完了したらcompletionHandlerを呼び出してwatchOSに知らせます。この完了ハンドラの呼び出しが遅いとWatchOSは動的ロングルックの表示をあきらめて、静的ロングルック画面を表示します。
完了ハンドラの呼び出しパラメータは通常、WKUserNotificationInterfaceType Customですが、通知ペイロード内に必要な情報が見当たらなかった場合には、WK UserNotificationInterfaceDefaultを返すという約束になっています。
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録