当前位置: 首页 > news >正文

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

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

点此阅读原文:http://click.aliyun.com/m/43047/

一、概念

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

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

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

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

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

1.5 别名
设备(及使用设备的用户)的昵称

二、关联关系和限制

图片描述

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 全推

向全体用户推送

使用全量推送模式

相关文章:

  • centos7设置静态IP
  • 64位x86的函数调用栈布局
  • 纯文本配置还是注册表
  • “你的优势是什么?
  • 记录项目代码迁移后,UI测试框架的搭建(配置文件的修改、测试脚本试运行)...
  • QComboBox 树形视图选择
  • 用户28万、营收超1亿,《生化危机》给VR游戏做了个好榜样
  • 验证数据过程中碰到的问题记录
  • Python--多进程
  • IE安全系列之:中流砥柱(I)—Jscript 5处理浅析
  • python一条语句分析几个常用函数和概念
  • 使用strtok_s函数从一个字符串中分离出单词
  • Android Studio_更新Gradle
  • MyBatis源码解读之SqlSession
  • 【小松教你手游开发】【系统模块开发】根据上一个GameObject坐标生成的tips界面...
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android 控件背景颜色处理
  • C++类的相互关联
  • canvas 绘制双线技巧
  • JavaScript实现分页效果
  • Java面向对象及其三大特征
  • Meteor的表单提交:Form
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Phpstorm怎样批量删除空行?
  • Python socket服务器端、客户端传送信息
  • Python利用正则抓取网页内容保存到本地
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Vue2 SSR 的优化之旅
  • 从setTimeout-setInterval看JS线程
  • 免费小说阅读小程序
  • 扑朔迷离的属性和特性【彻底弄清】
  • 悄悄地说一个bug
  • 区块链技术特点之去中心化特性
  • 如何选择开源的机器学习框架?
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 云大使推广中的常见热门问题
  • HanLP分词命名实体提取详解
  • UI设计初学者应该如何入门?
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (4)事件处理——(7)简单事件(Simple events)
  • (九)信息融合方式简介
  • (一)appium-desktop定位元素原理
  • (已解决)什么是vue导航守卫
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET开源快速、强大、免费的电子表格组件
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @EnableConfigurationProperties注解使用