无法从 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 上的所有证书。我重新创建了证书,然后再次执行该过程。这次一切顺利。

谢谢。