通知分类操作:
NotificationSDK.classify(Query query, QueryCallback callback);
传入查询输入Query
,以及通知分类异步回调接口 callback
,分类结果以异步回调的方式返回。
Query构造方式:
- 从
StatusBarNotification
对象构建StatusBarNotification sbn; Query query = new Query.NotificationBuilder().notification(sbn).build();
- 从JSON格式字符串构建
使用SDK提供的NotificationUtils.java
工具类将StatusBarNotification
转为JSON格式字符串再进行构建。JSONObject jsonObject = NotificationUtils.convertNotificationToJSONObject(context, notification); Query query = new Query.JsonBuilder().notificationInJson(json.toString());
QueryCallback返回数据:
- 回调返回分类结果
QueryCallback.onSuccess(QueryResult result); QueryResult.getCategory()为分类类别; QueryResult.getImportance()为重要程度 QueryResult.getId()为通知id
用户行为:
NotificationSDK.takeAction(String action, Long notificationId, Integer importance);
传入用户行为action
,部分接口需要传入通知IDnotificationId
(QueryResult
中的ID),用户设置的重要度级别importance
(0-4)。
用户行为具体包括以下情况:
显式操作:
a."set_app_category"
:
设置一个应用的一个分类的重要度,需要传入notificationId
,importance
参数)。
b."set_app"
:
设置一个应用的重要度,需要传入notificationId
,importance
参数。
c."set_notification"
:
设置一条通知的重要度,需要传入notificationId
,importance
参数。
d."reset_app_category"
:
移除一个应用的一个分类的重要度设置,需要传入notificationId
参数。
e."reset_app"
:
移除一个应用的重要度设置,需要传入notificationId
参数。
f."reset_all"
:
移除所有设置。隐式操作:
a."display"
:
展示一条通知,用户看到一条通知,需要传入notificationId
参数。
b."click"
:
点击一条通知,需要传入notificationId
参数。
c."remove"
删除一条通知,需要传入notificationId
参数。
d."remove_all"
删除所有通知。