Clojure:两步发送iOS推送通知(apns)

首先在project.clj中,添加对notnoop 类库的引用:[com.notnoop.apns/apns "0.2.3"]

然后使用如下方法就可以发送推送消息了:

 1 (ns demo.apns
 2   (:import (com.notnoop.apns APNS)))
 3
 4 (defn send-push-notification
 5   [device-tokens message]
 6   (loop [rest-device-tokens device-tokens
 7          sent-count 0]
 8     (if (empty? rest-device-tokens)
 9       sent-count
10       (do
11         (let [service (.build (.withSandboxDestination
12                                 (.withCert (APNS/newService)
13                                            "resources/demo.p12"
14                                            "password")))
15               payload (.build (.alertBody (APNS/newPayload) message))]
16           (.push service (first rest-device-tokens) payload))
17         (recur (rest rest-device-tokens) (inc sent-count))))))

调用方法如下:

(send-push-notification [“token1” “token2” …] “test message”)

需要注意证书必须为p12格式(可以通过KeyChain Access软件转换)

Clojure:两步发送iOS推送通知(apns)

时间: 2024-10-12 15:32:05

Clojure:两步发送iOS推送通知(apns)的相关文章

iOS 推送通知流程

别的不说,现在AppDelegate.m中添加以下代码块 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     // 将这行代码插入     [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationT

如何发送本地推送通知

如何发送本地推送通知 推送通知也属于UI的一部分,所以推送通知对象是以UI开头 方法送通知的代码方法控制器的-touchesBegan: withEvent: 中测试,比较合适,放到viewDidLoad方法,用户的注册请求还没有完成方法就调用了 创建本地通知 // 创建本地通知对象 UILocalNotification *ln = [[UILocalNotification alloc] init]; 设置本地通知属性(推荐一个一个属性测试运行) // 1.设置通知的内容(如果此属性不设置是

IOS推送通知测试工具PushMeBaby

下载了PushMeBaby在xcode5里中不能使用,类库变了.需要添加Carbon.framework库,在引用的地方改成: #include <Carbon/Carbon.h>,程序就可以 运行了.测试时要变成自己的证书. 下载地址:点击打开链接 IOS推送通知测试工具PushMeBaby,码迷,mamicode.com

制作苹果推送通知APNS服务器证书文件

1.准备证书申请文件 打开苹果电脑实用工具里的钥匙串访问程序 选择钥匙串访问—>证书助理—>从证书颁发机构申请证书 输入邮件地址,常用名词随便命名,在这里命名为APNS 选择存储到磁盘,将生成的APNS.certSigningRequest文件保存到本地磁盘 此时,在钥匙串访问程序的密钥(Keys)分类里应该可以找到APNS的专用密钥,右键点击导出“APNS”将专用密钥导出为p12文件,保存时会提示输入口令,输入后生成APNS.p12文件 2.准备App ID和SSL证书 登陆苹果开发者门户,

ios推送通知之ios推送证书的申请和使用配置

很多人初次接触推送通知,不知道怎么去申请ios推送证书和配置推送. 很多人犯的错误就是用推送证书p12去打包ipa,推送不是用来打包的,下面详细介绍ios推证书的申请和配置使用. ios推送证书分为测试调试用的iOS推送证书(开发环境)和上架到App Store的ios 推送证书!(生产环境) APP要推送通知首先要在创建APPID时勾选推送服务. 推送证书是配置上传到推送平台的,如极光推送.个推.小米推送等,不是用来打包ipa的,下面会有介绍. 一.创建唯一标示符App IDs 首先打开开发者

【PHP】iOS推送通知以及反馈服务

近来项目是完成一个PHP的推送服务器,无论是PHP,APNs还是GCM基本上都是从零开始. 写下一点见解,方便以后继续做代码的搬运工. 因为对PHP跟iOS都不熟悉,可能有错漏...穷孩子没有用过iOS的东西... 设备如果希望能够及时收到服务器的消息,大概有三种方式: 1)轮询(Pull)方式:客户端与服务器主动连接查询.因为及时性以及耗电量等要求不可得兼,一般不考虑. 2)SMS(Push)方式:在Android平台,可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,并获取其显示内容

iOS 推送通知中那些让你故意犯的错误~

最近两天的工作中被推送这个玩意儿折磨了好一会,还好经过"不懈地"努力,弄明白了其中的原理.目前大部分app中使用的推送基本上都是第三方集成好的,都有官方的代码,所以写起来还是非常简单的.这里记录的是其中不可避免的,而官方文档中又可能没有提到的一些问题的解决方法. 首大家要搞清楚2个证书的使用位置,一个是开放证书,另一个是生产证书.一般在使用第三方集成的推送库中,都会要求上传这2个已经转化为.pem格式的证书.前者是在测试阶段时使用的,在真机上测试推送时,记得要选择开发模式,而且要记得把

iOS推送通知

一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1.Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]): 2.APNS:Apple Push Notification Service[苹果消息推送服务器]: 3.iPhone:用来接收APNS下发下来的消息: 4.Client App:IOS设备上的应用程序,用来接收iphone传递APNS下发的消息到制

iOS推送通知(Push Notification)的Erlang实现

本文来自:瑞仙的Erlang开发博客 原文链接:http://blog.csdn.net/zhongruixian/article/details/39528765 一.前言 关于cer/pem证书转换,网上很多资料,我这就不说了, 网上有PHP实现的Push Notification,可以参考, 为了更好的做PUSH服务定制,我这里以Erlang(gen_server)实现iOS Push Notification 二.协议 1.协议分析 表1 名称 长度 描述 Command 1 字节 固定