[Android] JPush Setting

做一些工作上的日誌

Jpush 官網   https://www.jiguang.cn/push

產品介紹     http://docs.jiguang.cn/jpush/guideline/intro/#_12

Android SDK  http://docs.jiguang.cn/jpush/client/Android/android_sdk/

簡介:

Jpush 提供SDK,可供手機跟Jpush cloud 長時間連線 達成推播的功能

實作Demo 步驟:

1.註冊帳號

2.下載Jpush SDK http://docs.jiguang.cn/jpush/resources/#android-sdk

3.Jpush dashboard 上新增專案~並且設定package(專案用)

4.建立好後,在設置中記住你的App Key

5.新增套件
app gradle 新增
(1)defaultConfig{}內新增












(2)dependencies新增

(3) sync again

6.Manifest 新增權限
<uses-permission android:name="android.permission.INTERNET" />
<!-- JpushRequired  一些系统要求的权限,如访问网络等 --><uses-permission android:name="{PackageName}.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.WRITE_SETTINGS" /><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.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />


7.新增reciver
(1)
新增.java
public class JpushReceiver extends BroadcastReceiver {

private static final String TAG = "JPush";

@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Log.d(TAG, "onReceive - " + intent.getAction());

if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {
} else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
System.out.println("收到了自定义消息:"+bundle.getString(JPushInterface.EXTRA_MESSAGE));
// 自定义消息不会展示在通知栏,完全要开发者写代码去处理
} else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
System.out.println("收到了通知");
// 在这里可以做些统计,或者做些其他工作
} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
System.out.println("用户点击打开了通知");
// 在这里可以自己写代码去定义用户点击后的行为
Intent i = new Intent(context, MainActivity.class); //自定义打开的界面
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
} else {
Log.d(TAG, "Unhandled intent - " + intent.getAction());
}
}
}
(2)Manifest.xml新增在applicaiton內
<receiver
android:name=".JpushReceiver"
android:enabled="true">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTRATION" />
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
<category android:name="com.app.gsit.ole777" />
</intent-filter>
</receiver>

8.接著在程式碼新增兩行
JPushInterface.setDebugMode(true);//测试版为true
JPushInterface.init(this);

完成! 因為是對岸工具 網路可能會被擋 收不到請換個網路試試看



留言

熱門文章