Java伺服器利用JPush 向客戶端傳送訊息
阿新 • • 發佈:2019-02-17
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分發渠道。--><!--例如:--><!--發到GooglePlay的APK可以設定為 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包的不同版本可能會引起程式的異常