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

MessageReceiver/AliyunMessageIntentService相關接口

前言

通過集成MessageReceiver/AliyunMessageIntentService,可以攔截通知,接收消息,獲取推送中的擴展字段。或者在通知打開或刪除的時候進行后續處理。

重要

MessageReceiverAliyunMessageIntentService是處理推送數據的兩種實現方式,它們具有同樣的擴展接口,您僅需要任選一種方式即可。

集成MessageReceiver(二選一)

1 實現自定義的MessageReceiver

繼承com.alibaba.sdk.android.push.MessageReceiver

2 注冊自定義的Messagereceiver

在您的AndroidManifest.xml文件(通常是<project>/<app-module>/src/main/AndroidManifest.xml)中,在application節點下注冊自定義的MessageReceiver。

<!--消息接收監聽器-->
<receiver android:name="com.alibaba.sdk.android.push.MessageReceiver" 
    android:exported="false"> <-- 在這里替換成您自己的receiver -->
    <intent-filter>
        <action android:name="com.alibaba.push2.action.NOTIFICATION_OPENED" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.alibaba.push2.action.NOTIFICATION_REMOVED" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.alibaba.sdk.android.push.RECEIVE" />
    </intent-filter>
</receiver>

3 處理推送通知和推送消息

MessageReceiver內可以處理推送通知、推送消息和通知點擊事情,具體API請分別查看推送消息類型推送通知類型

也可以自定義推送消息自定義推送通知樣式攔截推送通知

集成AliyunMessageIntentService(二選一)

1 實現自定義的MessageIntentService

繼承com.alibaba.sdk.android.push.AliyunMessageIntentService

2 注冊自定義的MessageIntentService

在您的AndroidManifest.xml文件(通常是<project>/<app-module>/src/main/AndroidManifest.xml)中,在application節點下注冊自定義的MessageIntentService。

  <service android:name="com.alibaba.sdk.android.push.AliyunMessageIntentService"
      android:exported="false"> <-- 在這里替換成您自己的service -->
      <intent-filter>
          <action android:name="com.alibaba.push2.action.NOTIFICATION_OPENED" />
      </intent-filter>
      <intent-filter>
          <action android:name="com.alibaba.push2.action.NOTIFICATION_REMOVED" />
      </intent-filter>
      <intent-filter>
          <action android:name="com.alibaba.sdk.android.push.RECEIVE" />
      </intent-filter>
  </service>

3 設置使用MessageIntentService

SDK默認是支持MessageReceiver處理消息的,如果要使用MessageIntentService,您需要調用

CloudPushServicesetPushIntentService

val service = PushServiceFactory.getCloudPushService()
service.setPushIntentService(MyMessageIntentService.class) //在這里替換成您自己的service
final CloudPushService service = PushServiceFactory.getCloudPushService();
service.setPushIntentService(MyMessageIntentService.class); //在這里替換成您自己的service

4 處理推送通知和推送消息

MessageIntentService內可以處理推送通知、推送消息和通知點擊事情,具體API請分別查看推送消息類型推送通知類型

也可以自定義推送消息自定義推送通知樣式攔截推送通知

推送消息類型

用于接收服務端推送的消息,消息不會彈窗,而是回調該方法。

重要

如果您要通過OpenApi/控制臺推送消息類型,必須在這個回調方法里處理消息數據,SDK默認不會處理消息類型數據。

onMessage

收到推送消息的回調,可以在這里處理推送消息。

接口定義

void onMessage(Context context, CPushMessage message)

所屬類

MessageReceiver/AliyunMessageIntentService

參數說明

參數

類型

說明

context

Context

android組件上下文。

message

CPushMessage

推送的消息數據結構。

推送通知類型

用于接收服務端推送的通知,通知SDK會默認彈出通知,接收通知以及點擊通知等都有回調。

重要

SDK默認會處理推送通知類型,以通知形式進行交互。同時也支持攔截通知和自定義通知樣式,但您需要擴展相應的API進行處理。

showNotificationNow

是否立即顯示通知,此方法用于控制是否將推送通知交給SDK默認處理還是由用戶自行處理。如果返回false,則您需要在onNotificationReceivedInApp內處理該推送通知。

接口定義

boolean showNotificationNow(Context context, Map<String, String> map)

所屬類

MessageReceiver/AliyunMessageIntentService

參數說明

