资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

苹果推送服务java代码 ios推送服务端代码

苹果官方有没有关于 java 推送到 apns文档

直接给你代码参考吧

成都创新互联是一家专注网站建设、网络营销策划、成都微信小程序、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十余年以来,已经为千余家成都木屋各业的企业公司提供互联网服务。现在,服务的千余家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

public static void main(String[] args) throws Exception 

{

try

{

//从客户端获取的deviceToken,在此为了测试简单,写固定的一个测试设备标识。

String deviceToken = "df779eda 73258894 5882ec78 3ac7b254 6ebc66fe fa295924 440d34ad 6505f8c4"

System.out.println("Push Start deviceToken:" + deviceToken);

//定义消息模式

PayLoad payLoad = new PayLoad();

payLoad.addAlert("this is test!");

payLoad.addBadge(1);//消息推送标记数,小红圈中显示的数字。

payLoad.addSound("default");

//注册deviceToken

PushNotificationManager pushManager = PushNotificationManager.getInstance();

pushManager.addDevice("iPhone", deviceToken);

//连接APNS

String host = "gateway.sandbox.push.apple.com";

//String host = "gateway.push.apple.com";

int port = 2195;

String certificatePath = "c:/PushTest.p12";//前面生成的用于JAVA后台连接APNS服务的*.p12文件位置

String certificatePassword = "123456";//p12文件密码。

pushManager.initializeConnection(host, port, certificatePath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);

//发送推送

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

System.out.println("推送消息: " + client.getToken()+"\n"+payLoad.toString() +" ");

pushManager.sendNotification(client, payLoad);

//停止连接APNS

pushManager.stopConnection();

//删除deviceToken

pushManager.removeDevice("iPhone");

System.out.println("Push End");

}

catch (Exception ex)

{

ex.printStackTrace();

}

}

}

Java服务器端如何接收IOS远程推送传递来的devicetoken

您好,(1)下载前面建立的cer文件和provisioning文件,双击,导入到xcode中,在build setting中code signing一栏里选择这两个文件的名称,这样就可以将支持push的app部署到真机中。

(2)处理推送消息

客户端对推送消息的处理分两种情况:

一. 在App没有运行的情况下,系统收到推送消息,用户点击推送消息,启动App。此时,不会执行前面提到的 didReceiveRemoteNotification函数,而是在App的applicationDidFinishLaunching函数中处理推送,通过以下代码可以获取推送消息中的数据: NSDictionary *userInfo =[launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

二 . 当APP处于前台时,系统收到推送消息,此时系统不会弹出消息提示,会直接触发application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo函数,推送数据在userInfo字典中。

当App处于后台时,如果系统收到推送消息,当用户点击推送消息时,会执行application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo函数,

此时AppDelegate中函数执行的顺序为:

applicationWillEnterForeground

application:didReceiveRemoteNotification

applicationDidBecomeActiveI

java 如何实现系统消息推送

消息推送方式分为两种:短连接和长连接。也就是客户端与服务器之间的数据传输交互方式不同。

1、短连接又称为轮询,方式为pull。客户端定时向服务器发送请求,询问是否有数据,时间频次可以设置。这种的方式更适合web端使用,用在APP有很多弊端。

2、长连接方式为push,服务器主动向客户端发送数据。市面上移动端产品基本采用这种方式,但是ios和android系统有很大的区别。不论手机上安装了多少个APP,也只有一条长连接,消息最终由苹果服务器进行内置分发。即使用户关闭了APP,依然可以收到消息推送。

实现系统消息推送,就需要比较好的第三方软件就行辅助,极光就是一个不错的选择。极光JPush 是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。

java消息推送

如果只是弹出信息的那种UI的话,你应该搞得定

而如果是类似App那样弹出信息的功能的话,web搞不定,得App才行。开发App可以是Android的也可以是iOS的。如果是iOS的话,可以通过苹果的消息推送服务进行。而如果用Android的话,Google自己也有消息推送服务(貌似是Android 4.0以后才有),国内的话,平台就多了,有各大厂商自己的推送服务,也有BAT的推送服务,还有如讯飞等的其他商业推送服务。这些都要钱的

java如何获取苹果apns上应用卸载的信息,用户卸载了软件后台不知道还在推送消息。

不会有这个现象,苹果的推送不是服务器端发送的,而是苹果服务器端发送的。看来还不熟悉苹果APP推送流程。

用户在初次使用APP时,会被提示是否接受推送信息,如果接受,APP的服务器端会获得一个APP传回来的token;

APP服务器端再把这个token连同推送消息一起发送给苹果服务器端;苹果服务器端识别这个token后,就会向用户的手机发送推送消息;当APP卸载后,这个token也就失效了,也就无法推送了。

苹果apns java怎么推送

import java.io.InputStream;

import java.util.List;

import com.dbay.apns4j.IApnsService;

import com.dbay.apns4j.impl.ApnsServiceImpl;

import com.dbay.apns4j.model.ApnsConfig;

import com.dbay.apns4j.model.Feedback;

import com.dbay.apns4j.model.Payload;

/**

* @author RamosLi

*

*/

public class Apns4jDemo {

private static IApnsService apnsService;

private static IApnsService getApnsService() {

if (apnsService == null) {

ApnsConfig config = new ApnsConfig();

InputStream is = Apns4jDemo.class.getClassLoader().getResourceAsStream("Certificate.p12");

config.setKeyStore(is);

config.setDevEnv(false);

config.setPassword("123123");

config.setPoolSize(5);

apnsService = ApnsServiceImpl.createInstance(config);

}

return apnsService;

}

public static void main(String[] args) {

IApnsService service = getApnsService();

// send notification

String token = "94c4764e4645f42a7b2052692c8b5b41f9d5c925876e11fec5721e9045ee4e5b";

Payload payload = new Payload();

payload.setAlert("How are you?");

// If this property is absent, the badge is not changed. To remove the badge, set the value of this property to 0

payload.setBadge(1);

// set sound null, the music won't be played

// payload.setSound(null);

payload.setSound("msg.mp3");

payload.addParam("uid", 123456);

payload.addParam("type", 12);

service.sendNotification(token, payload);

// payload, use loc string

Payload payload2 = new Payload();

payload2.setBadge(1);

payload2.setAlertLocKey("GAME_PLAY_REQUEST_FORMAT");

payload2.setAlertLocArgs(new String[]{"Jenna", "Frank"});

service.sendNotification(token, payload2);

// get feedback

ListFeedback list = service.getFeedbacks();

if (list != null list.size() 0) {

for (Feedback feedback : list) {

System.out.println(feedback.getDate() + " " + feedback.getToken());

}

}

try {

// sleep 5s.

Thread.sleep(5000);

} catch (Exception e) {

e.printStackTrace();

}

// It's a good habit to shutdown what you never use

service.shutdown();

// System.exit(0);

}

}

包含推送功能、苹果的feedback功能,很是实用方便。

对于源码,我整理成了工程,下载地址为:


分享名称:苹果推送服务java代码 ios推送服务端代码
文章起源:http://cdkjz.cn/article/dosedio.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220