0

プッシュ通知がデバイスに送信された場合、iOSアプリがいつ起動されたかを知る方法はありますか?(通知から情報を取得するためにペイロードにアクセスしたい)

ありがとう、

4

2 に答える 2

1

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
于 2013-03-07T16:07:44.927 に答える
1

次のようなものをコードに追加する必要があります。

- (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;
}

通知をタップしてアプリを起動した場合にのみ、プッシュ通知ペイロードを取得することに注意してください。アプリのアイコンをタップして起動した場合、ペイロードは取得されません。

于 2013-03-07T16:36:16.047 に答える