我想在我的应用程序中通过推送通知设置响应。
用户 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];
Best Answer-推荐答案 strong>
您必须从 AppDelegate 处理此问题。有两种方法可以从推送通知中接收数据。
//Receive Push Notification when the app is active in foreground or background
- (void)applicationUIApplication *)application
didReceiveRemoteNotificationNSDictionary *)userInfo {
if(userInfo){
//TODO: Handle the userInfo here
}
}
- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)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)handleRemoteNotificationUIApplication*)application userInfoNSDictionary*)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/
|