gpt4 book ai didi

c# - 设备未收到 C# Windows 推送通知,因为 channel URL 不兼容

转载 作者:可可西里 更新时间:2023-11-01 08:54:42 25 4
gpt4 key购买 nike

经过几个小时的试用,我仍然无法向我的应用程序发送推送通知。这是我到目前为止所做的:

  • https://appdev.microsoft.com

    激活服务
  • 获取 SID,我们称它为 ms-app://s-1-23-4-12345678901-...-12345678901

  • 收到客户端 key ,我们称之为12Lwq7526OqNY8iN-aLkwds23451345

  • 在我的应用程序中,我在某个时候实现了以下(简化):

    PushNotificationChannel channel = null;
    channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
    System.Diagnostics.Debug.WriteLine(channel.Uri);
  • 这会打印出那种类型的 url:

    https://db3.notify.windows.com/?token=AgY7AABrfRCVgRV%2ba4DwoDjC2omrnOVwCkdhCrrzlJi6UpIwHzcig6%2fG5xZfnDqU0%2fXoE848ddiqyTaTlSSltp2Dn9Z3qaPsMAyh7kS%2bmlis1%2bwoh%2b%2b4DsAK1yeV1d9G1rUIuFs%3s
  • 我在我的 Package.appxmanifest 文件中添加了正确的包名称、发布者显示名称和发布者 ID

  • 所以我认为我已准备好测试推送通知。使用我自己的 push sharp 实现,fiddler 输出如下:

    请求:

    POST https://db3.notify.windows.com/?token=AgY7AABrfRCVgRV%2ba4DwoDjC2omrnOVwCkdhCrrzlJi6UpIwHzcig6%2fG5xZfnDqU0%2fXoE848ddiqyTaTlSSltp2Dn9Z3qaPsMAyh7kS%2bmlis1%2bwoh%2b%2b4DsAK1yeV1d9G1rUIuFs%3s HTTP/1.1
    X-WNS-Type: wns/toast
    Authorization: Bearer EgAC4AA1hAZAQMAklDAAEgAAAUe8/AGsK8a/yk78/WEDQf+KUld/nYIvJ51OIoCPgAfwqbl0oo1sPDLhd9ChiO/iLFVzwlTPE3trp9oTkJxNXi0yUrf+FKjRciq7Utek9B/4dxH9lFNy0R5iwdMS0xNS0yLTIyNDgyMDE1NzEtMjczODcxMjkyMy0yMzM3MbsS59ZuQmXCIAFoOiAAAAAAAgzMOTB7OuFIezrhS60gEAAoANS45LjYuMTBiPoPMh3Nj5MAEOp0RhrcMUx6D50AtDuzWE1AAAAAABeAG1zLWiwcDovL3MtTk2Nzk3LTEzOTYwNDkxODYtMjEyODYwMTQ3MS04MDg1MDg2ODUtMzY3NjQyNTk3OQA=
    Content-Type: text/xml
    Host: db3.notify.windows.com
    Content-Length: 138

    <toast>
    <visual>
    <binding template="ToastText01">
    <text id="1">This is a test</text>
    </binding>
    </visual>
    </toast>

    回答

    HTTP/1.1 403 Forbidden
    Content-Length: 0
    X-WNS-ERROR-DESCRIPTION: Channel URL incompatible with caller app
    X-WNS-MSG-ID: 5FC550364E079585
    X-WNS-DEBUG-TRACE: DB3WNS4011533
    Date: Mon, 23 Dec 2013 23:58:22 GMT
  • 到目前为止,我发现这个帖子 Channel URL incompatible with caller app 并没有真正帮助

我在使用 http://31daysofwindows8.com/push 的网络服务时遇到同样的错误。我可以在这里做什么?可能出了什么问题?请注意,此应用尚未发布到商店,我正在本地 Windows 8.1 安装上进行测试。

最佳答案

哇,这太不可思议了。我差点疯了,但这是解决方案(和解释):

在 Windows 应用程序仪表板中,它表示您可以手动或自动设置您的应用程序标识。我选择手动执行(我的意思是,为什么不呢?)。但那是一个错误。我引用自 microsoft.com 仪表板:


手动设置应用的标识值

在文本编辑器中打开应用的 AppManifest.xml 文件,并使用此处显示的值设置元素的这些属性。

<Identity Name=" MyName.MyApp " Publisher="CN=*******-****-****-****-************" />

这个方法没有让我收到推送通知!

获取推送通知(对我而言)的唯一方法如下:尝试通过调用此菜单由 Visual Studio 自动设置应用程序标识:

项目 -> 商店 -> 将应用与商店关联...

这解决了我的问题。

关于c# - 设备未收到 C# Windows 推送通知,因为 channel URL 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20753313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com