0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MobPush丨Android端SDK API

MobTech科技派 ? 來源:MobTech科技派 ? 作者:MobTech科技派 ? 2022-08-11 16:10 ? 次閱讀

推送監(jiān)聽接口 (addPushReceiver)

描述:添加推送監(jiān)聽,可監(jiān)聽接收到的自定義消息(透傳消息)、通知消息、通知欄點擊事件、別名和標簽變更操作。

/**
 * com.mob.pushsdk.MobPush.class
 * MobPush推送監(jiān)聽接口
 * @param receiver 監(jiān)聽
 */
public static void addPushReceiver(MobPushReceiver receiver)

示例代碼

MobPushReceiver mobPushReceiver = new MobPushReceiver() {

        @Override
        public void onCustomMessageReceive(Context context, MobPushCustomMessage message) {
            //接收到自定義消息(透傳消息)
            message.getMessageId();//獲取任務ID
            message.getContent();//獲取推送內(nèi)容
        }

        @Override
        public void onNotifyMessageReceive(Context context, MobPushNotifyMessage message) {
            //接收到通知消息
            message.getMobNotifyId();//獲取消息ID
            message.getMessageId();//獲取任務ID
            message.getTitle();//獲取推送標題
            message.getContent();//獲取推送內(nèi)容
        }

        @Override
        public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage message) {
            //通知被點擊事件
            message.getMobNotifyId();//獲取消息ID
            message.getMessageId();//獲取任務ID
            message.getTitle();//獲取推送標題
            message.getContent();//獲取推送內(nèi)容
        }

        @Override
        public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) {
            //標簽操作回調(diào)
            //tags: RegistrationId已添加的標簽
            //operation: 0獲取標簽 1設(shè)置標簽 2刪除標簽
            //errorCode: 0操作成功 非0操作失敗
        }

        @Override
        public void onAliasCallback(Context context, String alias, int operation, int errorCode) {
            //別名操作回調(diào)
            //alias: RegistrationId對應的別名
            //operation: 0獲取別名 1設(shè)置別名 2刪除別名
            //errorCode: 0操作成功 非0操作失敗
        }

    };

移除推送監(jiān)聽接口 (removePushReceiver)

描述:移除通知監(jiān)聽,與addPushReceiver()對應,添加推送監(jiān)聽后,在關(guān)閉界面時調(diào)用進行移除,移除之前添加過的推送監(jiān)聽。

/**
 * com.mob.pushsdk.MobPush.class
 * 移除Push監(jiān)聽接口
 * @param receiver 監(jiān)聽
 */
 public static void removePushReceiver(MobPushReceiver receiver)

示例代碼

MobPush.removePushReceiver(receiver);

獲取注冊Id (getRegistrationId)

描述:獲取注冊id。RegistrationId是MobPush針對不同用戶生成的唯一標識符,可通過RegistrationId向用戶推送消息。

/**
 * com.mob.pushsdk.MobPush.class
 * 獲取注冊id 
 * @param callback 回調(diào)
 */
 public static void getRegistrationId(MobPushCallback  callback)

示例代碼

MobPush.getRegistrationId(new MobPushCallback() {
            @Override
            public void onCallback(String s) {
                Log.i(TAG, "RegistrationId: "+s);
            }
 });

設(shè)置別名 (setAlias)

描述:設(shè)置別名。別名是唯一的,與RegistrationId為一對一關(guān)系。如多次調(diào)用,會以最后一次設(shè)置為準,進行覆蓋;

是否設(shè)置成功,會在addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode)中進行回調(diào)返回。當operation為0時,表示獲取別名操作;當operation為1時,表示設(shè)置別名操作;當operation為2時,表示刪除別名操作。當errorCode為0時,表示操作成功;當errorCode非0時,表示操作失敗。別名支持:字母(區(qū)分大小寫)、數(shù)字、下劃線、漢字、特殊字符@!#$&*+=.|。

/**
 * com.mob.pushsdk.MobPush.class
 * 設(shè)置別名
 * @param alias 想要設(shè)置的別名
 */
 public static void setAlias(String alias)

示例代碼

MobPush.setAlias("想要設(shè)置的別名");

刪除別名 (deleteAlias)

描述:刪除別名。是否刪除成功,會在addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode)中進行回調(diào)返回。當operation為0時,表示獲取別名操作;當operation為1時,表示設(shè)置別名操作;當operation為2時,表示刪除別名操作。當errorCode為0時,表示操作成功;當errorCode非0時,表示操作失敗。

/**
 * com.mob.pushsdk.MobPush.class
 * 刪除別名
 */
 public static void deleteAlias()

示例代碼

