ios - Parse.com 响应推送通知

标签 ios objective-c push-notification parse-platform response

我想在我的应用程序中通过推送通知设置响应。

用户A向用户B发送消息。

用户 B 将应用程序(通过推送)打开到新页面。

用户 B 向用户 A 发送响应(作为推送)。

现在我可以打开该页面,但我不知道如何获取我需要的数据。

这是我从第一次推送中从 Parse 得到的信息:

userInfo: {
    aps =     {
        alert = "demo says HELLO WORLD";
    };

在本例中,demo 是发送第一个推送的用户的用户名。我希望得到它,以便用户 B 的应用程序知道将回复发送给谁。

这是我的推送代码:

    PFPush *push = [[PFPush alloc] init];
    [push setQuery:pushQuery];
    [push setMessage:[NSString stringWithFormat:@"%@ says HELLO WORLD", [PFUser currentUser].username]];
    [push sendPushInBackground];

最佳答案

您必须从 AppDelegate 处理这个问题。有两种方法可以从推送通知接收数据。

//Receive Push Notification when the app is active in foreground or background
- (void)application:(UIApplication *)application 
           didReceiveRemoteNotification:(NSDictionary *)userInfo {

  if(userInfo){
   //TODO: Handle the userInfo here
   }
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //Get the push notification when app is not open
    NSDictionary *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];

    if(remoteNotif){
        [self handleRemoteNotification:application userInfo:remoteNotif];
    }

    return YES;
}

-(void)handleRemoteNotification:(UIApplication*)application userInfo:(NSDictionary*)userInfo{

    if(userInfo){
       //TODO: Handle the userInfo here
    }
}

更新的答案如下:-

在这种情况下,我认为您应该使用 setData 而不是 setMessage

NSString * message =[NSString stringWithFormat:@"%@ says HELLO WORLD", [PFUser currentUser].username];
NSString * userID =  @"userid"; //TODO: set Your userID here

NSMutableDictionary * dataDict = [[NSMutableDictionary alloc]init];
[dataDict setObject:message forKey:@"message"];
[dataDict setObject:userID forKey:@"userID"];

PFPush *push = [[PFPush alloc] init];
[push setQuery:pushQuery];
[push setData:dataDict];
[push sendPushInBackground];

关于ios - Parse.com 响应推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25560329/

相关文章:

ios - SQLITE奇怪的时间戳和IOS

ios - UITableViewCell - 自定义单元格边距

objective-c - 图像分辨率支持 iPhone 3G、iPhone 4 和 iPhone 5

ios - 如何访问推送通知中的参数

objective-c - 注册应用程序 viewDidAppear/等的通知?

iphone - 简单的iCloud实现

ios - Apple 推送通知集成问题

swift - 在 ios 设备上使用 firebase 进行丰富的推送通知并使用 FCM 发送推送通知

ios - NSAppTransportSecurity UIWebView 问题

objective-c - ios 3 上 [NSOperationQueue mainQueue] 的替代方案