プッシュ通知(Obj-C)
リッチプッシュ通知
リッチプッシュ通知とは
リッチプッシュ通知とは、通常のプッシュ通知からアプリを起動した場合に、
プッシュ通知の受信データ内で指定したURLのWebページを開く機能です。
※注意: Xcode 11以上で新規作成されたアプリはiOS 13以上で動作する場合、アプリが起動していない時にリッチプッシュ通知からプッシュ通知をタップするとリッチプッシュが表示されない現象が発生しています。
アプリ側での設定
リッチプッシュ通知を表示するためには、handleRichPushを利用します。
※複数のリッチプッシュ通知を受信/選択した場合、最後に受信/選択したリッチプッシュ通知に指定したURLのWebページを開きます。
アプリ起動時にリッチプッシュ通知を表示したい場合は、
application:didFinishLaunchingWithOptions:メソッドでhandleRichPushを呼び出すようにしてください。
// NCMBの初期化をしてるメソッド内
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//SDKの初期化やdevice tokenを取得する処理
//リッチプッシュ通知を表示させる
[NCMBPush handleRichPush:[launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"]];
return YES;
}
アプリがバックグラウンド状態時にリッチプッシュ通知を表示したい場合は、
application:didReceiveRemoteNotification:メソッドでhandleRichPushを呼び出すようにしてください。
//アプリが起動中にプッシュ通知を受信したときの処理
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
if (userInfo != NULL){
//値を取得した後の処理
[NCMBPush handleRichPush:userInfo];
}
}
Xcodeプロジェクト側での設定
CapabilityにPush Notificationsを追加します。(すでに追加された場合、こちらは不要です)
iOS 13以上の場合、CapabilityにBackground Modesを検索し、追加します。
Background ModesにRemote notifications機能をチェックを入れて、有効にしてください。
管理画面からリッチプッシュ通知を行う
プッシュ通知登録画面に「 iOS端末に配信する」とチェックします。
Xcode 11 で作成されたアプリ(iOS 13以上)に送信する場合、 "content-available"の設定で、「有効にする」と選択してください。
管理画面のプッシュ通知配信画面でURLの欄にリッチプッシュ通知用のURL設定することができます。
あとは通常のプッシュ通知と同じように配信を行ってください。
お探しの内容が見つからなかった場合はユーザーコミュニティ
もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。
推奨画面サイズ1024×768px以上