Swift4.2を使ってiOS12でリッチプッシュを送信する方法を解説します。リッチプッシュではWebサイトを表示できるので、キャンペーンやプッシュ通知の短いメッセージでは訴求できない内容を表示するのに便利です。
プッシュ通知の実装は同じ
プッシュ通知の実装自体は通常通りです。2018年10月版:Xcode 9.4.1 + Swift 4.1.2 + NCMB iOS SDK 3.0.0でのプッシュ通知実装 - ニフクラ mobile backend(mBaaS)お役立ちブログなどを確認の上、実装してください。
受信時のメソッドを修正
プッシュ通知を受信した時のメソッド didReceiveRemoteNotification
にて NCMBPush.handleRichPush(userInfo)
を実行します。
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { if userInfo.count > 0 { print(userInfo) } if (application.applicationState != .active) { NCMBPush.handleRichPush(userInfo) } }
管理画面でURLを設定
mBaaSの管理画面でプッシュ通知を作る際に、URLを指定します。これだけでリッチプッシュになります。
プッシュ通知を開く
プッシュ通知がデバイスに届き、ユーザが開くとモーダルウィンドウでURLが表示されます。ここで何かアクションができる訳ではありませんが、キャンペーン内容の細かい訴求が可能です。
まとめ
リッチプッシュを使うことで、より情報を含んだプッシュ通知が送れるようになります。あまり多用するとユーザに嫌がられる可能性もありますので、ここぞという時に使うと良いでしょう。アップデート情報を掲載したりするのにも使えるはずです。ぜひ活用してください!