开发者社区> 问答> 正文

2. MessageReceiver/AliyunMessageIntentService

已解决

展开
收起
2018-07-06 09:20:41 998 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    • 通过继承MessageReciever,可以拦截通知,接收消息,获取推送中的扩展字段。或者在通知打开或删除的时候,切入进行后续处理。
    • 如果调用了setPushIntentService,则需继承com.alibaba.sdk.android.push.AliyunMessageIntentService,并覆写相关方法,AliyunMessageIntentService所有消息回调同MessageReceiver一致。

    使用方法:

    • MessageReceiver

      • 继承com.alibaba.sdk.android.push.MessageReceiver
      • 在Manifest中找到原来MessageReceiver的配置,将上边的class替换成你自己的receiver[不要配置多个]。

        />
      • </intent-filter>
      • ... ...
      • </receiver>
    • AliyunMessageIntentService
        />
      • </intent-filter>
      • <intent-filter>
      • <action android:name="com.alibaba.sdk.android.push.RECEIVE" />
      • </intent-filter>
      • </service>

    消息接收回调

    • 用于接收服务端推送的消息。
    • 消息不会弹窗,而是回调该方法。

    参数

    • context 上下文环境
    • message CPushMessage类型,可以获取消息Id、消息标题和内容。
    1. void onMessage(Context context, CPushMessage message);

    通知接收回调

    • 客户端接收到通知后,回调该方法。
    • 可获取到并处理通知相关的参数。

    参数

    • context 上下文环境
    • title 通知标题
    • summary 通知内容
    • extraMap 通知额外参数,包括部分系统自带参数:
      • _ALIYUN_NOTIFICATION_ID_(V2.3.5及以上):创建通知对应id
      • _ALIYUN_NOTIFICATION_PRIORITY_(V2.3.5及以上):创建通知对应id。默认不带,需要通过OpenApi设置
    1. void onNotification(Context context, String title, String summary, Map<String, String> extraMap)

    通知打开回调

    • 打开通知时会回调该方法,通知打开上报由SDK自动完成。

    参数

    • context 上下文环境
    • title 通知标题
    • summary 通知内容
    • extraMap 通知额外参数,包括部分系统自带参数:
      • _ALIYUN_NOTIFICATION_ID_(V2.3.5及以上):创建通知对应id
      • _ALIYUN_NOTIFICATION_PRIORITY_(V2.3.5及以上):创建通知对应id。默认不带,需要通过OpenApi设置
    1. void onNotificationOpened(Context context, String title, String summary, String extraMap);

    无跳转逻辑通知打开回调

    • 打开无跳转逻辑(open=4)通知时回调该方法(v2.3.2及以上版本支持),通知打开上报由SDK自动完成。

    参数

    • context 上下文环境
    • title 通知标题
    • summary 通知内容
    • extraMap 通知额外参数,包括部分系统自带参数:
      • _ALIYUN_NOTIFICATION_ID_(V2.3.5及以上):创建通知对应id
      • _ALIYUN_NOTIFICATION_PRIORITY_(V2.3.5及以上):创建通知对应id。默认不带,需要通过OpenApi设置
    1. void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap);

    通知删除回调

    • 删除通知时回调该方法,通知删除上报由SDK自动完成。

    参数

    • context 上下文环境
    • messageId 删除通知的Id
    1. void onNotificationRemoved(Context context, String messageId);

    通知在应用内到达回调

    • 当用户创建自定义通知样式,并且设置推送应用内到达不创建通知弹窗时调用该回调,且此时不调用onNotification回调(v2.3.3及以上版本支持)

    参数

    • context 上下文环境
    • title 通知标题
    • summary 通知内容
    • extraMap 通知额外参数
    • openType 原本通知打开方式,1:打开APP;2:打开activity;3:打开URL;4:无跳转逻辑
    • openActivity 所要打开的activity的名称,仅当openType=2时有效,其余情况为null
    • openUrl 所要打开的URL,仅当openType=3时有效,其余情况为null
    1. void onNotificationReceivedInApp(Context context, String title, String summary, Map<String, String> extraMap, int openType, String openActivity, String openUrl);

    2018-07-11 06:52:32
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载