无法从 Azure 通知中心接收关于 iphone 的推送通知
cannot receive push notification on iphone from Azure notification hub
我使用 Azure 通知中心创建了一个带有推送通知的 iphone 应用程序。但是我很难推动工作。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/******** code for Push notification **********/
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
NSLog(@"Entered appDelegate didFinishLaunchingWithOptions");
return YES;
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *) deviceToken {
SBNotificationHub* hub = [[SBNotificationHub alloc] initWithConnectionString:@"<my azure listening connection string>" notificationHubPath:@"myhub"];
NSLog(@" DeviceToken: %@",deviceToken);
[hub registerNativeWithDeviceToken:deviceToken tags:nil completion:^(NSError* error) {
if (error != nil) {
NSLog(@"Error registering for notifications: %@", error);
}
else {
[self MessageBox:@"Registration Status" message:@"Registered"];
}
}];
}
-(void)MessageBox:(NSString *)title message:(NSString *)messageText {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:messageText delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo {
NSLog(@"%@", userInfo);
[self MessageBox:@"Notification" message:[[userInfo objectForKey:@"aps"] valueForKey:@"alert"]];
}
我已按照此文档中的步骤操作:
https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-ios-get-started/
我在会员中心创建了一个明确的应用程序 ID,它与我的包 ID 匹配。我正在使用开发人员证书并在 Azure 下选择 "sandbox"。
当我第一次在 iphone(不是模拟器)上启动我的应用程序时,我收到了接受推送通知的提示 - 我选择了是。然后我的代码从 apple 获取一个令牌并将其注册到 Azure NH,这是成功的。
在 Azure NH 调试选项卡中,我进行了一次广播发送,该发送已成功从 Azure 发送到 APNS。但我从未收到任何通知。这是 Azure 上推送通知消息的正文:
{"aps":{"alert":"Notification Hub test notification"}}
我已经尝试了多次,甚至创建了一个单独的项目来测试推送通知(单独的证书、配置文件等),但它仍然不起作用。
当我故意对 Push 消息的有效负载进行畸形处理时,我确实收到了预期的错误所以看起来从 NH 到 APNS 的连接是好的。
我的要求是一个月推送1亿左右
如果有人使用 Azure 通知进行推送通知,请告知如何解决这个问题?
如果有人对 Azure NH 的体验不佳,请分享您最终迁移到的目标。
提前致谢。
我能够让它工作。
我删除了 Apple 开发者中心和我的 mac 上的所有证书。我重新创建了证书,然后再次执行该过程。这次一切顺利。
谢谢。
我使用 Azure 通知中心创建了一个带有推送通知的 iphone 应用程序。但是我很难推动工作。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/******** code for Push notification **********/
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
NSLog(@"Entered appDelegate didFinishLaunchingWithOptions");
return YES;
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *) deviceToken {
SBNotificationHub* hub = [[SBNotificationHub alloc] initWithConnectionString:@"<my azure listening connection string>" notificationHubPath:@"myhub"];
NSLog(@" DeviceToken: %@",deviceToken);
[hub registerNativeWithDeviceToken:deviceToken tags:nil completion:^(NSError* error) {
if (error != nil) {
NSLog(@"Error registering for notifications: %@", error);
}
else {
[self MessageBox:@"Registration Status" message:@"Registered"];
}
}];
}
-(void)MessageBox:(NSString *)title message:(NSString *)messageText {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:messageText delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo {
NSLog(@"%@", userInfo);
[self MessageBox:@"Notification" message:[[userInfo objectForKey:@"aps"] valueForKey:@"alert"]];
}
我已按照此文档中的步骤操作:
https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-ios-get-started/
我在会员中心创建了一个明确的应用程序 ID,它与我的包 ID 匹配。我正在使用开发人员证书并在 Azure 下选择 "sandbox"。
当我第一次在 iphone(不是模拟器)上启动我的应用程序时,我收到了接受推送通知的提示 - 我选择了是。然后我的代码从 apple 获取一个令牌并将其注册到 Azure NH,这是成功的。
在 Azure NH 调试选项卡中,我进行了一次广播发送,该发送已成功从 Azure 发送到 APNS。但我从未收到任何通知。这是 Azure 上推送通知消息的正文:
{"aps":{"alert":"Notification Hub test notification"}}
我已经尝试了多次,甚至创建了一个单独的项目来测试推送通知(单独的证书、配置文件等),但它仍然不起作用。
当我故意对 Push 消息的有效负载进行畸形处理时,我确实收到了预期的错误所以看起来从 NH 到 APNS 的连接是好的。
我的要求是一个月推送1亿左右
如果有人使用 Azure 通知进行推送通知,请告知如何解决这个问题?
如果有人对 Azure NH 的体验不佳,请分享您最终迁移到的目标。
提前致谢。
我能够让它工作。
我删除了 Apple 开发者中心和我的 mac 上的所有证书。我重新创建了证书,然后再次执行该过程。这次一切顺利。
谢谢。