2015-09-01 1 views
1

J'ai créé une application iPhone avec notification push à l'aide du concentrateur de notification Azure. Mais j'ai du mal à faire fonctionner le système.ne peut pas recevoir de notification push sur l'iphone à partir du hub de notification Azure

- (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"]]; 
} 

J'ai suivi les étapes forment ce document:

https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-ios-get-started/

J'ai créé un identifiant d'application explicite au centre membre et correspond à mon id paquet. J'utilise le CERT du développeur et j'ai choisi "sandbox" sous Azure. Quand j'ai lancé mon application pour la première fois sur mon iPhone (pas sur simulateur), je reçois l'invite pour accepter les notifications push - j'ai choisi oui. Ensuite, mon code obtient un jeton d'Apple et s'enregistre avec Azure NH, ce qui est un succès. À partir de l'onglet de mise au point NH Azure, j'ai envoyé un envoi de diffusion qui a été envoyé avec succès d'Azure à APNS. Mais je n'ai jamais reçu de notifications. Voici le corps du message de notification push sur Azure:

{ "aps": { "alerte": "notification notification test Hub"}}

J'ai essayé ce à plusieurs reprises et a même créé un projet isolé juste pour tester la notification push (certs séparés, profil d'approvisionnement etc) et cela ne fonctionne toujours pas.

Lorsque je déforme intentionnellement la charge utile du message pour Push, j'obtiens une erreur comme prévu Donc il semble que la connexion de NH à APNS est bonne.

Mon exigence est d'envoyer environ 100 millions de poussées par mois.

Si quelqu'un a utilisé la notification Azure pour les notifications push, veuillez indiquer comment résoudre ce problème.

Si quelqu'un a eu une mauvaise expérience avec Azure NH, veuillez partager ce que vous avez fini par migrer vers.

Merci d'avance.

Répondre

0

J'ai réussi à faire fonctionner ceci. J'ai supprimé tous les certificats sur le centre de développement Apple et mon mac. J'ai recréé les certificats et ensuite suivi le processus à nouveau. Tout a fonctionné cette fois.

Merci.