美文网首页
阿里云推送小结

阿里云推送小结

作者: 3Q竹林 | 来源:发表于2017-06-10 14:53 被阅读1289次
  • 安卓端重要方法简介:
CloudPushService pushService = PushServiceFactory.getCloudPushService();
 pushService.closeDoNotDisturbMode(); //设置免打扰
 pushService.setDoNotDisturb(0, 0, 23, 59, new CommonCallback() {});
 pushService.turnOnPushChannel(CommonCallback callback); ---存在2-3小时延迟。
 pushService.turnOffPushChannel(CommonCallback callback); ---存在2-3小时延迟。
//将设备deviceId注册到云推送,即绑定过设备
 pushService.register(applicationContext, new CommonCallback() {}); 
查询推送通道状态:pushService.checkPushChannelStatus(CommonCallback callback); 
//通过callback.success(String response)回调传入’on’;反之则传入’off’
  • 其他:
  1. pushService.bindAccount(String account, CommonCallback callback);
    一个设备只能绑定一个账号,而同一账号可以绑定到多个设备;也就是说,你所推送的消息若是公共的,可以采用按设备推送,而若是指定发给某人的,就要采用安账号推送了,但是需要注意,当在app中用户退出当前应用后,再次直接登录后并不走Application,所以你若是在XxApplication中调用了bindAccount(),那么在新用户登录后是并未bindAccount()的,需要我们在登录成功后,或在吊起开启推送方法turnOnPushChannel(V3.03)或pushService.closeDoNotDisturbMode();而且在关闭状态下所有推送的消失不会再次收到;
  1. 对于通知开关的状态,可以保存到本地sp中(0,1,"")三种形式,q其中的""表示第一次启动或数据被清理的情况,当为""时需要请求(自己后台或第三方)获得当前开关状态;
  1. 绑定标签到指定目标如: 设备、账号和别名绑定标签,其绑定类型由参数target指定;
    bindTag(int target, String[] tags, String alias, CommonCallback callback);
    参数解析: target(V2.3.5及以上版本) 目标类型,CloudPushService.DEVICE_TARGET:本设备;CloudPushService.ACCOUNT_TARGET:本账号; CloudPushService.ALIAS_TARGET:别名
    tags 标签(标签数组)alias 指定绑定的别名(仅当target = 3时生效,其它两种情况不用传,但标记账号前需要保证一定绑定了账号)callback 回调监听;
  1. 查询标签:pushService.listTags(int target, CommonCallback callback); //当前仅支持查询设备标签;
  1. 添加别名 pushService.addAlias(String alias, CommonCallback callback);
    要求:单个设备最多添加128个别名,且同一别名最多添加到128个设备;
  1. 删除别名: removeAlias(String alias, CommonCallback callback);
  1. 查询别名:listAliases(CommonCallback callback);
  1. 设置通知声音:setNotificationSoundFilePath(String filePath);//默认获取资源id为R.raw.alicloud_notification_sound的资源文件
  1. 设置通知栏图标:setNotificationLargeIcon(Bitmap icon);默认获取R.drawable.alicloud_notification_largeIcon资源文件;其次获取App启动图标。
  1. 设置状态栏图标:setNotificationSmallIcon(int iconId);默认获取R.drawable.alicloud_notification_smallIcon资源,其次获取App启动图标。

11.删除所有通知:clearNotifications();若需要实现精准删除特定通知可以在onNotification回调中获取通知id,自行删除;

  • 阿里云自带的消息\通知接收方法:
  1. 消息接收回调:void onMessage(Context context, CPushMessage message); //消息不会弹窗,只是回调该方法。
  1. 通知接收回调:void onNotification(Context context, String title, String summary, Map<String, String> extraMap) //可进行通知预先处理操作,如修改、删除等;
  2. 通知打开回调:void onNotificationOpened(Context context, String title, String summary, String extraMap);
  3. 无跳转逻辑通知打开回调:void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap);
  4. 通知被删除回调:void onNotificationRemoved(Context context, String messageId);
  • 我们自定义通知样式时,并且设置推送应用内到达不创建通知弹窗时调用该回调,且此时不调用自带的onNotification(),而是调用通知在应用内到达回调:

void onNotificationReceivedInApp(Context context, String title, String summary, Map<String, String> extraMap, int openType, String openActivity, String openUrl); //这时需要我们自己定义通知栏样式,以及弹窗被点击后的操作;

.

相关文章

网友评论

      本文标题:阿里云推送小结

      本文链接:https://www.haomeiwen.com/subject/xooqqxtx.html