全部產品
Search
文件中心

Mobile Platform as a Service:進階功能

更新時間:Jul 13, 2024

在接入推送 SDK 後,您還可以進行以下用戶端配置:

前提條件

  • 本文中的 MPPushMsgServiceAdapter 方法僅適用於基準 10.1.68.32 及以上版本。若當前使用的基準版本低於 10.1.68.32,可參考 mPaaS 升級指南 升級基準版本。

  • 舊版本中的 AliPushRcvService方法仍可繼續使用,如需查看舊版本文檔,可 單擊此處下載

清除角標

廠商通道收到的訊息,可在應用表徵圖上顯示訊息數量的角標。目前推送 SDK 僅支援華為通道自動清除角標。

  • 設定使用者點擊通知時自動清除應用角標:

      // 設定是否自動清除
      boolean autoClear = true;
      MPPush.setBadgeAutoClearEnabled(context, autoClear);
      // 設定應用入口 Activity 類名,不設定無法清除角標
      String activityName = "com.mpaas.demo.push.LauncherActivity";
      MPPush.setBadgeActivityClassName(context, activityName);
  • 在角標無法自動清除的情境下,例如使用者主動點擊應用表徵圖進入應用時,可以在 Application 中調用以下方法主動清除角標:

      MPPush.clearBadges(context);

上報廠商通道 token

如已接入廠商通道,推送 SDK 初始化後會收到廠商通道的 token,推送 SDK 會自動將廠商通道 token 和自建通道 token 綁定上報。

如有需要,可通過重寫 MPPushMsgServiceAdapteronChannelTokenReceiveonChannelTokenReport 方法監聽廠商通道 token 的下發和上報:

public class MyPushMsgService extends MPPushMsgServiceAdapter {

    /**
     * 收到廠商通道 token 的回調
     *
     * @param channelToken 廠商通道 token
     * @param channel      廠商通道類型
     */
    @Override
    protected void onChannelTokenReceive(String channelToken, PushOsType channel) {
        Log.d("收到廠商通道 token: " + channelToken);
        Log.d("廠商: " + channel.getName());
    }

    /**
     * 廠商通道 token 上報結果的回調
     *
     * @param result 上報結果
     */
    @Override
    protected void onChannelTokenReport(ResultBean result) {
        Log.d("上報廠商 token " + (result.success ? "成功" : ("錯誤:" + result.code)));
    }

    /**
     * 是否自動上報廠商 token
     *
     * @return 返回 false,可根據需求上報
     */
    @Override
    protected boolean shouldReportChannelToken() {
        return super.shouldReportChannelToken();
    }

}

如需綁定上報,可重寫 shouldReportChannelToken 方法並返回 false,並在確保收到兩個 token 後調用:

MPPush.report(context, token , channel.value(), channelToken);

自訂 NotificationChannel

如需自訂自建通道的 NotificationChannel 的名稱和說明,可在 AndroidManifest.xml 中添加:

<meta-data
    android:name="mpaas.notification.channel.default.name"
    android:value="名稱" />
<meta-data
    android:name="mpaas.notification.channel.default.description"
    android:value="說明" />

調整推送通道優先順序順序

基準 10.2.3.43 及以上版本,支援在部分特定裝置上調整相關廠商通道優先順序,如需使用該功能,請在工程的 assets 目錄下建立 mpaas_push_config.properties 檔案,並按照下文按需開啟。

在華為/榮耀裝置上優先使用榮耀通道

如需在華為或者榮耀裝置上優先使用榮耀推送通道,請在檔案 mpaas_push_config.properties 中添加:

// 將在華為/榮耀裝置上優先使用榮耀通道
isHonorBeforeHms=true

在具備 FCM 推送能力的裝置上優先使用裝置廠商通道

如需在具備 FCM 推送能力的裝置上優先使用裝置廠商的通道,請在檔案 mpaas_push_config.properties 中添加:

// 將在具備 FCM 推送能力的裝置上優先使用裝置廠商的通道
isFcmEnd=true