由于通道 url 不兼容,设备未接收 C# Windows 推送通知

2024-03-03

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

  • 激活服务于https://appdev.microsoft.com

  • 得到了SID,我们调用它ms-app://s-1-23-4-12345678901-...-12345678901

  • 收到客户端密钥,我们调用它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
    
  • 我将正确的包名称、发布者显示名称和发布者 ID 添加到我的 Package.appxmanifest 文件中

  • 所以我想我已经准备好测试推送通知了。使用我自己的 Push Sharp 实现,fiddler 输出如下:

    Request:

    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>
    

    Answer

    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
    
  • 我找到了这个帖子频道 URL 与呼叫者应用程序不兼容 https://stackoverflow.com/questions/17115257/channel-url-incompatible-with-caller-app到目前为止这并没有真正帮助

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


哇,这太令人难以置信了。我几乎要疯了,但这是解决方案(和解释):

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


手动设置应用程序的身份值

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

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

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

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

PROJECT -> STORE -> ASSOCIATE APP WITH THE STORE...

这解决了我的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

由于通道 url 不兼容,设备未接收 C# Windows 推送通知 的相关文章

  • 检查空参数的最佳方法(保护子句)

    例如 您通常不希望构造函数中的参数为空 因此看到类似的内容是很正常的 if someArg null throw new ArgumentNullException nameof someArg if otherArg null throw
  • 以相反的顺序迭代可变参数模板参数

    如果我手动反转传递给它的模板参数的顺序 以下代码将起作用 template
  • SL4 AutoCompleteBox 重复筛选结果问题

    我在 AutoCompleteBox 过滤方面遇到问题 它似乎记住了之前的过滤器 例如 我输入 A 它会返回 1 项 我删除 A 并输入 Z 这应该返回 1 项 问题是它返回 A 过滤器加上 Z 的结果 我删除 Z 并输入 S 这会带回 2
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • C# 中附加/分离事件处理程序的不同方式有什么区别

    我的问题有两个部分 首先 我们可以通过以下两种方式附加事件处理程序 myObject MyEvent new EventHandler MyHandler myObject MyEvent MyHandler 据我了解 这两者是等价的 在第
  • 通过引用传递时取消引用指针

    当通过引用传递给函数时取消引用指针时会发生什么 这是一个简单的例子 int returnSame int example return example int main int inum 3 int pinum inum std cout
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 如何在 Windows 窗体中运行屏幕保护程序作为其背景?

    如何在 Windows 窗体中运行屏幕保护程序作为其背景 用户还可以在屏幕保护程序运行时与表单控件进行交互 为什么这个 我们有一个案例 需要在用户时运行 Windows Bubbles 屏幕保护程序 可以继续与表单控件交互吗 您可以使用以下
  • F10键没被抓住

    I have a Windows Form and there overriden ProcessCmdKey However this works with all of the F Keys except for F10 I am tr
  • 为什么重载方法在 ref 仅符合 CLS 方面有所不同

    公共语言规范对方法重载非常严格 仅允许根据其参数的数量和类型来重载方法 如果是泛型方法 则根据其泛型参数的数量进行重载 根据 csc 为什么此代码符合 CLS 无 CS3006 警告 using System assembly CLSCom
  • 如何在 C# 中使用 XmlDsigC14NTransform 类

    我正在尝试使用规范化 xml 节点System Security Cryptography Xml XMLDsigC14nTransformC net Framework 2 0 的类 该实例需要三种不同的输入类型 NodeList Str
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 无法通过 LINQ to Entities 使用某些功能?

    我正在尝试使用 LINQ 查询在项目上实现搜索功能 由于数据有时包含带有重音符号和其他符号的字符 因此我创建了一种方法来删除这些字符以进行搜索 这是我的代码 var addresses from a in db Addresses join
  • 有没有更好的方法来获取每个项目与谓词匹配的子序列?

    假设我有一个 IEnumerable 例如 2 1 42 0 9 6 5 3 8 我需要获得与谓词匹配的项目的 运行 例如 如果我的谓词是 bool isSmallerThanSix int number 我想得到以下输出 2 1 0 5
  • 微软语音识别速度

    我正在使用微软的语音识别器开发一个小型练习应用程序 对于我正在做的事情来说 我似乎无法让它足够快地识别单个单词 我希望能够正常说话 系统将从我所说的内容中抓取 关键字 并生成一个字符串 目前我正在使用 5 个单词的自定义语法 红 蓝 黄 绿
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows

