-2

私はiPhone開発に不慣れですが、iOSアプリでプッシュ通知を受信することができました。ただし、着信プッシュ通知をスワイプすると、アプリが開くだけで、通知に関連する投稿は開きません。

これは私のコードです:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
NSLog(@"Eine Nachricht ist angekommen, während die App aktiv ist");

NSString* alert = [[userInfo objectForKey:@"aps"] objectForKey:@"id"];

NSLog(@"Nachricht: %@", alert);

//This is to inform about new messages when the app is active

//UIApplicationState state = [[UIApplication sharedApplication] applicationState];
//if (state == UIApplicationStateActive) {
//    UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Neuer Artikel" message:@"Nachricht" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
//    [alertView show];
//    }
}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSLog(@"Device Token=%@", deviceToken);

NSUInteger theCount = [deviceToken length];
NSMutableString *theString = [NSMutableString stringWithCapacity:2 * theCount];
unsigned char const *theBytes = [deviceToken bytes];

for(NSUInteger i = 0; i < theCount; ++i) {
    [theString appendFormat:@"%2.2x", theBytes[i]];
}

NSString* url = [NSString stringWithFormat:@"HERE_IS_MY_REGISTERING_URL",theString,theString];
NSLog(@"APNS URL : %@",url);

NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *urlResponse, NSData *data, NSError *error) {
    if (error) {
        NSLog(@"Error: %@", error);
    }
}];
}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
    NSLog(@"Error bei der Registrierung");

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window.frame = [[UIScreen mainScreen] bounds];
[self setApplicationDefaults];
[[UIApplication sharedApplication] setStatusBarHidden:NO];
//This is the start of the push notification settings
[self.window makeKeyAndVisible];

今、私はどこに何を置くべきか、プッシュ通知に関連する投稿を開くためのアイデアがありません...

4

1 に答える 1

5

何を期待しますか?あなたのコードから、あなたがどの投稿を開きたいかについての情報を提供していることがわかりません。AppleもXcodeも、あなたのコードも魔法でそれを知ることはありません。

プッシュ通知のペイロードで、参照している投稿に関する情報を提供してから、didReceiveRemoteNotificationでこの情報を読み取る必要があります。

こちらの「JSONペイロードの例」を参照してください:Appleプッシュ通知サービス

于 2012-10-30T13:12:23.510 に答える