Java服务器利用JPush 向客户端发送消息
2015-05-05 22:09
344 查看
1首先需要在jpush
官网注册一个账号,然后添加我们开发的客户端程序进行管理,此时会生成Appkey 和Master secret
2
解压缩 jpush-sdk_v1.x.y.zip 集成压缩包
复制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目录下
复制 libs/armeabi/libjpush.so 到工程 libs/armeabi 目录下
如果您的项目有 libs/armeabi-v7a 这个目录,请把 libjpush.so 也复制一份到这个目录。
根据 SDK 压缩包里的 AndroidManifest.xml 样例文件,来配置应用程序项目的 AndroidManifest.xml 。
主要步骤为:
复制备注为 "Required" 的部分
将备注为替换包名的部分,替换为当前应用程序的包名
将AppKey替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)
官网注册一个账号,然后添加我们开发的客户端程序进行管理,此时会生成Appkey 和Master secret
2
1、导入 SDK 开发包到你自己的应用程序项目
解压缩 jpush-sdk_v1.x.y.zip 集成压缩包复制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目录下
复制 libs/armeabi/libjpush.so 到工程 libs/armeabi 目录下
如果您的项目有 libs/armeabi-v7a 这个目录,请把 libjpush.so 也复制一份到这个目录。
2、配置 AndroidManifest.xml
根据 SDK 压缩包里的 AndroidManifest.xml 样例文件,来配置应用程序项目的 AndroidManifest.xml 。主要步骤为:
复制备注为 "Required" 的部分
将备注为替换包名的部分,替换为当前应用程序的包名
将AppKey替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)
权限配置: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="Your Package" android:versionCode="100" android:versionName="1.0.0" > <!-- Required --> <permission android:name="Your Package.permission.JPUSH_MESSAGE" android:protectionLevel="signature" /> <!-- Required --> <uses-permission android:name="You Package.permission.JPUSH_MESSAGE" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!--since 1.6.0 --> <!-- Optional. Required for location feature --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 应用包名及appkey替换: <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name="Your Application"> <!-- Required --> <service android:name="cn.jpush.android.service.PushService" android:enabled="true" android:exported="false" > <intent-filter> <action android:name="cn.jpush.android.intent.REGISTER" /> <action android:name="cn.jpush.android.intent.REPORT" /> <action android:name="cn.jpush.android.intent.PushService" /> <action android:name="cn.jpush.android.intent.PUSH_TIME" /> </intent-filter> </service> <!-- Required --> <receiver android:name="cn.jpush.android.service.PushReceiver" android:enabled="true" > <intent-filter android:priority="1000"> <!--since 1.3.5 --> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <!--since 1.3.5 --> <category android:name="Your Package" /> <!--since 1.3.5 --> </intent-filter> <!--since 1.3.5 --> <intent-filter> <action android:name="android.intent.action.USER_PRESENT" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> </receiver> <!-- Required SDK核心功能--> <activity android:name="cn.jpush.android.ui.PushActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden" > <intent-filter> <action android:name="cn.jpush.android.ui.PushActivity" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="Your Package" /> </intent-filter> </activity> <!-- Required SDK核心功能--> <service android:name="cn.jpush.android.service.DownloadService" android:enabled="true" android:exported="false" > </service> <!-- Required SDK核心功能--> <receiver android:name="cn.jpush.android.service.AlarmReceiver" /> <!-- Required. For publish channel feature --> <!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。--> <!-- 例如: --> <!-- 发到 Google Play 的APK可以设置为 google-play; --> <!-- 发到其他市场的 APK 可以设置为 xxx-market。 --> <!-- 目前这个渠道统计功能的报表还未开放。--> <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/> <!-- Required. AppKey copied from Portal --> <meta-data android:name="JPUSH_APPKEY" android:value="Your AppKey"/> </application> </manifest>
3在第一个加载的Activity 的oncreate()中加入以下代码
JPushInterface.setDebugMode(true); JPushInterface.init(this);然后就可以登录到jpush网站发送消息进行测试
4,在java服务器端,可以直接引入官网的jpush Api 进行消息的发送,注意其他jar包的引入,同一个jar包的不同版本可能会引起程序的异常
相关文章推荐
- Java-WebSocket 项目的研究(二) :客户端连接服务器并发送消息实例
- Java-WebSocket 项目的研究(二) :客户端连接服务器并发送消息实例
- Socket编程服务器不能打印客户端发送的消息
- Web Service学习笔记(webservice、soap、wsdl、jws详细分析) Webservice的wsdl文件解析与Soap消息的发送、接收(不生成java客户端代码)
- Java-TCP/IP 编程-01 主线程:从控制台录入消息,发送到服务器 子线程:接收服务器转发来的消息
- Java Smack SDK 结合 Openfire服务器,建立IM通信,发送聊天消息
- kafka(java客户端)消费者取不到消息,生产者消息也没发送成功
- 利用消息队列实现服务器客户端的通信
- 解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据(代码)(Oracle)。
- java 实现jms的客户端(发送接收消息)
- Java客户端向twisted服务器发送数据中遇到的问题
- java 实现利用 RabbitMQ 发送和消费消息
- Jpush 在android studio 客户端的配置,接收服务器的推送消息
- Java 利用套接字Socket实现简单的服务器与客户端通信
- WEB客户端发送给WEB服务器的HTTP请求消息分为三个部分:
- 【代码笔记】Java深入学习——实现客户端发送文件到服务器的文件传输
- java网络编程实现客户端连接服务器端,并发送消息例子(1)。(阻塞式的方法)
- java 利用TCP协议从客户端向服务器端发送文件.(网络编程)
- 利用Kafka发送/消费消息-Java示例
- 利用ArcIMS Java客户端发送地图到手机