MobPush.deleteAlias();

獲取別名 (getAlias)

描述:獲取別名。是否獲取成功,會在addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode)中進行回調(diào)返回。當operation為0時,表示獲取別名操作;當operation為1時,表示設(shè)置別名操作;當operation為2時,表示刪除別名操作。當errorCode為0時,表示操作成功;當errorCode非0時,表示操作失敗。

/**
 * com.mob.pushsdk.MobPush.class
 * 獲取別名
 */
 public static void getAlias()

示例代碼

MobPush.getAlias();

添加標簽 (addTags)

描述:添加標簽。標簽可以添加多個,每次調(diào)用都會在原來的基礎(chǔ)上進行追加。是否獲取成功,會在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中進行回調(diào)返回。當operation為0時,表示獲取標簽操作;當operation為1時,表示設(shè)置標簽操作;當operation為2時,表示刪除標簽操作。當errorCode為0時,表示操作成功;當errorCode非0時,表示操作失敗。標簽支持:字母(區(qū)分大小寫)、數(shù)字、下劃線、漢字、特殊字符@!#$&*+=.|。

/**
 * com.mob.pushsdk.MobPush.class
 * 添加標簽
 * @param tags  想要添加的標簽
 */
 public static void addTags(String[] tags)

示例代碼

MobPush.addTags(new String[]{"想要添加的標簽1", "想要添加的標簽2"});

刪除標簽 (deleteTags)

描述:刪除標簽。是否獲取成功,會在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中進行回調(diào)返回。當operation為0時,表示獲取標簽操作;當operation為1時,表示設(shè)置標簽操作;當operation為2時,表示刪除標簽操作。當errorCode為0時,表示操作成功;當errorCode非0時,表示操作失敗。

/**
 * com.mob.pushsdk.MobPush.class
 * 添加標簽
 * @param tags  想要刪除的標簽
 */
 public static void deleteTags(String[] tags)

示例代碼

MobPush.deleteTags(new String[]{"想要刪除的標簽1", "想要刪除的標簽2"});

獲取標簽 (getTags)

描述:獲取標簽。是否獲取成功,會在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中進行回調(diào)返回。當operation為0時,表示獲取標簽操作;當operation為1時,表示設(shè)置標簽操作;當operation為2時,表示刪除標簽操作。當errorCode為0時,表示操作成功;當errorCode非0時,表示操作失敗。

/**
 * com.mob.pushsdk.MobPush.class
 * 獲取標簽
 */
 public static void getTags()

示例代碼

MobPush.getTags();

清空標簽 (cleanTags)

描述:清空標簽。是否清空成功,會在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中進行回調(diào)返回。當operation為0時,表示獲取標簽操作;當operation為1時,表示設(shè)置標簽操作;當operation為2時,表示刪除標簽操作。當errorCode為0時,表示操作成功;當errorCode非0時,表示操作失敗。

/**
 * com.mob.pushsdk.MobPush.class
 * 清空標簽
 */
 public static void cleanTags()

示例代碼

MobPush.cleanTags();

設(shè)置靜音時段 (setSilenceTime)

描述:設(shè)置靜音時段。幾點幾分開始到幾點幾分結(jié)束,這段時間屬于靜音時間段,接收到推送時,提醒類型屬于靜音狀態(tài)。

/**
 * com.mob.pushsdk.MobPush.class
 * 設(shè)置靜音時段
 * @param startHour     開始靜音時間(時)
 * @param startMinute  開始靜音時間(分)
 * @param endHour      結(jié)束靜音時間(時)
 * @param endMinute   結(jié)束靜音時間(分)
 */
 public static void setSilenceTime(int startHour, int startMinute, int endHour, int  endMinute)

示例代碼

MobPush.setSilenceTime(20, 0, 0, 0);//設(shè)置靜音時間段晚上20:00到00:00

添加本地通知 (addLocalNotification)

描述:添加本地通知。不通過服務器推送,客戶端主動發(fā)送通知。

/**
 * com.mob.pushsdk.MobPush.class
 * 添加本地通知
 * @param localNotification 本地通知
 * @return  true 添加成功 false添加失敗
 */
 public static boolean addLocalNotification(MobPushLocalNotification localNotification)

示例代碼

MobPushLocalNotification localNotification = new MobPushLocalNotification();
 localNotification.setTitle("本地通知標題");
 localNotification.setContent("本地通知內(nèi)容");
        ...

 MobPush.addLocalNotification(localNotification);

移除本地通知 (removeLocalNotification)

描述:移除本地通知。

