Pau*_*Dev 1 push-notification windows-store-apps windows-phone-8.1 wns
我目前正在为Windows Phone 8.1开发基于Cordova(版本4.0.0)的移动应用程序.
我从API Java-WNS(来自fernandospr的github)实现了Java代码,以向我的设备发送通知.
当我将通知消息推送到WNS时,我收到此错误:
Client in-bound response
403
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-WNS-DEBUG-TRACE: DB5SCH101111133
Date: Fri, 22 Jan 2016 10:44:55 GMT
Content-Length: 0
X-WNS-STATUS: dropped
X-WNS-ERROR-DESCRIPTION: Channel URL incompatible with caller app
X-WNS-MSG-ID: 6D850FC61AE7FDB5
X-WNS-NOTIFICATIONSTATUS: dropped
Run Code Online (Sandbox Code Playgroud)
以下是配置我的应用程序以接收通知的不同步骤:
这是我从WNS获得的频道URI:
https://db5.notify.windows.com/?token=AwYAAAD8sfbDrL9h7mN%2bmwlkSkQZCIfv4QKeu1hYRipj2zNvXaMi9ZAax%2f6CDfysyHp61STCO1pCFPt%2b9L4Jod72JhIcjDr8b2GxuUOBMTP%2b6%2bqxEfSB9iZfSATdZbdF7cJHSRA%3d
Run Code Online (Sandbox Code Playgroud)这是appxmanifest.file(名称为"来自platforms/windows文件夹和cordova windows phone项目的package.phone.appxmanifest"):
<?xml version='1.0' encoding='utf-8'?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">
<Identity Name="company-name.70**********2" Publisher="CN=02******-****-****-****-***********9" Version="1.1.0.0" />
<mp:PhoneIdentity PhoneProductId="06******-****-****-****-**********k" PhonePublisherId="s*******-****-****-****-***********5" />
<Properties>
<DisplayName>Demo Windows App Phone</DisplayName>
<PublisherDisplayName>My Company Name</PublisherDisplayName>
<Logo>images\StoreLogo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3.1</OSMinVersion>
<OSMaxVersionTested>6.3.1</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="com.company-name.demo" StartPage="www/index.html">
<m3:VisualElements BackgroundColor="transparent" Description="CordovaApp" DisplayName="Demo Windows App Phone" ForegroundText="light" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png">
<m3:DefaultTile Square71x71Logo="images\Square71x71Logo.png" Wide310x150Logo="images\Wide310x150Logo.png">
<m3:ShowNameOnTiles>
<m3:ShowOn Tile="square150x150Logo" />
<m3:ShowOn Tile="wide310x150Logo" />
</m3:ShowNameOnTiles>
</m3:DefaultTile>
<m3:SplashScreen Image="images\SplashScreenPhone.png" />
</m3:VisualElements>
<ApplicationContentUriRules>
<Rule Match="https://dev.company-name.fr/demo-windows-app/*" Type="include" />
</ApplicationContentUriRules>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClientServer" />
<DeviceCapability Name="webcam" />
<DeviceCapability Name="microphone" />
</Capabilities>
</Package>
Run Code Online (Sandbox Code Playgroud)
从服务器端,我使用两个参数对WNS进行身份验证:
我检查了有关此错误的不同主题,大多数有用的答案是将应用程序关联到Windows应用商店.但我总是这样做而且我不适合我.
如果我理解得很好,WNS平台只需要知道ID应用程序(SID包)来查找我的应用程序并向我的应用程序发送通知.我不需要通过Windows商店部署我的应用程序.
你对如何解决这个问题有所了解吗?你觉得我忘记了什么或做错了吗?
编辑:
我想我找到了问题!我正在努力,当我解决我的问题时,我会回到这里发布我的解决方案.
我找到了解决我问题的方法.我很愚蠢,因为我没有看到我的应用程序与Windows商店的关联与必须生成的appx存档之间的关系.我部署了错误的appx,这就是我从未收到通知窗口的原因.事实上,错误的appx从未与Windows商店相关联......
因此,这里是部署链接到Windows应用商店的appx存档的步骤(来自Visual Studio 2015 RC):
因此,不要忘记创建一个应用程序包,将其与Windows商店关联,并可以接收通知窗口.
您可以从创建Windows 8.1应用程序包的文档中检索有关此的准则(除了有关部署的步骤).
归档时间: |
|
查看次数: |
1795 次 |
最近记录: |