繁体   English   中英

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

[英]Add iPhone push notification using ASP.NET server

这是概述。

我需要将推送通知添加到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网站上生成的证书。

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

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

这让我永远想出来,但我终于从人们留下的小线索中拼凑出来。 您需要下载在开发人员门户上注册的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 Keychain导出的文件。 这很关键,您必须将证书从门户导入到钥匙串中。 在我的证书中找到它,打开显示三角形并突出显示证书和私钥,然后右键单击并导出它们。 给他们一个密码并将其保存到p12文件。

第3步:

openssl pkcs12 -export -in aps_developer_identity.pem -out aps_developer_identity.p12 -inkey APSCertificates.pem

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

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

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

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

我会推荐一个在线推送解决方案。 在parse.com关闭后,我使用了https://onesignal.com/ - 免费且易于与REST API集成。

老答案:
我使用https://parse.com/products/push - 免费且易于与REST API集成。

老答案:
我推荐PushSharp

我在Moon-APNS上遇到了一些问题,我试图改用PushSharp,它在5分钟内完成。 PushSharp甚至支持Android和Windows Phone在同一个包中推送消息。 它可以作为NuGet包提供。

可悲的是,PushSharp仅适用于.NET 4.0。 作者也没有3.5的计划。 这是我的要求,因为服务器提供商只允许3.5。 所以我不得不选择Moon-APNS,我还没有看到它工作。 但我今天刚刚实施了,明天我的朋友们将对其进行测试。 Moon-APNS也是.NET 4.0,但它很容易设置为3.5。 只需下载3.5中的依赖库,包括那些你很好的中提琴。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM