極光推送開(kāi)發(fā)第二彈——極光推送API

極光推送API篇

API傳送門(mén)

設(shè)置調(diào)試模式 API

JPushInterface.setDebugMode(true);  // 設(shè)置調(diào)試模式
// true則會(huì)打印debug級(jí)別的日志,false則只會(huì)打印warning級(jí)別以上的日志

初始化推送服務(wù) API

JPushInterface.init(this);
// context 應(yīng)用的 ApplicationContext

停止與恢復(fù)推送服務(wù) API

JPushInterface.stopPush(context);
// 停止推送
JPushInterface.resumePush(context);
// 恢復(fù)推送
boolean isStop = JPushInterface.isPushStopped(context);
判斷是否停止了推送

別名與標(biāo)簽 API

  • 別名 alias:相當(dāng)于用戶(hù)名,最好不要有重復(fù),因?yàn)橥扑偷臅r(shí)候可能推送給所有叫這個(gè)別名的人
  • 標(biāo)簽 tag:可為一個(gè)用戶(hù)打上多個(gè)標(biāo)簽
// 接口定義:覆蓋邏輯
public static void setAliasAndTags(Context context, 
                                   String alias, 
                                   Set<String> tags, 
                                   TagAliasCallback callback)
參數(shù)定義:
alias:
 - null 此次調(diào)用不設(shè)置此值
 - "" (空字符串)表示取消之前的設(shè)置
 - 每次調(diào)用設(shè)置有效的別名,覆蓋之前的設(shè)置
 - 有效的別名組成:字母(區(qū)分大小寫(xiě))、數(shù)字、下劃線、漢字、特殊字符(v2.1.6支持)@!#$&*+=.|
 - 限制:alias 命名長(zhǎng)度限制為 40 字節(jié)。(判斷長(zhǎng)度需采用UTF-8編碼)

tags:
 - null 此次調(diào)用不設(shè)置此值。(注:不是指的字符串"null")
 - 空數(shù)組或列表表示取消之前的設(shè)置
 - 每次調(diào)用至少設(shè)置一個(gè) tag,覆蓋之前的設(shè)置,不是新增
 - 有效的標(biāo)簽組成:字母(區(qū)分大小寫(xiě))、數(shù)字、下劃線、漢字、特殊字符(v2.1.6支持)@!#$&*+=.|
 - 限制:每個(gè) tag 命名長(zhǎng)度限制為 40 字節(jié),最多支持設(shè)置 1000 個(gè) tag,但總長(zhǎng)度不得超過(guò)7K字節(jié)。(判斷長(zhǎng)度需采用UTF-8編碼)

callback:
 - 在 TagAliasCallback 的 gotResult 方法,返回對(duì)應(yīng)的參數(shù) alias, tags。并返回對(duì)應(yīng)的狀態(tài)碼:0為成功,其他返回碼請(qǐng)參考錯(cuò)誤碼定義
// 接口定義:覆蓋邏輯
public static void setAlias(Context context, String alias, TagAliasCallback callback)
參數(shù)定義:
alias:
 - null 此次調(diào)用不設(shè)置此值
 - "" (空字符串)表示取消之前的設(shè)置
 - 每次調(diào)用設(shè)置有效的別名,覆蓋之前的設(shè)置
 - 有效的別名組成:字母(區(qū)分大小寫(xiě))、數(shù)字、下劃線、漢字、特殊字符(v2.1.6支持)@!#$&*+=.|
 - 限制:alias 命名長(zhǎng)度限制為 40 字節(jié)。(判斷長(zhǎng)度需采用UTF-8編碼)

callback:
 - 在 TagAliasCallback 的 gotResult 方法,返回對(duì)應(yīng)的參數(shù) alias, tags。并返回對(duì)應(yīng)的狀態(tài)碼:0為成功,其他返回碼請(qǐng)參考錯(cuò)誤碼定義

// 接口定義:覆蓋邏輯
public static void setTags(Context context, Set<String> tags, TagAliasCallback callback)

參數(shù)定義:
tags:
null 此次調(diào)用不設(shè)置此值。(注:不是指的字符串"null")
空數(shù)組或列表表示取消之前的設(shè)置
每次調(diào)用至少設(shè)置一個(gè) tag,覆蓋之前的設(shè)置,不是新增
有效的標(biāo)簽組成:字母(區(qū)分大小寫(xiě))、數(shù)字、下劃線、漢字、特殊字符(v2.1.6支持)@!#$&*+=.|
限制:每個(gè) tag 命名長(zhǎng)度限制為 40 字節(jié),最多支持設(shè)置 1000 個(gè) tag,但總長(zhǎng)度不得超過(guò)7K字節(jié)。(判斷長(zhǎng)度需采用UTF-8編碼)
callback:
在 TagAliasCallback 的 gotResult 方法,返回對(duì)應(yīng)的參數(shù) alias, tags。并返回對(duì)應(yīng)的狀態(tài)碼:0為成功,其他返回碼請(qǐng)參考錯(cuò)誤碼定義

// 接口定義:
public static Set<String> filterValidTags(Set<String> tags)

接口返回:
有效的 tag 集合。

接口定義:
public void gotResult(int responseCode, String alias, Set<String> tags);

參數(shù)定義:
● responseCode
○ 0 表示調(diào)用成功。
○ 其他返回碼請(qǐng)參考錯(cuò)誤碼定義。
● alias
○ 原設(shè)置的別名
● tags
○ 原設(shè)置的標(biāo)簽
這里記得對(duì)responseCode進(jìn)行判斷一下,有可能因?yàn)榫W(wǎng)絡(luò)問(wèn)題沒(méi)有設(shè)置好tags和alias
這里的錯(cuò)誤碼記得區(qū)分一下

http://docs.jiguang.cn/jpush/client/Android/android_api/#client_error_code

獲取 RegistrationID API

//RegistrationID 定義:只有當(dāng)應(yīng)用程序成功注冊(cè)到 JPush 的服務(wù)器時(shí)才返回對(duì)應(yīng)的值,否則返回空字符串。在SDK初次注冊(cè)時(shí),在Receiver里面也能接收到這個(gè)Id,可以通過(guò)這個(gè)Id向用戶(hù)推送消息
接口:
public static String getRegistrationID(Context context)

統(tǒng)計(jì)分析 API

// 用于“用戶(hù)使用時(shí)長(zhǎng)”,“活躍用戶(hù)”,“用戶(hù)打開(kāi)次數(shù)”的統(tǒng)計(jì),并上報(bào)到服務(wù)器,在 Portal 上展示給開(kāi)發(fā)者
public static void onResume(final Activity activity)
public static void onPause(final Activity activity)
// 在所有的 Activity 的 onResume / onPause 方法里調(diào)用
// 用于上報(bào)用戶(hù)的通知欄被打開(kāi),或者用于上報(bào)用戶(hù)自定義消息被展示等客戶(hù)端需要統(tǒng)計(jì)的事件
public static void reportNotificationOpened(Context context, String msgId)

// 這個(gè)在Receiver里面調(diào)用
JPushInterface.reportNotificationOpened(context,bundle.getString(JPushInterface.EXTRA_MSG_ID));

清除通知 API

// 清除所有 JPush 展現(xiàn)的通知
public static void clearAllNotifications(Context context);
// 清除指定Id的的通知,這個(gè)Id在Receiver里面可以看到
public static void clearNotificationById(Context context, int notificationId);

設(shè)置允許推送時(shí)間 API

public static void setPushTime(Context context, Set<Integer> weekDays, int startHour, int endHour)
// Context context 應(yīng)用的ApplicationContext
// Set days 0表示星期天,1表示星期一,以此類(lèi)推
// Sdk1.2.9 – 新功能:set的值為null,則任何時(shí)間都可以收到消息和通知,set的size為0,則表示任何時(shí)間都收不到消息和通知
// int startHour 允許推送的開(kāi)始時(shí)間 (24小時(shí)制:startHour的范圍為0到23)
// int endHour 允許推送的結(jié)束時(shí)間 (24小時(shí)制:endHour的范圍為0到23)

設(shè)置通知靜默時(shí)間 API

public static void setSilenceTime(Context context, int startHour, int startMinute, int endHour, int endMinute)
// Context context 應(yīng)用的ApplicationContext
// int startHour 靜音時(shí)段的開(kāi)始時(shí)間 - 小時(shí) (24小時(shí)制,范圍:0~23 )
// int startMinute 靜音時(shí)段的開(kāi)始時(shí)間 - 分鐘(范圍:0~59 )
// int endHour 靜音時(shí)段的結(jié)束時(shí)間 - 小時(shí) (24小時(shí)制,范圍:0~23 )
// int endMinute 靜音時(shí)段的結(jié)束時(shí)間 - 分鐘(范圍:0~59 )

JPushInterface.setSilenceTime(getApplicationContext(), 22, 30, 8, 30);
// 此代碼表示晚上10:30點(diǎn)到第二天早上8:30點(diǎn)為靜音時(shí)段

申請(qǐng)權(quán)限接口(Android 6.0 及以上)

public static void requestPermission(Context context);

通知欄樣式定制 API

自定義通知欄的教程:
http://docs.jiguang.cn/jpush/client/Android/android_senior/#_8

設(shè)置保留最近通知條數(shù) API(這個(gè)可以調(diào)用多次,覆蓋)

public static void setLatestNotificationNumber(Context context, int maxNum)

CrashLog收集并上報(bào)API

// 開(kāi)啟收集錯(cuò)誤日志
public static void initCrashHandler(Context context);
// 關(guān)閉收集錯(cuò)誤日志
public static void stopCrashHandler(Context context);

獲取推送連接狀態(tài)(可以在Receiver監(jiān)聽(tīng))

public static boolean getConnectionState(Context context);

本地通知API

// 添加一個(gè)本地通知
public static void addLocalNotification(Context context, JPushLocalNotification notification)
// 移除本地通知
public static void removeLocalNotification(Context context, long notificationId)
// 移除所有本地通知
public static void clearLocalNotifications(Context context)

github項(xiàng)目地址

寫(xiě)一篇博客,讓自己熟悉一下極光推送的API,下一篇將介紹下自定義JPush廣播接收器
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容