C# 使用ASP.NET服务器添加iPhone推送通知
以下是概述 我需要向iPhone应用程序添加推送通知。服务器端是c#中的ASP.NET 我想要的是在整个过程中得到一些指导。然后,我将发布iPhone项目和ASP.NET web应用程序的通用代码以及分步说明,以便其他人可以学习 以下是我的理解:C# 使用ASP.NET服务器添加iPhone推送通知,c#,iphone,push-notification,apple-push-notifications,C#,Iphone,Push Notification,Apple Push Notifications,以下是概述 我需要向iPhone应用程序添加推送通知。服务器端是c#中的ASP.NET 我想要的是在整个过程中得到一些指导。然后,我将发布iPhone项目和ASP.NET web应用程序的通用代码以及分步说明,以便其他人可以学习 以下是我的理解: 申请APNS证书并将其添加到密钥链。(不确定如何将其带到ASP.NET) 让iPhone向registerForRemoteNotificationWithTypes注册,将值发送到服务器,并存储在数据库中。似乎这个代码注册应该很容易,但我找不到一个好
- iPhone注册码
- 将iPhone注册码发送到服务器并保存到DB的代码(这很简单,我已经有了这些代码)
- 服务器端APNS联系人代码为c#。这还包括如何使用在Apple Developer网站上生成的证书
- 此外,有效负载是否可以是一个多选问题,并将结果发送回服务器
iphone的一部分非常琐碎,还有大量的例子我花了很长时间才弄明白,但我最终还是从人们留下的小线索中拼凑了出来。您需要下载在开发人员门户上注册的APPID的证书。该证书必须转换为P12格式才能在Windows上使用。UNIX中的这些命令最终为我做到了这一点: 步骤1:
openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem -outform PEM}
其中aps_developer_identity.cer是您从门户下载的文件
步骤2:
openssl pkcs12 -nocerts -out APSCertificates.pem -in APSCertificates.p12
其中APSCertificates.p12是从Mac密钥链导出的文件。这是至关重要的,您必须将证书从门户导入密钥链。在“我的证书”中找到它,打开“披露三角”,突出显示证书和私钥,然后右键单击并导出它们。给他们一个密码并将其保存到p12文件中
步骤3:
openssl pkcs12 -export -in aps_developer_identity.pem -out aps_developer_identity.p12 -inkey APSCertificates.pem
系统会多次提示您输入用于导出密钥链中的证书和私钥的密码,并再次提示您输入新密码以对其进行重新加密,但最终您将获得文件aps_developer_identity.p12,您需要将其移动到windows,然后将其导入MMC中证书管理器的Personal和Trusted Root部分。然后在C#中,当您使用moonans并调用PushNotification类时,您会给它一个指向该证书的路径。还要确保从设备令牌中删除空格。我将推荐一种在线推送解决方案。 关闭parse.com后,我使用了免费且易于与RESTAPI集成的api 旧答案:
我已经使用了免费且易于与RESTAPI集成的软件 旧答案:
我推荐你 我在月球APN上遇到了一些问题,我试着换成PushSharp,它在5分钟内就工作了。
PushSharp甚至支持Android和Windows Phone在同一软件包中推送消息。它还可以作为NuGet软件包提供。仅适用于.NET 4.0。作者也没有3.5的计划。这是我的一个要求,因为服务器提供商只允许3.5版本。所以我不得不使用月球APN,我还没有看到它工作。但我今天刚刚实现了它,明天我的朋友们将测试它。Moon APNS也是.NET4.0版本,但很容易将其设置为3.5版本。只需下载3.5中的依赖项库,并将它们和viola包含在内即可。project现已弃用。还有其他建议吗?同一位作者现在正在研究PushSharp-PushSharp非常容易使用,并且有一个逐步的教程,可以跳过所有的iOs环。还有很多奇怪的问题!:)是的,PushSharp一直在挂着Hi@RickLeinecker,你有没有为iPhone项目和ASP.NET web应用程序创建过通用代码,以及逐步的说明?如果你能为其他人提供,那就太好了。