サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >プッシュ通知(Swift):リッチプッシュ通知

プッシュ通知(Swift)

リッチプッシュ通知

リッチプッシュ通知とは

リッチプッシュ通知とは、通常のプッシュ通知からアプリを起動した場合に、
プッシュ通知の受信データ内で指定したURLのWebページを開く機能です。

※注意: Xcode 11以上で新規作成されたアプリはiOS 13以上で動作する場合、アプリが起動していない時にリッチプッシュ通知からプッシュ通知をタップするとリッチプッシュが表示されない現象が発生しています。
リッチプッシュ通知

アプリ側での設定

リッチプッシュ通知を表示するためには、handleRichPushを利用します。
※複数のリッチプッシュ通知を受信/選択した場合、最後に受信/選択したリッチプッシュ通知に指定したURLのWebページを開きます。

アプリ起動時にリッチプッシュ通知を表示したい場合は、
application(_,didFinishLaunchingWithOptions) メソッドにて handleRichPush を呼び出すようにしてください。

// アプリが起動中にプッシュ通知を受信したときの処理
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions:[UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    // SDKの初期化や device token を取得する処理

    // リッチプッシュ通知を表示させる
    if let notification = launchOptions?[.remoteNotification] as? [String: AnyObject] {
            NCMBPush.handleRichPush(userInfo: notification)
    }

    return true
}

アプリがバックグラウンド状態時にリッチプッシュ通知を表示したい場合は、
application(_,didReceiveRemoteNotification,fetchCompletionHandler) メソッドにて handleRichPush を呼び出すようにしてください。

// プッシュ通知を受信したときの処理
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],fetchCompletionHandler completionHandler:@escaping (UIBackgroundFetchResult) -> Void) {
    if let notiData = userInfo as? [String : AnyObject] {
        // リッチプッシュ通知を表示させる
        NCMBPush.handleRichPush(userInfo: notiData)
    }
}

Xcodeプロジェクト側での設定

CapabilityにPush Notificationsを追加します。(すでに追加された場合、こちらは不要です)

Add_Pushnotification_Capability

iOS 13以上の場合、CapabilityにBackground Modesを検索し、追加します。

Background_Mode_Capability

Background ModesにRemote notifications機能をチェックを入れて、有効にしてください

Remote_notification

管理画面からリッチプッシュ通知を行う

プッシュ通知登録画面に「 iOS端末に配信する」とチェックします。
Xcode 11 で作成されたアプリ(iOS 13以上)に送信する場合、 "content-available"の設定で、「有効にする」と選択してください。

Console_setting

管理画面のプッシュ通知配信画面でURLの欄にリッチプッシュ通知用のURL設定することができます。
リッチプッシュ用URL指定

あとは通常のプッシュ通知と同じように配信を行ってください。

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