标签: mpns

Windows Phone 7 - 经过身份验证的推送通知的步骤

我通过互联网查看了许多不同的资源,以了解Windows Phone 7的Authenticated Push Notification机制的先决条件和实现.

我经历过:

  1. http://msdn.microsoft.com/en-us/library/ff941099(VS.92).aspx ,
  2. http://msdn.microsoft.com/en-us/library/gg521150(v=VS.92).aspx
  3. http://csainty.blogspot.com/2011/01/wp7-authenticated-push-notifications.html

我所追求的是经过身份验证的推送通知的先决条件和实现的确切步骤(1,2,3 ......).

此外,当我们没有通过市场提供的应用程序时,这在开发时如何工作?

c# push-notification windows-phone-7 mpns

13
推荐指数
1
解决办法
1881
查看次数

使用php发送Windows Phone 7的推送通知

我是一名Web开发人员(PHP).我想使用PHP搜索到Windows Phone 7的推送通知,但结果总是.NET.

请有人可以帮助我.

更新:如何一次发送多个设备?因为延迟时间大约是1秒,所以如果我要推送1000个设备,我可能需要1000秒才能等待.

php push-notification windows-phone-7 mpns

11
推荐指数
1
解决办法
6486
查看次数

推送通知的WNS或MPNS?

我正在创建一个应用程序,它不断使用推送通知作为用户之间通信的方式(各种消息).这整个考验似乎让我有点疯狂,所以这里有几个我无法找到答案的问题.

  1. 我发现未经过身份验证的Web服务(没有证书的服务)会被限制为每个订阅每天500次推送通知MPNS.但是,在试图找到限制时,我无法在任何地方找到这样的提及WNS.是否存在这些限制/要求WNS

  2. 充其量,我发送了很多推送通知(即每个活跃用户每秒1-3次).我知道这可能会耗尽最小设备的电池寿命(我的目标通常是Windows 8设备),但轮询服务器以获取更新也是如此.我的方法具有响应速度快的优点,但我不确定推送(原始)通知是否适用于此类通信.还有其他选择吗?基本上我由于移动网络的性质而放弃了持久连接选项(连接可能会丢失)

  3. 这两者之间的实际差异是什么?

也许我对这个术语有点混淆,其他一些消息来源暗示我甚至不能四处走动MPNS,但却不能WNS做到这一点?

我不确定这是否是发布这些问题的正确媒体,但我希望有人能够对此有所了解.

windows throttling push push-notification mpns

8
推荐指数
2
解决办法
7922
查看次数

Microsoft推送通知服务403 - 禁止访问:拒绝访问

我试图从我的PHP服务器发送安全的Windows推送通知与有效的ssl证书,我收到此错误:

403 - 禁止访问:访问被拒绝.

您无权使用您提供的凭据查看此目录或页面.

我将证书上传到dev.windowsphone.com和HttpNotificationChannel,其中serviceName是我的证书通用名称.我从HttpNotificationChannel获得了https uri但是当我从服务器调用它时出错了.有谁知道问题是什么?

当我从服务器调用不安全的请求时,一切正常.

php windows-phone-8 mpns

8
推荐指数
1
解决办法
437
查看次数

HttpNotificationChannel Open()抛出InvalidOperationException("无法打开频道")

我正在编写一个使用推送通知的Windows Phone 7应用程序,并且有一个类负责管理MS Notification Server与我在云中的服务之间的交互.但是,当我试图在我的设备上打开频道时,HttpNotificationChannel会抛出InvalidOperationException,并显示消息"无法打开频道".根据MSDN, 我应该尝试再次打开频道.

我打开推送通知的代码段遵循标准模式;

public class HttpNotification {
  private const string kChannelName = "MyApp.PushNotification";

  private HttpNotificationChannel _Channel;

