java push 用法_通过Java使用Apple Push Notification Service

我正在尝试实现将Apple Push

Notification发送到iPhone客户端应用程序的Java程序…找到了以下库:Java

APNs

提供者代码:

创建了以下代码(来自Javapns)以在我的应用中使用:

try {

PayLoad payLoad = new PayLoad();

payLoad.addAlert("My alert message");

payLoad.addBadge(45);

payLoad.addSound("default");

PushNotificationManager pushManager = PushNotificationManager.getInstance();

pushManager.addDevice("iPhone", "f4201f5d8278fe39545349d0868a24a3b60ed732");

log.warn("Initializing connectiong with APNS...");

// Connect to APNs

pushManager.initializeConnection(HOST, PORT,

"/etc/Certificates.p12", "password",

SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);

Device client = pushManager.getDevice("Lambo");

// Send Push

log.warn("Sending push notification...");

PushNotificationManager.getInstance().sendNotification(client, payLoad);

}

catch (Exception e) {

throw new ApnsPushNotificationException("Unable to send push " + e);

}

当我运行此应用程序时(如您通过Log4j语句所看到的),不会发生任何异常:

WARN [MyCode] Initializing connectiong with APNS...

WARN [MyCode] Sending push notification...

但是我的客户端应用程序未收到任何通知!

IDPP注册流程:

另外,在iPhone开发人员计划门户(IDPP)上执行以下操作:

创建基于APNS的SSL证书和密钥

创建并安装了配置文件

在服务器上安装了SSL证书和密钥。

已多次阅读《 Apple Push Notification Service指南》,并注意到以下几点:

(1)在第15页上,它指出设备令牌与设备UDID不同(我目前不正确地将其作为PushNotificationManager.addDevice()方法中的第二个参数传入(请参见上文))。

在第17页,它指出:

APN使用唯一的设备证书中包含的信息生成设备令牌。设备令牌包含设备的标识符。然后,设备令牌使用令牌密钥加密设备令牌并将其返回给设备。设备将设备令牌返回给设备请求将应用程序作为NSData对象。然后,应用程序必须以二进制或十六进制格式将设备令牌传递给其提供者。”

iPhone OS客户端实施

(2)阅读第33-34页之后,我发现我没有包含Objective-C代码来使应用程序向APN注册。

不是Objective-C开发人员,那么这是我可以恢复设备代码还是必须从证书中获取代码的地方?

我从哪里获得设备令牌(对不起,其他人编写了Objective-C客户端应用程序,并且我是Java开发人员)?

问题:

(1)除了不知道从何处获取设备令牌和移动客户端代码注册外,还有其他我没有看过或错过的事情吗?

(2)我使用Javapns库的方式正确吗?

感谢您抽出时间来阅读…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值