2013-03-19 51 views
0

我正在開發使用Adobe AIR的quickblox應用程序,這迫使我使用REST Api而不是本地庫。我無法使推送通知適用於離線消息或管理面板。下面是我做什麼細節:QuickBlox:無法使用REST api獲取推送通知

管理控制檯:

  1. 上傳蘋果證書都傑韋利和生產推送通知
  2. 安裝項目ID和對應用GCM

服務器密鑰激活:

註冊APNS。獲取設備令牌:

XXXXXXX1fd86e783c1410e9b9e41e9f11339e33f17f59bfcc7d6bf9XXXXXXXXX

生成設備的UDID。這不是Apple的設備UDID,因爲它現在已被棄用。我自己生成一個。我說這只是在情況下,這可能是問題

登錄Quickblox作爲用戶與設備信息

POST

{ 
    "auth_key":"XXXXXXXXXX", 
    "nonce":8072, 
    "user":{ 
     "password":"XXXXXXX", 
     "login":"XXXXXX" 
     }, 
    "application_id":"1563", 
    "timestamp":1363692198, 
    "device":{ 
     "platform":"ios", 
     "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4" 
     }, 
    "signature":"d61293bbd98d2e523952c0f30e44ec514fb7f86a" 
} 

登錄就可以了。創建推送令牌。作爲client_identification_sequence我用

從蘋果

檢索到的令牌POST

{ 

    "push_token":{ 
     "environment":"development", 
     "client_identification_sequence":"XXXXXXX1fd86e783c1410e9b9e41e9f11339e33f17f59bfcc7d6bf9XXXXXXXXX" 
     }, 
    "device":{ 
     "platform":"ios", 
     "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4" 
     } 
} 

Quickblox返回一個標記153323所以我以爲一切都OK現在

創建訂閱

POST

{ 

    "notification_channels":"apns" 

} 

Quickblox返回以下

[ 
    { 
     "subscription":{ 
      "device":{ 
       "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4", 
       "platform":{ 
        "name":"ios" 
        } 
       }, 
      "id":167704, 
      "notification_channel":{ 
       "name":"apns" 
       } 
     } 
    } 
] 

UDid匹配udid我從登錄傳遞。一切看起來不錯

現在我去管理面板,並嘗試發送消息。管理員控制檯說:

Notification has been successfully added to queue

如果我去排隊,消息顯示爲「發送」,但我從來沒有收到我的設備的通知。

任何幫助,將不勝感激

回答

0

你的代碼看起來不錯,

一些意見:

1)你不需要通過

"device":{ 
     "platform":"ios", 
     "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4" 
     }, 

PARAMS會話,因爲你是使它們在創建推送令牌

2)UDID - 這是爲了分離用戶設備,因爲用戶可以擁有多個設備。所以,你可以傳遞給「UDID」唯一標識用戶的特定設備

3)如果已經從管理面板發送消息的任何值 - 這意味着我覺得一切都在客戶端確定。所以只需檢查你的APNS證書,重新上傳它們。

+0

嗨。我重新上傳了證書,但仍未收到通知。如果我上傳同樣的證書urbanairship,並從那裏它的作品發送測試消息,我的應用程序變得日通知,所以我asume everuthing是正確的在服務器端安裝程序。 – 2013-04-15 14:39:46