/**
 * com.mob.pushsdk.MobPush.class
 * 移除本地通知
 * @param lnotificationId 本地通知ID
 * @return  true 移除成功 false移除失敗
 */
 public static boolean removeLocalNotification(int lnotificationId)

示例代碼

MobPush.removeLocalNotification(想要移除的本地通知ID);

清空本地通知 (clearLocalNotifications)

描述:清空本地通知。

/**
* com.mob.pushsdk.MobPush.class
 * 清空本地通知
 * @return  true 清空成功 false清空失敗
 */
 public static boolean clearLocalNotifications()

示例代碼

MobPush.clearLocalNotifications();

推送服務是否已停止 (isPushStopped)

描述:推送服務是已否停止。

/**
 * com.mob.pushsdk.MobPush.class
 * 推送服務是否已停止
 * @return  true 已停止 false未停止
 */
 public static boolean isPushStopped()

示例代碼

MobPush.isPushStopped();

停止推送服務 (stopPush)

描述:停止推送服務,不繼續(xù)接收推送。

/**
 * com.mob.pushsdk.MobPush.class
 * 停止推送服務
 */
 public static void stopPush()

示例代碼

MobPush.stopPush();

重啟推送服務 (restartPush)

描述:推送服務停止后,重新啟動推送服務。

/**
 * com.mob.pushsdk.MobPush.class
 * 重啟推送服務
 */
 public static void restartPush()

示例代碼

MobPush.restartPush();

點擊通知是否啟動主頁 (setClickNotificationToLaunchMainActivity)

描述:設(shè)置點擊通知是否啟動默認頁。默認為啟動。

/**
 * com.mob.pushsdk.MobPush.class
 * 設(shè)置點擊通知是否啟動主頁
 * @param isLaunch 是否啟動默認頁 true打開 false不打開
 */
 public static void setClickNotificationToLaunchMainActivity(boolean isLaunch)

示例代碼

MobPush.setClickNotificationToLaunchMainActivity(true);

設(shè)置通知圖標 (setNotifyIcon)

描述:設(shè)置通知圖標。通知默認使用應用圖標,調(diào)用此方法來修改通知圖標。

/**
 * com.mob.pushsdk.MobPush.class
 * 設(shè)置通知圖標
 * @param icon 通知圖標
 */
 public static void setNotifyIcon(int icon)

示例代碼

MobPush.setNotifyIcon(R.mipmap.ic_launcher);

設(shè)置是否顯示角標 (setShowBadge)

描述:設(shè)置是否顯示角標,用于接收通知時顯示角標數(shù)量。

/**
 * com.mob.pushsdk.MobPush.class
 * 設(shè)置是否顯示角標
 * @param isShowBadge 是否顯示角標 true顯示 false不顯示
 */
 public static void setShowBadge(boolean isShowBadge)

示例代碼

MobPush.setShowBadge(true);

設(shè)置顯示角標數(shù) (setBadgeCounts)

描述:設(shè)置顯示的角標數(shù),需要用戶根據(jù)自己的邏輯設(shè)置。

/**
 * com.mob.pushsdk.MobPush.class
 *設(shè)置顯示的角標數(shù)
 *@param counts 角標數(shù)
 */
 public static void setBadgeCounts(int counts)

示例代碼

MobPush.setBadgeCounts(0);

統(tǒng)計廠商點擊數(shù) (重要notificationClickAck)

描述:統(tǒng)計廠商通道下發(fā)通知的點擊數(shù),如不設(shè)置,無法準確統(tǒng)計到廠商通道下發(fā)通知的點擊數(shù),建議加上。不設(shè)置僅影響廠商通道的點擊數(shù),不影響MobPush通道點擊數(shù)統(tǒng)計。

/**
 * com.mob.pushsdk.MobPush.class
 *統(tǒng)計廠商點擊數(shù)
 *@param intent 上下文
 */
public static void notificationClickAck(Intent intent)

示例代碼

MobPush.notificationClickAck(getIntent());

設(shè)置通知欄顯示的最大通知條數(shù) (setNotificationMaxCount)

描述:通知欄顯示的最大通知條數(shù), 需大于0。

/**
 * com.mob.pushsdk.MobPush.class
 *設(shè)置通知欄顯示的最大通知條數(shù)
 *@param count 最大通知條數(shù)
 */
 public static void setNotificationMaxCount(int count)

示例代碼

MobPush.setNotificationMaxCount(5)

獲取設(shè)置的通知欄顯示通知的最大條數(shù) (getNotificationMaxCount)

描述:通知欄顯示的最大通知條數(shù)

/**
 * com.mob.pushsdk.MobPush.class
 * 獲取設(shè)置的通知欄顯示通知的最大條數(shù)
 *@return  設(shè)置的具體條數(shù)
 */
 public static int getNotificationMaxCount()

