日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通知點擊處理

對于已接入廠商通道,并且運行在對應廠商手機上的應用,服務端推送消息時默認優先推向廠商通道;對于其他應用,服務端推送消息時會推向自建通道。

  • 自建通道收到消息后,推送 SDK 會自動發出通知,用戶點擊后可自動打開網頁。

    重要

    推送 SDK 使用的通知 ID 從 10000 開始,請確保您使用的其他通知 ID 不會與之沖突。

  • 廠商通道收到消息后手機系統會自動發出通知,推送 SDK 和開發者都無法干預,只有當用戶點擊通知后,推送 SDK 才能收到消息,并自動打開網頁,如需:

前提條件

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

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

跳轉應用內頁面

如需跳轉到應用內的指定頁面,可以在推送消息的跳轉地址里填入自定義的 DeepLink,例如 mpaas://navigate,同時在應用內設置一個路由 Activity 來接收 DeepLink,再分發到其他頁面。

路由 Activity 需要在 AndroidManifest.xml 中添加相應的 intent-filter,例如:

<activity android:name=".push.LauncherActivity"
    android:launchMode="singleInstance">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="mpaas" />
    </intent-filter>
</activity>

路由 Activity 中獲取 URI 和消息:

Uri uri = intent.getData();
MPPushMsg msg = intent.getParcelableExtra("mp_push_msg");

自定義消息處理

如需處理消息,可以重寫 MPPushMsgServiceAdapteronMessageReceiveonChannelMessageClick 方法:

public class MyPushMsgService extends MPPushMsgServiceAdapter {

    /**
     * 自建通道收到消息的回調(非廠商通道)
     *
     * @param msg 收到的消息
     * @return 是否處理了消息:
     * 返回 true,則 SDK 不會處理消息,開發者需根據需求處理收到的消息,包括發通知和通知點擊后的跳轉
     * 返回 false,則 SDK 會自動發通知和添加通知點擊后的跳轉
     */
    @Override
    protected boolean onMessageReceive(MPPushMsg msg) {
        Log.d("從自建通道收到消息:" + msg.toString());
        // 處理消息,例如發自定義通知
        return true;
    }

    /**
     * 廠商通道的消息展示在通知欄,通知被點擊后的回調
     *
     * @param msg 收到的消息
     * @return 是否處理了消息的點擊:
     * 返回 true,則 SDK 不會處理廠商通道的通知點擊,開發者需根據需求處理點擊后的跳轉
     * 返回 false,則 SDK 會自動處理通知點擊后的跳轉
     */
    @Override
    protected boolean onChannelMessageClick(MPPushMsg msg) {
        Log.d("從廠商通道到的消息被點擊:" + msg.toString());
        // 處理被點擊后的邏輯
        return true;
    }

}

其中 MPPushMsg 封裝了消息的所有參數:

String id = msg.getId(); // 消息 ID
boolean isSilent = msg.isSilent(); // 是否靜默消息

String title = msg.getTitle(); // 消息標題
String content = msg.getContent(); // 消息內容

String action = msg.getAction(); // 跳轉類型,0:URL;1:自定義 DeepLink
String url = msg.getUrl(); // 跳轉地址,URL 或 DeepLink

int pushStyle = msg.getPushStyle(); // 消息類型,0:普通消息,1:大文本消息,2:圖文消息
String iconUrl = msg.getIconUrl(); // 圖文消息的小圖標
String imageUrl = msg.getImageUrl(); // 圖文消息的圖片

String customId = msg.getCustomId(); // 自定義的消息 ID
String params = msg.getParams(); // 擴展參數

如處理消息后,可能還需要上報消息埋點,否則控制臺的推送使用分析將無法統計到正確的數據:

MPPush.reportPushOpen(msg); // 上報消息被打開
MPPush.reportPushIgnored(msg); // 上報消息被忽略

其中,對于自建通道的消息:

  • 靜默消息,無需上報。

  • 非靜默消息,需要上報被打開和被忽略的消息,可通過 Notification.BuildersetContentIntentsetDeleteIntent 方法或其他有效方式來監聽消息被用戶打開和忽略。

對于廠商通道的消息,無需上報。