プッシュ通知がデバイスに送信された場合、iOSアプリがいつ起動されたかを知る方法はありますか?(通知から情報を取得するためにペイロードにアクセスしたい)
ありがとう、
プッシュ通知がデバイスに送信された場合、iOSアプリがいつ起動されたかを知る方法はありますか?(通知から情報を取得するためにペイロードにアクセスしたい)
ありがとう、
UIApplicationDelegateのメソッドがあり、そこから通知を受信したかどうかを確認できます
AppDelegatedidFinishLaunchingWithOptions
メソッドで、ユーザーが通知を使用してアプリを起動したかどうかを確認できます。
UILocalNotification *notif =
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotif) {
irLog(@"Recieved Notification");
}
あなたが投稿したローカル通知については、この方法を見ることができます
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif
リモート通知の場合は、この方法を確認できます
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
次のようなものをコードに追加する必要があります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions {
NSDictionary *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
//Accept push notification when app is not open
if (remoteNotif) {
[self handleRemoteNotification:application userInfo:remoteNotif];
return YES;
}
return YES;
}
通知をタップしてアプリを起動した場合にのみ、プッシュ通知ペイロードを取得することに注意してください。アプリのアイコンをタップして起動した場合、ペイロードは取得されません。