基于阿里云移动推送的移动应用推送模式最佳实践

简介: ### 一、概念 以下概念对应系统设计时的语义,对于如何合理使用移动推送有借鉴意义 #### 1.1 设备 安装并使用开发者移动应用的装置 #### 1.2 设备ID 阿里云移动推送为设备分配的唯一ID,可以通过阿里云移动推送SDK端提供的接口获取 #### 1.

一、概念

以下概念对应系统设计时的语义,对于如何合理使用移动推送有借鉴意义

1.1 设备

安装并使用开发者移动应用的装置

1.2 设备ID

阿里云移动推送为设备分配的唯一ID,可以通过阿里云移动推送SDK端提供的接口获取

1.3 账号

使用开发者开发应用的终端用户账号,以手淘为例,这个的账号指的是终端用户的淘宝账号

1.4 标签

终端用户的属性标识,用于对用户进行分组

1.5 别名

设备(及使用设备的用户)的昵称

二、关联关系和限制

image.png | center | 588x272

2.1 deviceID

与设备一一对应,阿里云移动推送系统自动分配,通过接口获取

2.2 账号

与deviceID一一对应,对于同一设备切换账号的场景,通过重新绑定账号实现

2.3 别名

一个deviceID可以对应多个别名
别名是用户粒度的概念,建议用于单推的场景

2.4 标签

一个deviceID可以对应多个标签,一个标签也可以对应多个deviceID

三、推送模式最佳实践

3.1 单推

向指定设备推送,可以通过向指定的deviceID、账号、别名推送实现

  • deviceID是阿里云移动推送系统为设备分配的ID号,默认只存储在推送SDK和阿里云后台,这个ID除标识作用外没有特殊的意义,一般开发者推送管理平台无需存储该ID
  • 账号、别名都是开发者设置的ID信息,开发者的推送管理系统中保存有相关的信息和关联关系,易于管理和维护。

别名推送在单推场景下的几种常见使用方法:

  • 对单个用户的别名进行推送

    • 以教育类App的一种常见场景为例:某学生进入校园,需要向家长推送一条消息,此时为注册的家长添加一个别名,并通过别名推送。
  • 多渠道统一管理

    • Android系统碎片化比较严重,App往往需要接入多种推送渠道,此时不同渠道可以使用统一的别名,简化推送系统的管理复杂度
  • 非登录状态推送

    • 部分App用户支持非登录状态使用,这种情况下无法使用账号推送功能,可以通过为该终端用户绑定别名,并使用别名推送,来实现向非登录状态用户推送消息的目标

3.2 组推

向一组用户推送消息

建议使用标签推送

3.3 全推

向全体用户推送

使用全量推送模式

目录
相关文章
|
Java 开发工具 Android开发
在阿里云 OpenAPI 移动推送的 Java 版本接口 v1.0
在阿里云 OpenAPI 移动推送的 Java 版本接口 v1.0
664 1
|
监控 搜索推荐 定位技术
阿里云推送移动推送
阿里云推送是阿里巴巴集团旗下的一款云端消息推送服务。作为云计算领域的领军企业之一,阿里云通过推送技术为开发者和企业提供了高效、可靠的消息传递服务,帮助他们快速将消息推送给设备或用户,实现实时通知和消息交互。
|
11月前
|
供应链 Python
如何开发ERP系统中的采购管理板块(附架构图+流程图+代码参考)
本文介绍如何在ERP系统中开发高效采购管理模块,涵盖采购申请、订单处理、入库与退货等关键流程,解析核心功能与业务逻辑,并提供代码参考及开发技巧,助力企业优化采购管理效率。
|
Python
python简单分割文件的方法(python经典案例)
这篇文章介绍了两种使用Python进行文件分割的方法:通过读取指定字节数分割大文件成小文件,以及通过行数将文本文件分割成多个小文件。
1038 1
|
NoSQL 前端开发 Java
【幂等性大坑】事务提交前释放锁导致锁失效问题
在事务中,使用了 Redis 分布式锁.这个方法一旦执行,事务生效,接着就 Redis 分布式锁生效,代码执行完后,先释放 Redis 分布式锁,然后再提交事务数据,最后事务结束。如果是表单重复提交场景,可以尝试给“订单号”等有唯一性的字段加唯一索引,这样重复提交时会因为唯一索引约束导致索引失效。5、如果表的一个字段,要作为另外一个表的外键,这个字段必须有唯一约束(或是主键),如果只是有唯一索引,就会报错。2、创建唯一约束,会自动创建一个同名的唯一索引,该索引不能单独删除,删除约束会自动删除索引。
【幂等性大坑】事务提交前释放锁导致锁失效问题
|
存储 Oracle 关系型数据库
【赵渝强老师】执行Oracle的冷备份与冷恢复
本文介绍了数据库的冷备份与冷恢复技术,包括其定义、优缺点及操作步骤。通过Oracle RMAN工具,详细演示了如何执行冷备份和冷恢复,确保数据库在关闭状态下完成备份,并能快速恢复到指定时间点。文中还提供了具体的操作示例和代码,帮助读者更好地理解和实践。
593 0
|
存储 消息中间件 Java
深入理解Spring的TransactionSynchronizationManager
深入理解Spring的TransactionSynchronizationManager
2548 0
|
Docker 容器
waiting for docker daemon: failed to start docker engine: dockerd failed to start: exit status 1
waiting for docker daemon: failed to start docker engine: dockerd failed to start: exit status 1
400 0