2016-03-09 19 views
0

我有一個帶有推送通知的非常簡單的Cordova應用程序。我使用VS2015 Update 1和最新的Cordova工具集(Update 7)以及正確安裝的Azure應用服務。當我通過VS運行RELEASE Win10 x64版本的應用程序時,我會按預期收到推送通知。但是,當我運行同一應用程序的調試版本(無源改變),我沒有得到推送通知和發件人收到錯誤:WNS推送通知在DEBUG模式下失敗,出現錯誤:從令牌提供程序獲取的令牌有誤

The Token obtained from Token Provider is wrong

兩個應用程序的Windows 10,本地機器上運行x64(不是模擬器)。

此行爲不一致。我有另一個VS2015 Cordova項目,可以在發佈和調試模式下使用推送通知。

在VS或Azure中是否有一些設置可以控制這種行爲?

回答

3

經過一天的沮喪之後,我確定了VS2015版本的Windows Store軟件包的Debug &之間的行爲差​​異。這可能是在Apache工具集的Update 7中引入的。

簡而言之,VS2015不會在Windows應用商店發佈商ID上籤署調試包。這會導致某些功能(如推送通知)不起作用。要解決此問題,請編輯Cordova項目的build.json文件,併爲調試版本添加一個條目,以強制VS使用您的Windows應用商店發佈者證書。該文件應該像下面大功告成後(我是缺少調試部分) - 當然把你的Windows應用商店中的佔位符公佈ID:

{ 
    "windows": { 
    "release": { 
     "packageCertificateKeyFile": "res\\native\\windows\\CordovaApp.pfx", 
     "publisherId": "CN=<InsertYourWinStorePubIdHere>" 
    }, 
    "debug": { 
     "packageCertificateKeyFile": "res\\native\\windows\\CordovaApp.pfx", 
     "publisherId": "CN=<InsertYourWinStorePubIdHere>" 
    } 
    } 
} 
+0

謝謝!該死的我因此而失去了很多時間...... –