我无法通过parse.com正确设置推送通知。我相信我的推送是因为它们通过解析显示在我的推送日志中。但是,无论我的推送发送到哪里(app或仪表盘),“发送的推送”总是显示0。我知道这可能是一个复杂的任务,所以任何帮助将是非常感谢!下面是我的代码:
AppDelegate.m
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application setStatusBarStyle:UIStatusBarStyleLightContent];
[self setupAppearance];
// Parse.com setup
[Parse setApplicationId:@"RgOpkkSfRoOFvealb8uUbdElx6e4VwqrNA0ObZLl"
clientKey:@"GsMpLwqknU9c8qfPY0AaWUZzd7lE38ZTQQliM9TH"];
[PFUser enableRevocableSessionInBackground];
// Parse Push notifications setup
UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert |
UIUserNotificationTypeBadge |
UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes
categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
return YES;
}
- (void)setupAppearance {
UINavigationBar *navigationBarAppearance = [UINavigationBar appearance];
navigationBarAppearance.barTintColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:100/255.0 alpha:1.0f];
navigationBarAppearance.tintColor = [UIColor whiteColor];
navigationBarAppearance.titleTextAttributes = @{NSForegroundColorAttributeName:[UIColor whiteColor]};
}
// push notification
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// Store the deviceToken in the current installation and save it to Parse.
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
[currentInstallation setDeviceTokenFromData:deviceToken];
currentInstallation.channels = @[ @"global" ];
[currentInstallation saveInBackground];
// Associate the device with a user
PFInstallation *installation = [PFInstallation currentInstallation];
installation[@"user"] = [PFUser currentUser];
[installation saveInBackground];
}
// push notification
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[PFPush handlePush:userInfo];
}
InboxTableViewController.m
ViewDidLoad
//push code
NSDictionary *data = @{
@"alert" : @"message!",
@"badge" : @"Increment"
};
PFPush *push = [[PFPush alloc] init];
[push setChannel:@"global"];
//[push setMessage:@"message!"];
[push setData:data];
[push sendPushInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error) {
NSLog(@"The push campaign has been created.");
} else if (error.code == kPFErrorPushMisconfigured) {
NSLog(@"Could not send push. Push is misconfigured: %@", error.description);
} else {
NSLog(@"Error sending push: %@", error.description);
}
}];
我不相信您添加的“全球”频道是正确的。确保您订阅了“全局”频道(因为您在代码中正在推送到那个频道)。您可以在数据/安装下的解析控制台中执行此操作。您可以通过使用(从解析文档中)在代码中添加该通道:
[currentInstallation addUniqueObject:@"global" forKey:@"channels"];
[currentInstallation saveInBackground];
如果这不是您的问题,您可能没有正确设置证书。请仔细阅读文档,了解如何执行此操作。iOS证书已经够难的了,但当您添加另一个服务(如Parse)时,它就会使其变得更加困难。但最终还是值得的。
我用push notification与解析服务器连接了应用程序,但问题是我遇到了错误,它说:registerforRemotenotification类型在IOS 8.0版本中不推荐使用:请使用register for remote notification和register user notification设置。但这段代码是针对iOS8的。 有谁能帮我找到正确的代码吗?
iOS消息推送在工作灯,接收通知时,应用程序在后台作为徽章,但当我点击徽章也我得到有效载荷作为警报。我只需要徽章时,应用程序在后台运行。 实际上,我需要在应用程序位于前台时显示警报,如果应用程序位于后台,则显示徽章。在我的push received handler函数中,我正在检查这一点。但在ios中,只有当用户点击badge时,处理器函数get才会触发,而在Android中,当push收到时,处
本文向大家介绍iOS实现消息推送及原理分析,包括了iOS实现消息推送及原理分析的使用技巧和注意事项,需要的朋友参考一下 一、消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1、Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]); 2、APNS:Apple Pu
问题内容: 我已经在项目中实现了推送通知,到目前为止一切正常。我尝试过通过Pusher发送通知,但效果很好。但是我必须通过PHP发送它们,但尚无法使用。我发现了许多有关如何实现此目标的旧解释,但似乎没有一个对我有用。 这就是我要使用的方法: 问题答案: 尝试使用此php脚本,确保.pem证书在运行时以与该php脚本相同的路径退出,并获得正确的设备令牌
问题内容: 我正在尝试发送推送通知,我已在应用程序委托中进行了通知注册,并且apns设备令牌正在正确生成。我也已经在服务分机中编写了如下代码: 。并且json中的有效负载如下 我收到 标题 和 消息, 但是 图像 未显示。请指导如何在推送通知中获取图片 问题答案: 这行: 在userInfo字典中寻找作为对象子项的值。它正在寻找这个: 但是您的问题中的有效载荷是这样的: “数据”部分不存在,键也不
本文向大家介绍iOS推送之本地通知UILocalNotification,包括了iOS推送之本地通知UILocalNotification的使用技巧和注意事项,需要的朋友参考一下 摘要: Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类,本