文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android 极光推送别名与标签方式

2022-06-06 17:32

关注

Android 极光推送 别名、标签、RegistrationID

说明

别名(alias)

为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。每个用户只能指定一个别名。

建议:对于同一个应用内部,建议不同用户设置不同的别名,保证用户别名的唯一性。(极光不限制同一个别名只能对应一个用户。当一个别名指定了多个用户时,当给这个别名推送消息时,这个别名对应的多个用户都会收到推送消息)

标签(tag)

给用户打上标签,主要用于向特定批量用户推送消息。可为一个用户设置多个标签。

registrationId(设备唯一标识)

应用程序在第一次成功注册到极光服务器时,极光服务器会给客户端返回一个唯一的该设备的标识 - RegistrationID。JPush SDK 会以广播的形式发送 RegistrationID 到应用程序。

应用程序可以把此 RegistrationID 保存以自己的应用服务器上,然后就可以根据 RegistrationID 来向设备推送消息或者通知。

setMobileNumber

3.1.1 版本开始提供设置手机号码的接口,用于短信补充功能。

支持的操作

别名与标签,支持增删改查的操作。

registrationId,只支持查询的操作。

alias的操作:

Method - setAlias

调用此 API 来设置别名。

这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。

public static void setAlias(Context context, int sequence, String alias);

参数定义

sequence

用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。

alias

有效的别名组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。

限制:alias 命名长度限制为 40 字节。(判断长度需采用 UTF-8 编码)

Method - deleteAlias

调用此 API 来删除别名。

public static void deleteAlias(Context context,int sequence);

Method - getAlias

调用此 API 来查询别名。

public static void getAlias(Context context,int sequence);

tag的操作:

Method - setTags

调用此 API 来设置标签。

需要理解的是,这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。

public static void setTags(Context context, int sequence,Set tags);

参数定义

sequence

用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。

tags

有效的标签组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。

限制:每个 tag 命名长度限制为 40 字节,最多支持设置 1000 个 tag,且单次操作总长度不得超过 5000 字节。(判断长度需采用 UTF-8 编码)

单个设备最多支持设置 1000 个 tag。App 全局 tag 数量无限制。

Method - addTags

调用此 API 来新增标签。

public static void addTags(Context context, int sequence,Set tags);

Method - deleteTags

调用此 API 来删除指定标签。

public static void deleteTags(Context context, int sequence,Set tags);

Method - cleanTags

调用此 API 来清除所有标签。

public static void cleanTags(Context context, int sequence);

Method - getAllTags 

调用此 API 来查询所有标签。

public static void getAllTags(Context context, int sequence);

Method - checkTagBindState

调用此 API 来查询指定 tag 与当前用户绑定的状态。

public static void checkTagBindState(Context context,int sequence,String tag);

registrationId的操作

SDK 初次注册成功后,开发者通过在自定义的 Receiver 里监听 Action - cn.jpush.android.intent.REGISTRATION 来获取对应的 RegistrationID。

注册成功后,也可以通过函数 public static String getRegistrationID(Context context) 获取

举例子:

当App端初次注册成功后,或注册成功后getRegistrantionId接口得到registrationId,app内部登录时传参registrationId,服务器保存当前的registrationId,服务器根据保存的registrationId推送消息

消息回调方式说明

Class - cn.jpush.android.service.JPushMessageReceiver

新的消息回调方式中相关回调类。

1、新的 tag 与 alias 操作回调会在开发者定义的该类的子类中触发。

2、手机号码设置的回调会在开发者定义的该类的子类中触发。

该类为回调父类,开发者需要继承该类并在 Manifest 中配置您对应实现的类,接口操作的结果会在您配置的类中的如下方法中回调。

Method - onAliasOperatorResult

alias 相关的操作会在此方法中回调结果。

Method - onTagOperatorResult

tag 增删查改的操作会在此方法中回调结果。

Method - onCheckTagOperatorResult

查询某个 tag 与当前用户的绑定状态的操作会在此方法中回调结果。

Method - onMobileNumberOperatorResult

设置手机号码会在此方法中回调结果。



public class MyJPushMessageReceiver extends JPushMessageReceiver {
 @Override
 public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
  TagAliasOperatorHelper.getInstance().onTagOperatorResult(context,jPushMessage);
  super.onTagOperatorResult(context, jPushMessage);
 }
 @Override
 public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage){
  TagAliasOperatorHelper.getInstance().onCheckTagOperatorResult(context,jPushMessage);
  super.onCheckTagOperatorResult(context, jPushMessage);
 }
 @Override
 public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
  TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context,jPushMessage);
  super.onAliasOperatorResult(context, jPushMessage);
 }
 @Override
 public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
  TagAliasOperatorHelper.getInstance().onMobileNumberOperatorResult(context,jPushMessage);
  super.onMobileNumberOperatorResult(context, jPushMessage);
 }
}

以上这篇Android 极光推送别名与标签方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。

您可能感兴趣的文章:android studio集成极光推送的操作步骤


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