  public void Register() {
    try {
      _Channel = HttpNotificationChannel.Find(kChannelName);
      if (_Channel == null) {
        _Channel = new HttpNotificationChannel(kChannelName);
        InstallEventHandlers();

        // This line throws
        _Channel.Open();
      } else {
        InstallEventHandlers();
      };
    } catch (InvalidOperationException ex) {
      MessageBox.Show(string.Format("Failed to initialise Push Notifications - {0}", ex.Message));
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

我不确定MSDN的意思是"尝试再次打开频道".我已经在try/catch中调用了Open(),并在两次尝试之间暂停5秒,但是没有成功.我也尝试了相同的方法围绕整个方法(即每次抛出时调用HttpNotificationChannel.Find())无济于事.

我知道这有点模糊 - 但是想知道是否有人有任何处理这个的建议?这个相同的代码在模拟器中完美运行,但每次在我的实际设备上都会失败,即使在我的应用程序未安装和重新安装之后也是如此.鉴于这是我的实际手机,我有点保持沉默,希望它解决了这个问题,并且不愿意将此应用程序发布到市场,因为这个问题困扰着我.

更新:另外一点,我使用的是未经身份验证的渠道,因此我的基于云的服务没有安装证书.

更新#2:此外,我刚尝试将Microsoft Phone Push Recipe部署到我的设备上,它也抛出相同的异常.

c# push-notification windows-phone-7 mpns

6
推荐指数
2
解决办法
3640
查看次数

Windows Phone 7.5 - 在应用程序被逻辑删除时推送通知

我编写了一个Windows 7.5手机应用程序,用于注册MPNS的平铺和吐司推送通知.我有所有的基础设施工作,电话注册MPNS.我在手机上本地保存了ChannelUri,然后将ChannelUri发布到我网站上的一个休息服务端点,该端点记录了设备/ ChannelUri.我可以从网络服务发送烤面包和平铺消息,并在手机上接收它们没有任何问题.如果应用程序正在运行,我可以捕获ShellToastNotificationReceived事件并可以读取推送通知详细信息,并将消息保存到应用程序中的本地数据库,并且消息也会在列表框中显示给用户.除了必须注册ChannelUri之外,系统与我的网站断开连接,并且我需要的所有数据都包含在通知中.

我的问题是,当应用程序被逻辑删除并且我发送推送通知时,我看到手机操作系统显示的吐司消息,如果我点击吐司,我已经在我的应用程序中放置了指向页面的URI,这将重新启动app和我可以捕获消息中的所有数据,并可以将其再次保存到数据库中.但是如果应用程序被逻辑删除并且用户错过了toast我无法保存该消息它将丢失,除非我写一些逻辑返回到我的服务器并检查我在本地的消息是否与它发送的消息匹配.我错过了什么,或者当我的服务器重新启动并与我的服务器重新同步时,我将不得不对我的服务器进行检查,以获得用户可能错过的任何推送推送通知.

谢谢

push-notification windows-phone-7 mpns

6
推荐指数
1
解决办法
961
查看次数

Microsoft推送通知服务生成的URI字符串的最大长度是多少?

有人可以指导我从Microsoft PUSH Notification Services生成的URI的长度吗?

我得到的URL字符串长度为120.我只想确保每当我的Windows手机应用程序将从MPNS接收新URI时,它总是120字节长.如果它可以更长,那么它可以多久?

c# push-notification windows-phone-7 mpns

6
推荐指数
1
解决办法
1350
查看次数

Windows phone OS 7.0与OS 7.1

我正在visual studio上创建一个新的WP7应用程序,它要求我做的第一件事就是针对WP OS版本.

我有2个选项,7.0和7.1.

我正在尝试制作一个简单的应用程序,实现推送通知.我在微软的教程中看到了适用于OS 8.0和7.1的教程.那是什么意思?如果我选择7.1,它不会在OS 7.0中运行?

如果我为7.0开发它将完全工作,如果是,它将在7.1上运行吗?

operating-system push-notification windows-phone-7 mpns

6
推荐指数
1
解决办法
543
查看次数

Windows Phone 7 中的推送通知问题

我尝试了以下教程来在 Windows Phone 7 中创建推送通知。

http://www.sgtconker.com/2010/03/article-windows-phone-7-push-notifications/

http://www.silverlightshow.net/items/Implementing-Push-Notifications-in-Windows-Phone-7.aspx

我可以在 WP7 模拟器中创建通道 uri,没有任何错误。

但是,当我将推送通知从服务器发布到通道 uri 时。我只能收到 404 错误。

有人可以给我一些帮助吗?

谢谢。

=====

更新 1(10 月 28 日):

非常感谢您的回答。

在我阅读了最新的资源和示例代码后,我刚刚成功向 WP7 模拟器发送了推送通知。

WP7中的通道设置部分在最新的SDK中没有太大变化。

我之前遇到的问题是来自发送者的POST消息部分。

下面这个网站非常有用。

http://www.thisisfanzoo.com/Blog/JeffF/archive/2010/08/02/a-really-long-post-about-the-windows-phone-7-push.aspx

他展示了如何正确构建 POST 消息,这非常关键。

另外,当 WP7 模拟器(手机)关闭一个小时以上时,之前创建的通道 uri 将过期。因此,我们需要跟踪通道 uri,并在其发生变化时更新服务器。

祝你今天过得愉快。

=====

更新 2(10 月 28 日):

我刚刚在 Linux 服务器中使用 cURL 创建了 POST 消息,并通过推送通知成功将其传递到 WP7 模拟器。

文本编码(如 ASCII-UTF-8 转换问题)也得到了修复。

push-notification windows-phone-7 mpns

5
推荐指数
1
解决办法
2480
查看次数

WNS推送Windows Phone Silverlight 8.1中Voip应用的有效载荷

在windows phone 8中调用voip代理,服务器需要通过MPNS发送带有后续有效负载的类型4原始通知.

HttpWebRequest sendNotificationRequest = (HttpWebRequest)WebRequest.Create(subscriptionUri);

sendNotificationRequest.Method = "POST";

// We will create a HTTPWebRequest that posts the raw notification to the Microsoft Push Notification Service.
// HTTP POST is the only allowed method to send the notification.

// Create the raw message.

string rawMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<root></root>";
// Sets the notification payload to send.
byte[] notificationMessage = Encoding.Default.GetBytes(rawMessage);

// Sets the web request content length.
sendNotificationRequest.ContentLength = notificationMessage.Length;
sendNotificationRequest.ContentType = "text/xml";
sendNotificationRequest.Headers.Add("X-NotificationClass", "4");


using (Stream …
Run Code Online (Sandbox Code Playgroud)

silverlight voip mpns windows-phone-8.1 wns

5
推荐指数
0
解决办法
167
查看次数