当您开发自有品牌App的消息推送时,请按照本文档的指导来配置移动应用服务,并开发移动应用的推送功能。

前提条件

  • 在控制台产品开发的人机交互页面中,已设置了设备告警规则(例如,门锁开启时给App推送一条消息;或当PM2.5超过200时给App推送一条消息)。详细请参见配置App设备告警
  • 已完成自有品牌App的创建,详细请参见创建自有App
  • 下载SDK套餐包时勾选了消息推送,详细请参见下载并集成SDK

背景信息

阿里云移动推送服务为Alibaba Cloud Mobile Push,在线送达率超过98%,承载了双十一超过5000条/秒的消息推送峰值。具体产品信息请参见移动推送。生活物联网平台基于阿里云移动推送服务,整合了设备管理能力,将设备的消息推送到App上。

配置移动应用推送服务

  1. 进入生活物联网平台控制台
  2. 选择项目名称,在项目主页面,单击已创建的自有App名称。
  3. 进入自有品牌App开发的SDK下载页面,单击消息推送对应的设置
    APP SDK
  4. 配置iOS应用的消息推送服务。

    iOS应用的推送服务没有在线推送和离线推送之分,需统一采用苹果官方提供给开发者的推送服务。请您根据以下步骤操作。

    上传ios证书
    1. 单击上传文件,并上传APNs推送证书。
    2. 输入推送证书的密码,并单击验证证书
      验证证书

      只有正确配置了证书和密码,提示验证成功后,才能正常调用iOS推送服务。

    3. 单击测试推送,在弹出的输入框中填入deviceToken信息(参见SDK初始化中的didRegisterForRemoteNotificationsWithDeviceToken方法),并单击测试,可以推送一条消息进行测试。
      测试推送
  5. (可选)配置Android离线推送服务。

    Android应用默认支持在线推送,无需额外配置。针对目前市场上的常用移动设备(华为、小米、FCM、OPPO、VIVO),平台还提供了Android应用离线推送能力。

    安卓配置
    说明 以下为三方品牌消息推送大致的配置步骤,仅供您参考,具体操作请根据三方品牌的实际情况来定。
    • 华为
      1. 华为开发者联盟注册App。应用审核通过后,可得到华为的AppID和AppSecret。
      2. 打开华为开发者平台push功能区的消息推送开关。
      3. 在华为开发者平台添加消息回执回调地址为https://agoo-ack.m.taobao.com/hw/
      4. 在生活物联网控制台消息推送设置页面(如上图所示)配置华为AppID和AppSecret。
      说明 确保您在华为控制台激活了推送通道功能,且您的App处于审核中或通过审核的状态(不能为草稿状态),否则通道不会生效。
    • 小米
      1. 小米开放平台注册App,得到相应的小米AppID、小米AppKey、小米AppSecret。
      2. 打开小米开发者平台push功能区的消息推送开关。
      3. 在生活物联网控制台消息推送设置页面配置小米AppSecret。
    • FCM(Google已将GCM推送迁移至Firebase,改称FCM)
      说明 接入前确保手机已安装Google Play Services,否则无法注册成功(目前大部分国内手机的谷歌服务被剥离了)。
      1. FCM推送平台中创建一个项目,并在项目下新增App。
      2. 下载对应App的google-services.json文件,获取json文件中的project_numbermobilesdk_app_id这两个key对应的value,分别记录为sendId/applicationId(下面注册过程中需要用到)。下载配置文件
      3. 在Firebase控制台获取服务器密钥。获取密钥
      4. 在生活物联网控制台消息推送设置页面设置GCM/FCM的服务器密钥。
    • OPPO
      1. 在OPPO市场上架应用,且应用评级为A(评级为A才能使用推送服务,具体政策可咨询OPPO客服)。
      2. OPPO开放平台应用配置注册OPPO企业开发者账号,得到相应的AppKey和MasterSecret。
      3. 在OPPO开放平台添加应用并开通OPPO推送服务。
      4. 在生活物联网控制台消息推送设置页面设置您的OppoAppkey和OppoMasterSecret。
    • VIVO
      说明 国际站的自有品牌App中,暂不支持VIVO推送。
      1. VIVO开放平台注册VIVO账号及创建应用(需要使用企业开发者账号)。审核通过后,能够得到应用的AppID、AppKey和AppSecret。
      2. 在生活物联网控制台消息推送设置页面设置VIVO应用的AppID、AppKey以及AppSecret。

开发应用推送

请您参照以下SDK开发移动应用推送功能。

推送消息介绍

生活物联网平台提供的SDK支持推送的消息分为以下两类。

  • 设备告警消息

    在控制台中配置告警消息,当设备触发该消息规则时,会主动给App推送一条消息。

    推送范围:该设备的所有用户,包括设备的管理者、以及设备的被分享者。

    配置方式:在平台产品-人机交互设备告警中,配置设备告警信息,详细参见配置App设备告警

  • 设备分享消息

    当设备的管理员(即ownerName,以下示例中的甲)将设备分享给其他用户(即memberName,以下示例中的乙)时,平台会主动给App的用户推送设备分享相关的消息。

    • ownerName:设备拥有者别名标识(例如用户名称)
    • memberName:被分享者(或非拥有者)别名标识(例如用户名称)
    设备分享相关的消息包括以下六种情形。在设备分享过程中,分别收到的消息以示例说明如下。
    消息类型 设备分享的场景描述
    设备拥有者向其他用户发起设备分享

    甲向乙发起设备分享时,乙收到消息:ownerName+“向您共享设备”

    设备拥有者取消设备分享

    甲向乙取消设备分享时,乙收到消息:ownerName+“取消了设备共享”

    被分享者接收分享消息

    乙接收甲的设备分享时,甲收到消息:memberName+“添加了您的设备”

    被分享者拒绝分享消息

    乙拒绝甲的设备分享时,甲收到消息:memberName+“取消了设备共享”

    设备被抢占

    乙抢占了甲的设备时,甲收到消息:memberName+“抢占了您的设备”

    发起者已解绑

    乙接收甲分享的设备后,甲取消设备分享时,乙收到消息:ownerName+“删除了您的设备”

    说明 Android应用中,仅“设备拥有者向其他用户发起设备分享”支持离线推送和在线推送,其余设备分享相关的消息都仅支持在线推送。