使用ASP.NET服务器添加iPhone推送通知

Ric*_*ker 38 c# iphone push-notification apple-push-notifications

这是概述.

我需要将推送通知添加到iPhone应用程序.服务器端是c#中的ASP.NET.

我想要的是一些指导工作.然后,我将发布iPhone项目和ASP.NET Web应用程序的通用代码以及逐步说明,以便其他人可以学习.

这是我的理解:

  1. 申请APNS证书并将其添加到钥匙串.(不知道如何将其带到ASP.NET)
  2. 让iPhones注册registerForRemoteNotificationWithTypes,将值发送到您的服务器,并存储在数据库中.似乎这个代码注册应该很容易,但我找不到一个好样本.(将值发送到ASP.NET服务器没问题.)
  3. 您的服务器应用程序创建一个有效负载字符串,进行JSON编码,使用保存在数据库中的设备令牌,为APNS服务器发送每个(或者可以是用于组)的iPhone.

所以要开发添加,这里是件:

  • iPhone注册码

  • 将iPhone注册码发送到服务器并保存到DB的代码(这很简单,我已经有了这些部分).

  • 服务器端APNS联系人代码在c#中.这还包括如何使用Apple Developer网站上生成的证书.

  • 此外,有效负载是否可以作为多项选择问题,可以通过发送回服务器的结果来回答?

在此先感谢您的帮助.我将把它转成其他人的教程.

小智 18

这让我永远想出来,但我终于从人们留下的小线索中拼凑出来.您需要下载在开发人员门户上注册的APPID的证书.该证书必须转换为P12格式才能在Windows上使用.UNIX中的这些命令终于为我做了:

步骤1:

openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem -outform PEM}
Run Code Online (Sandbox Code Playgroud)

其中aps_developer_identity.cer是您从门户网站下载的文件

第2步:

openssl pkcs12 -nocerts -out APSCertificates.pem -in APSCertificates.p12
Run Code Online (Sandbox Code Playgroud)

其中APSCertificates.p12是您从Mac Keychain导出的文件.这很关键,您必须将证书从门户导入到钥匙串中.在我的证书中找到它,打开显示三角形并突出显示证书和私钥,然后右键单击并导出它们.给他们一个密码并将其保存到p12文件.

第3步:

openssl pkcs12 -export -in aps_developer_identity.pem -out aps_developer_identity.p12 -inkey APSCertificates.pem
Run Code Online (Sandbox Code Playgroud)

您将被提示几次输入用于在Keychain中导出证书和私钥的密码,并再次提示输入新密码以重新加密所有密码,但最后您将获得所需的文件aps_developer_identity.p12移动到Windows,然后将其导入MMC中证书管理器的"个人"和"受信任的根"部分.然后在C#中使用MoonAPNS并调用PushNotification类时,为其提供该证书的路径.还要确保从设备令牌中删除空格.


Dan*_*iel 11

所以对于C#推送部分,你可以使用一个开源项目,它很容易并且有一些示例代码,如何使用库来发送推送通知这里是一个链接C#推送通知项目

基本上你要做的就是从apple获取推送证书,然后将其放入你的项目中并在C#项目中打开它(你可以查看示例以及在哪里做这将是显而易见的)......

iPhone的部分非常简单,有很多例子