參數

類型

說明

context

Context

android組件上下文。

map

Map<String, String>

推送消息數據。

返回說明

類型

說明

boolean

  • true。立即顯示通知。

  • false。不顯示通知。

onNotification

推送通知到達回調。SDK收到通知后,回調該方法,可獲取到并處理通知相關的參數。

接口定義

void onNotification(Context context, String title, String summary, Map<String, String> extraMap)

所屬類

MessageReceiver/AliyunMessageIntentService

參數說明

參數

類型

說明

context

Context

android組件上下文。

title

String

通知標題。

summary

String

通知內容。

extraMap

Map<String, String>

通知額外參數,包括部分系統自帶參數:

  • _ALIYUN_NOTIFICATION_ID_(V2.3.5及以上):通知欄通知對應的id,可以通過OpenApi設置,如果不設置,服務端會生成一個

  • _ALIYUN_NOTIFICATION_PRIORITY_(V2.3.5及以上):創建通知對應優先級。默認不帶,需要通過OpenApi設置。

  • _ALIYUN_NOTIFICATION_MSG_ID_(V3.7.0及以上):服務端生成的消息對應的id

onNotificationOpened

點擊通知回調。點擊通知會回調該方法。

接口定義

void onNotificationOpened(Context context, String title, String summary, String extraMap)

所屬類

MessageReceiver/AliyunMessageIntentService

參數說明

參數

類型

說明

context

Context

android組件上下文。

title

String

通知標題。

summary

String

通知內容。

extraMap

String

通知額外參數,JSON格式,包括部分系統自帶參數:

  • _ALIYUN_NOTIFICATION_ID_(V2.3.5及以上):通知欄通知對應的id,可以通過OpenApi設置,如果不設置,服務端會生成一個

  • _ALIYUN_NOTIFICATION_PRIORITY_(V2.3.5及以上):創建通知對應優先級。默認不帶,需要通過OpenApi設置。

  • _ALIYUN_NOTIFICATION_MSG_ID_(V3.7.0及以上):服務端生成的消息對應的id

onNotificationClickedWithNoAction

點擊無跳轉邏輯通知的回調,點擊無跳轉邏輯(open=4)通知時回調該方法(v2.3.2及以上版本支持)。

接口定義

void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap)

所屬類

MessageReceiver/AliyunMessageIntentService

參數說明

參數

類型

說明

context

Context

android組件上下文。

title

String

通知標題。

summary

String

通知內容。

extraMap

String

通知額外參數,JSON格式,包括部分系統自帶參數:

  • _ALIYUN_NOTIFICATION_ID_(V2.3.5及以上):通知欄通知對應的id,可以通過OpenApi設置,如果不設置,服務端會生成一個

  • _ALIYUN_NOTIFICATION_PRIORITY_(V2.3.5及以上):創建通知對應優先級。默認不帶,需要通過OpenApi設置。

  • _ALIYUN_NOTIFICATION_MSG_ID_(V3.7.0及以上):服務端生成的消息對應的id

onNotificationRemoved

刪除通知的回調。刪除通知時會回調該方法。

接口定義

void onNotificationRemoved(Context context, String messageId)

所屬類

MessageReceiver/AliyunMessageIntentService

參數說明

參數

類型

是否必填

說明

context

Context

android組件上下文。

messageId

String

刪除通知的Id。

onNotificationReceivedInApp

通知在應用內回調,該方法僅在showNotificationNow返回false時才會被回調,且此時不調用onNotification,此時需要您自己處理通知邏輯。

重要

當用戶創建自定義通知樣式,并且設置推送應用內到達不創建通知彈窗時調用該回調。

接口定義

void onNotificationReceivedInApp(Context context, String title, String summary, Map<String, String> extraMap, int openType, String openActivity, String openUrl)

所屬類

MessageReceiver/AliyunMessageIntentService

參數說明

參數

類型

說明

context

Context

android組件上下文。

title

String

通知標題。

summary

String

通知內容。

extraMap

Map<String, String>

通知額外參數。

openType

int

原本通知打開方式,1:打開APP;2:打開activity;3:打開URL;4:無跳轉邏輯。

openActivity

String

所要打開的activity的名稱,僅當服務端參數openType=2時有效,其余情況為null。

openUrl

String

所要打開的URL,僅當服務端參數openType=3時有效,其余情況為null。