1. 程式人生 > >Java伺服器利用JPush 向客戶端傳送訊息

Java伺服器利用JPush 向客戶端傳送訊息

1首先需要在jpush 官網註冊一個賬號,然後新增我們開發的客戶端程式進行管理,此時會生成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.Requiredfor 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分發渠道。--><!--例如:--><!--發到GooglePlayAPK可以設定為 google-play;--><!--發到其他市場的 APK 可以設定為 xxx-market--><!--目前這個渠道統計功能的報表還未開放。--><meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/><!--Required.AppKey copied fromPortal--><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包的不同版本可能會引起程式的異常