示例代碼

MobPush.getNotificationMaxCount()

獲取TCP狀態(tài) (checkTcpStatus)

描述:獲取TCP狀態(tài) 判斷TCP狀態(tài)是否正常

/**
 * com.mob.pushsdk.MobPush.class
 * 獲取TCP狀態(tài)
 * @param callback 回調(diào)
 */
 public static void checkTcpStatus(MobPushCallback callback)

示例代碼

MobPush.checkTcpStatus(new MobPushCallback() {
      @Override
      public void onCallback(Boolean o) {
          Log.i(TAG, "checkTcpStatus:"+o);
      }
 });

打開輪詢開關(guān) (startNotificationMonitor)

描述:MobPush只會在初始化的時候更新記錄的通知權(quán)限狀態(tài)。如需要實時更新,可調(diào)用該方法:

/**
 * com.mob.pushsdk.MobPush.class
 * 打開輪詢開關(guān)
 */
 public static void startNotificationMonitor()

示例代碼

MobPush.startNotificationMonitor();

關(guān)閉輪詢開關(guān) (stopNotificationMonitor)

描述:關(guān)閉權(quán)限輪詢開關(guān)

/**
 * com.mob.pushsdk.MobPush.class
 * 關(guān)閉輪詢開關(guān)
 */
public static void stopNotificationMonitor()

示例代碼

MobPush.stopNotificationMonitor();

功能自定義和擴展

scheme跳轉(zhuǎn)

前言:此功能僅僅是針對push的一些使用場景而進行自定義設(shè)定。比如,通知被點擊的時候:

通過scheme設(shè)置配置跳轉(zhuǎn)

首先現(xiàn)在Manifest文件中進行目標Activity的uri設(shè)置,如下:


在Mob后臺進行推送時,通過scheme://host的格式,例如mlink://com.mob.mobpush.link,如下位置填入:

poYBAGL0uWGAcVEsAACod9V_49I153.png

配置好之后,推送就App就可以接收到推送直接打開指定的Activity界面了,建議統(tǒng)一設(shè)置一個中轉(zhuǎn)頁,根據(jù)傳遞參數(shù)后再進行跳轉(zhuǎn)。

獲取回調(diào)的參數(shù)詳情

1、當app顯示在前臺的時候,會觸發(fā)MobPushReceiver的onNotifyMessageOpenedReceive方法,MobPushNotifyMessage參數(shù)則是回調(diào)的通知詳情,可以根據(jù)回調(diào)參數(shù)進行處理;

2、當app進程殺掉的時候,點擊通知后拉起應用的啟動頁面,會觸發(fā)啟動Activity的OnCreate或OnNewIntent方法,通過getIntent方法拿到回傳的Intent,可以拿到通知詳情;

此方式可以配合方式一跳轉(zhuǎn)具體頁面做為中轉(zhuǎn)頁面使用,MobPush提供了統(tǒng)一的方法來獲取

//通過scheme跳轉(zhuǎn)詳情頁面可選擇此方式
JSONArray var = new JSONArray();
var =  MobPushUtils.parseSchemePluginPushIntent(getIntent());
//跳轉(zhuǎn)首頁可選擇此方式
JSONArray var2 = new JSONArray();
var2 = MobPushUtils.parseMainPluginPushIntent(getIntent());

可參考官方demo

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3940

    瀏覽量

    127657
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8673

    瀏覽量

    151555
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1508

    瀏覽量

    62225
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1044

    瀏覽量

    46087
