2014-10-20 4 views
0

Я пытаюсь реализовать push для своего приложения.Azure Mobile Services Push not working

Я после этого руководства: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-ios-get-started-push/

Однако, я использую API, вместо Data-скриптов, так что в одном из моих методов API я делаю это:

var push = request.service.push; 


    push.apns.send(null, { 
    alert: "Alert", 
    payload: { 
     inAppMessage: "Hey, a new item arrived" 
    } 
    }, { 
    success: function(resp) { 
     console.log(resp) 
    }, 
    error: function(err) { 
     console.error(err) 
    } 
    }); 

Мои журнал показывает это (Так я землю в успехе-методе [Кроме того, я знаю, что я никогда не должен приземлиться в ошибке для прошивки из-за яблоки нажать сервер не отвечает с ошибкой]):

{ isSuccessful: true, 
    statusCode: 201, 
    body: '', 
    headers: 
    { 'transfer-encoding': 'chunked', 
    'content-type': 'application/xml; charset=utf-8', 
    server: 'Microsoft-HTTPAPI/2.0', 
    date: 'Mon, 20 Oct 2014 11:31:21 GMT' }, 
    md5: undefined } 

Моего приложения зарегистрировано правильно, как это, я вижу сообщение обратного вызова и никакой ошибки:

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken: (NSData *)deviceToken 
{ 
    [client.push registerNativeWithDeviceToken:deviceToken tags:@[@"uniqueTag"] completion:^(NSError *error) 
    { 
     NSLog(@"registerNativeWithDeviceToken callback"); 
     if (error != nil) 
     { 
      NSLog(@"Error registering for notifications: %@", error); 
     } 
    }]; 
} 

Но не нажимная земли сообщения в моем Iphone! Ничего не происходит.

Я пытаюсь проверить наличие ошибок в моем центре уведомлений, но я не вижу там журнала.

Что мне не хватает? Я действительно не понимаю, где мой фактический идентификатор устройства все равно хранится на серверной стороне. Я должен что-то упустить.

Спасибо!

ответ

2

Лучший способ отладки, что происходит, это следовать инструкциям отладки Hub Уведомление здесь: http://msdn.microsoft.com/en-us/library/azure/dn530751.aspx

Я хотел бы начать с помощью Service Bus Explorer, перепроверить регистрацию имеет устройство маркера и теги вы ожидаете. После проверки этого, пожалуйста, проверьте отправку оповещения непосредственно через портал Notification Hub. Если у вас все еще есть проблемы, отправьте мне письмо по адресу [email protected]

+0

Awesome! Конечно, это была учетная информация. Теперь работает. Однако мое «подзапрос» все еще стоит: Где хранится идентификатор устройства? Как я могу, например, связать идентификатор пользователя с моей базой данных? – ullstrm

+1

В следующем блоге объясняются теги: http://blogs.msdn.com/b/africaapps/archive/2013/10/22/windows-azure-notification-hubs-tags-and-creating-a-breaking-news-app .aspx Мы рекомендуем использовать теги для идентификации пользователя и для идентификации группы. Вы можете добавлять теги либо в свой клиент, либо в службу. –

+0

@Spoek Извините, я пропустил ваш ответ! Если вы используете узел Mobile Service, вы можете добавить скрипт регистрации через портал. Если вы используете .Net Mobile Services, вы можете добавить INotificationHandler, используя следующие инструкции: http://blogs.msdn.com/b/azuremobile/archive/2014/04/08/push-notifications-using-notification-hub и-нетто-backend.aspx. Не зная шаблона вашего приложения, я не могу сказать, что лучше всего подключить эти данные к вашим исходным данным, но я рекомендую использовать идентификатор пользователя ZUMO или идентификатор пользователя Userken как ключевые теги для привязки, а не deviceId. –

0

Используйте свое меню отладки в Azure, как сказал @Todd Reifsteck, и, пожалуйста, проверьте имя тега как "myTag", так и myTag во время отладки.

Смежные вопросы