随机推荐

  • GOF 单例模式有任何可行的替代方案吗?

    面对现实吧 单例模式是极具争议性 https stackoverflow com questions 11831 singletons good design or a crutch 11839大量程序员的主题both栅栏的两侧 有些人觉得
  • Java - 创建一个具有指定长度并填充特定字符的新 String 实例。最好的解决方案? [复制]

    这个问题在这里已经有答案了 我确实检查了其他问题 这个问题的重点是以最有效的方式解决这个特定问题 有时您想要创建一个具有指定长度的新字符串 并使用默认字符填充整个字符串 也就是说 如果你能做到的话那就太酷了new String 10 并从那
  • Ftp 仅在 .NET 4.0 中抛出 WebException

    我有以下 C 代码 当针对 NET Framework 3 5 或 2 0 编译时 它运行得很好 我没有针对 3 0 进行测试 但它很可能也能工作 问题是 当针对 NET Framework 4 0 构建时它会失败 FtpWebReques
  • 负索引数组的实现

    我正在制作一个世界向各个方向无限延伸的游戏 这意味着您可以处于以下位置X 50 Y 50 or X 50 Y 50 但是 我真的无法用普通的 C 列表做到这一点 我想出的所有想法似乎都太复杂 效率低下 无法实现 实现无限网格的最简单方法是使
  • sql server 排序规则冲突

    当我发出 SQL 查询时 有时会收到以下错误消息 无法解决等于操作中 Latin1 General CI AS 和 SQL Latin1 General CP1 CI AS 之间的排序规则冲突 我经常解决这个问题只是使两个表排序规则相同 所
  • Windows 上 Ruby 中的 Unicode 文件名

    我有一段代码 如下所示 Dir new path each do entry puts entry end 当我列出的目录中有一个名为 世界 txt 的文件时 问题就出现了 在 Windows 7 机器上我得到输出 txt 通过谷歌搜索 在
  • R 错误:`n()` 只能在 dplyr 动词内部使用

    我收到错误的代码 numCrimesByLSOA lt crimes gt select LSOA code LSOA name Crime type gt group by LSOA code gt summarise Num crime
  • 问题:nginx:[emerg] mkdir()“/var/cache/nginx/client_temp”失败(13:权限被拒绝)

    我正在尝试跑步Nginx on Openshift但面临这个目录权限问题 由于此错误 容器未创建 以下权限设置为手动创建的文件 drwxr xr x 3 root root 79 Dec 22 02 50 etc nginx drwxr x
  • 车祸最低门槛

    我正在使用加速度计来检测车祸 我遇到了检测车祸所需的最小阈值的问题 检测车祸所需的最低阈值是多少 Override public void onSensorChanged SensorEvent event float x event va
  • 垂直或水平调整 div 大小

    如何在不使用 css 属性的情况下调整 div 垂直或水平大小 仅使用纯 javascript 代码从高度或宽度调整大小 HTML div div This is the top side s content div div div div
  • 如何强制 Git (2.5+) HTTP 传输更喜欢 SPNEGO 而不是基本身份验证?

    Summary 我正在使用 Git for Windows 2 5 1 通过 Kerbesized Git 服务器进行身份验证 当我使用表单中的 URL 时https el2 gitlab sa c kkm GrammarTools git
  • 导出到 Apps 脚本 web 应用程序的图表数据为空

    我有一个 Google 表格 我正在使用它作为我的团队正在开展的项目的数据库 我想做的是使用这些数据在 Google 网站上构建不同的屏幕 例如 我已经能够添加一个显示所有活动项目的下拉列表 选择项目后 将返回并显示 HTML 表格 现在
  • 如何在 VSC 中注释/取消注释 jsx(使用键盘 `cmd /`)?

    谁能告诉我如何在 VSC 中注释 JSX 代码 我看了下面列出的文章 似乎都没有给出具体的解决方案 而且票证似乎已经关闭 声称评论 取消评论功能已在VSC上得到妥善解决 但是 按照建议尝试以下方法后 我仍然遇到问题 在 VSC 上禁用 su
  • 二维数组的线性排序

    我是 C 编程新手 正在尝试编写一些排序程序 我编写了线性 正常排序的程序 现在我想做一个程序来对二维数组进行排序 即如果矩阵是 4 6 1 3 2 9 5 7 8 那么结果应该是 1 2 3 4 5 6 7 8 9 由于您希望 2D 数组
  • 控制 genoPlotRplot_gene_map 中的边距

    我正在制作一个plot gene map数字由genoPlotR R包 它给出了一个水平系统发育树 其中与每个叶子对齐的是一个基因组片段 这是一个简单的例子 说明了我的用法和问题 The plot gene map函数需要一个ade4的包p
  • 使用 django Rest 框架在验证步骤之前修改数据

    我有一个简单的Model存储创建它的用户ForeignKey 该模型有对应的ModelSerializer and ModelViewSet 问题是当用户提交一个POST要创造一个新记录 user应该由后端设置 我尝试覆盖perform c
  • 如何(可移植地)使用 C++ 类层次结构和动态链接库

    好吧 我知道可移植性不是 C 的强项 但我必须让我的代码在 Mac 和 Windows 上运行 我已经提出了一种解决方案 但它并不完美 我有兴趣看看是否有人可以提出更好的解决方案 我需要在多个 DLL 包中使用类层次结构 例如 我有一个抽象
  • iOS 6 视图加载期间的设备方向处理?

    我有一个标签栏应用程序 我使用的是 XCode 4 3 3 我已经升级到 4 5 2 带有 iOS6 的东西 我的代码在shouldAutorotateToInterfaceOrientation每个视图都会检查当前设备方向并正确放置所有
  • 如何在 XAML 中构建控件网格?

    我正在尝试按照规范在 WPF 中构建 UI UI 用于编辑项目集合 每个项目都有一个可编辑的字符串属性 以及 UI 需要显示的可变数量的只读字符串 它可能看起来像这样 或者 根据数据 可能有不同数量的文本标签列 文本列的数量是完全可变的 可
  • 由于通道 url 不兼容,设备未接收 C# Windows 推送通知

    经过几个小时的试用 我仍然无法向我的应用程序发送推送通知 这就是我到目前为止所做的 激活服务于https appdev microsoft com 得到了SID 我们调用它ms app s 1 23 4 12345678901 123456