收藏 人收藏

    評論

    相關(guān)推薦

    Android自定義鈴聲 MobPush對安卓自定義鈴聲的教程

    如何為APP推送設(shè)置獨特的通知鈴聲呢?本次帶來的是MobPush對安卓自定義鈴聲的教程,快來看看吧~
    的頭像 發(fā)表于 10-21 15:34 ?1179次閱讀
    <b class='flag-5'>Android</b><b class='flag-5'>端</b>自定義鈴聲 <b class='flag-5'>MobPush</b>對安卓<b class='flag-5'>端</b>自定義鈴聲的教程

    基于高通Vuforia SDK搭建Android版移動AR應用開發(fā)環(huán)境

    到Vuforia SDK中的C++ API時,則需要安裝Android NDK,否則可以跳過這一步。安裝步驟如下:首先從 http://developer.android.com/to
    發(fā)表于 09-20 10:13

    Android SDK 開發(fā)中文文檔

    Android 是一個專門針對移動設(shè)備的軟件集,它包括一個操作系統(tǒng),中間件和一些重要的應用程序。Beta 版的 Android SDK 提供了在 Android 平臺上使用 JaVa
    發(fā)表于 09-11 17:18 ?5次下載

    Android開發(fā)手冊—API函數(shù)詳解

    Android開發(fā)手冊—API函數(shù)詳解
    發(fā)表于 10-17 09:01 ?13次下載
    <b class='flag-5'>Android</b>開發(fā)手冊—<b class='flag-5'>API</b>函數(shù)詳解

    Android SDK 中文開發(fā)文檔

    Android SDK 中文開發(fā)文檔
    發(fā)表于 10-24 09:04 ?4次下載
    <b class='flag-5'>Android</b> <b class='flag-5'>SDK</b> 中文開發(fā)文檔

    基于Android開發(fā)手冊—API函數(shù)詳解

    基于Android開發(fā)手冊—API函數(shù)詳解
    發(fā)表于 10-24 09:06 ?18次下載
    基于<b class='flag-5'>Android</b>開發(fā)手冊—<b class='flag-5'>API</b>函數(shù)詳解

    大干貨!迅為IMX6開發(fā)板AndroidUbuntuLinux三大系統(tǒng)全開源

    迅為IMX6開發(fā)板AndroidUbuntuLinux三大系統(tǒng)全開源。
    發(fā)表于 05-29 14:46 ?4191次閱讀

    人體行為識別API接口aip-php-sdk-4.15.4

    人體行為識別API接口aip-php-sdk-4.15.4
    發(fā)表于 08-31 09:46 ?3次下載

    MobPush iOSSDK API推送配置方法

    MobPush是MobTech推出的一款免費的推送服務工具,集成方便簡單快捷,且提供完整的可視化數(shù)據(jù)和強大的管理后臺。本文將詳細介紹ios推送配置方法。
    的頭像 發(fā)表于 08-16 12:17 ?1100次閱讀
    <b class='flag-5'>MobPush</b> iOS<b class='flag-5'>端</b><b class='flag-5'>SDK</b> <b class='flag-5'>API</b>推送配置方法

    ESP8266 Non OS SDK API參考

    電子發(fā)燒友網(wǎng)站提供《ESP8266 Non OS SDK API參考.pdf》資料免費下載
    發(fā)表于 09-23 11:49 ?1次下載
    ESP8266 Non OS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>參考

    SDKAPI 在視頻環(huán)境中的區(qū)別

    現(xiàn)在,視頻API 或視頻SDK 不一定是每個工具本身的一個類別。相反,它們是創(chuàng)建的APISDK,旨在幫助您與并非從頭開始構(gòu)建的視頻平臺進行交互和擴展。
    發(fā)表于 11-25 09:34 ?610次閱讀

    MobPush Android SDK 廠商推送限制

    概述 廠商推送限制 每個廠商通道都有對應的廠商配額和 QPS 限制,當請求超過限制且已配置廠商回執(zhí)時,MobPush會采取以下措施: 當開發(fā)者推送請求超過廠商配額時,MobPush將通過自有通道進行
    的頭像 發(fā)表于 08-02 12:24 ?773次閱讀
    <b class='flag-5'>MobPush</b> <b class='flag-5'>Android</b> <b class='flag-5'>SDK</b> 廠商推送限制

    Android推送問題排查技巧 針對MobPush安卓推送問題的解決辦法

    針對MobPush智能推送服務在使用過程中可能出現(xiàn)的問題,本文為各位開發(fā)者們帶來了針對MobPush安卓推送問題的解決辦法。 TCP在線推送排查 排查TCP在線收不到推送時,我們先通過客戶
    的頭像 發(fā)表于 10-21 15:41 ?816次閱讀
    <b class='flag-5'>Android</b>推送問題排查技巧  針對<b class='flag-5'>MobPush</b>安卓<b class='flag-5'>端</b>推送問題的解決辦法

    谷歌發(fā)布新的AI SDK,簡化Gemini模型與Android應用程序的集成

    對于 Android 應用程序,Google 提供了 Google AI Client SDK for Android,它將 Gemini REST API 封裝為慣用的 Kotlin
    的頭像 發(fā)表于 01-03 16:29 ?969次閱讀

    MobPush:Android SDK 集成指南

    MobPush是一款旨在提供一站式解決方案的智能推送開發(fā)者工具,可以有效提高用戶參與度和粘性,從而帶來更多的業(yè)務效益,以下是最新版MobPush: Android SDK集成指南。
    的頭像 發(fā)表于 02-02 15:51 ?707次閱讀
    <b class='flag-5'>MobPush</b>:<b class='flag-5'>Android</b> <b class='flag-5'>SDK</b> 集成指南