2014-10-20 79 views
0

我想實現推送到我的應用程序。Azure移動服務推不工作

我一直遵循這個指南: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-ios-get-started-push/

不過,我使用的API,而不是數據的腳本,所以在我的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) 
    } 
    }); 

我日誌顯示這(所以我着陸在成功的方法[也知道,我不應該出現iOS的錯誤,由於蘋果推服務器沒有響應錯誤]):

{ 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沒有推送消息的土地!什麼都沒有發生。

我試圖檢查我的Notification Hub中的錯誤,但我沒有看到那裏的日誌。

我錯過了什麼?無論如何,我真的不明白我的實際設備ID是存儲在服務器端的。我肯定錯過了什麼。

謝謝!

回答

2

調試正在發生的最好辦法就是在這裏按照通知樞紐調試步驟:http://msdn.microsoft.com/en-us/library/azure/dn530751.aspx

我將開始使用服務總線資源管理器來仔細檢查登記有你期望的設備令牌和標籤。驗證完成後,請通過Notification Hub門戶直接測試發送警報。如果您仍有問題,請發送電子郵件至[email protected]

+0

太棒了!當然這是一個憑證問題。現在正在工作。但是,我的「子問題」仍然存在:設備ID在哪裏存儲?我怎樣才能將id綁定到我的數據庫中的用戶? – ullstrm 2014-10-21 07:01:24

+1

以下博客解釋標籤:http://blogs.msdn.com/b/africaapps/archive/2013/10/22/windows-azure-notification-hubs-tags-and-creating-a-breaking-news-app .aspx我們建議使用標籤進行用戶標識和組標識。您可以在客戶端或服務中添加標籤。 – 2014-10-21 16:33:43

+0

@Spoek對不起,我錯過了你的回覆!如果您正在使用節點移動服務,則可以通過門戶添加註冊腳本。如果您使用的是.Net移動服務,則可以使用以下說明添加INotificationHandler:http://blogs.msdn.com/b/azuremobile/archive/2014/04/08/push-notifications-using-notification-hub -and淨backend.aspx。在不知道應用程序模式的情況下,我不能說將數據連接到後端數據的最佳位置,但我建議使用ZUMO InstallationID或用戶令牌的UserID作爲鏈接的關鍵標記而不是deviceId。 – 2014-11-13 21:56:35

0

在Azure中使用您的調試菜單,如@Todd Reifsteck所述,請在調試時測試標記名稱"myTag"myTag