Tech

用NodeJS实现APNS

APNS(Apple Push Notification service)可以给ios设备推送通知,直观表述就是当某个app在后台运行时,能弹出提示消息。相比Android来,只有这一套方案所以少了很多调研成本。标题写NodeJS,只是因为我们的生产环境是NodeJS,我也用其他语言调过,测试的库是这三个:node-apns(NodeJS) / PyAPNs(Python) / apns(Ruby)。本文的重点不是针对代码(因为确实没什么代码量),而是描述如何在Apple开发者中心请求证书、生成PEM文件、读取PEM文件和证书对APNs的沙盒发送请求,设备接收到Notification后进行处理这一系列流程的入门文章。 Tips & Preparations APNs整套系统的原理文档中写得很详细,此处不赘述。只引用下图作为说明。 NodeJS要实现的是Provider(以下称服务)部分。 1. 需要申请Apple开发者帐号,准备一台真实设备。模拟器没有Device Token,不能测试APNS; 2. 收到提醒时,如果程序在前台打开会看不到提醒; 3. 如果连续推送内容相同的提醒会失败。

Continue Reading
Tech

在Dotcloud上搭建NodeJS+MongoDB环境

主要目的是练习KnockoutJS和Bootstrap,后台为了保持一致就用现成的NodeJS + MongoDB了。写好需要的功能,本地测试通过之后想试着布置一下,正好也可以了解Dotcloud架设这种环境的方法,网上没有现成的文档,有相关的文章,但不是用Express和Mongoskin写的,所以自己动手搭建了一个,现在把方法分享一下。 Dotcloud Configure 新建一个项目,目录结构和其他应用基本相同。忘了的话可以参考这篇架设Django的文章。根目录是kanoya-on-dotcloud,kanoya是NodeJS项目目录,目录中的文件列表如下:

Continue Reading