开发者社区 问答 正文

推消息给iOS设备怎么实现?



PushMessageToiOS



描述


推送消息给iOS。
[backcolor=transparent]注:该接口默认只发送给在线设备,要发送离线保存消息请用 推送高级接口

请求参数

名称类型是否必须描述
ActionString操作接口名称,取值:PushMessageToiOS
AppKeyLongAppKey信息
TargetString推送目标:
  • DEVICE:根据设备推送
  • ACCOUNT:根据账号推送
  • ALIAS:根据别名推送
  • TAG:根据标签推送
  • ALL:推送给全部设备
TargetValueString根据Target来设定,多个值使用逗号分隔,最多支持100个。
  • Target=DEVICE,值如deviceid111,deviceid1111
  • Target=ACCOUNT,值如account111,account222
  • Target=ALIAS,值如alias111,alias222
  • Target=TAG,支持单Tag和多Tag,格式请参考 标签格式
  • Target=ALL,值为all
TitleString发送的消息的标题
BodyString发送的消息内容
错误代码描述HTTP 状态码语义
InvalidTargetTarget must be [DEVICE、ACCOUNT、TAG、ALIAS、ALL].400Target只能取DEVICE、ACCOUNT、TAG、ALIAS、ALL其中之一进行发送
InvalidParameterThe specified Title.length can not be greater than 60.]400Title不能大于60个Byte(中文算三个)
AppLimitExceedThe specified payload beyond the permitted range(1800Byte).]400请求内容超过系统限制,请参考产品限制


响应参数

名称类型描述
MessageIdString标志一次推送的消息ID


错误码



示例



请求示例

  1. [backcolor=transparent]http[backcolor=transparent]:[backcolor=transparent]//cloudpush.aliyuncs.com/?Action=PushMessageToiOS
  2. [backcolor=transparent]&[backcolor=transparent]AppKey[backcolor=transparent]=[backcolor=transparent]23267207
  3. [backcolor=transparent]&[backcolor=transparent]Target[backcolor=transparent]=[backcolor=transparent]ALL[backcolor=transparent]&
  4. [backcolor=transparent]&[backcolor=transparent]TargetValue[backcolor=transparent]=[backcolor=transparent]ALL
  5. [backcolor=transparent]&[backcolor=transparent]Title[backcolor=transparent]=[backcolor=transparent]title
  6. [backcolor=transparent]&[backcolor=transparent]Body[backcolor=transparent]=[backcolor=transparent]body
  7. [backcolor=transparent]&<公共请求参数>


返回示例



XML格式

  1. [backcolor=transparent]<?[backcolor=transparent]xml version[backcolor=transparent]=[backcolor=transparent]'1.0'[backcolor=transparent] encoding[backcolor=transparent]=[backcolor=transparent]'UTF-8'[backcolor=transparent]?>
  2. [backcolor=transparent]<PushMessageToiOSResponse>
  3. [backcolor=transparent]    [backcolor=transparent]<RequestId>[backcolor=transparent]9998B3CC-ED9E-4CB3-A8FB-DCC61296BFBC[backcolor=transparent]</RequestId>
  4. [backcolor=transparent]    [backcolor=transparent]<MessageId>[backcolor=transparent]501029[backcolor=transparent]</MessageId>
  5. [backcolor=transparent]</PushMessageToiOSResponse>


JSON格式

  1. [backcolor=transparent]{
  2. [backcolor=transparent]  [backcolor=transparent]"RequestId"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"9998B3CC-ED9E-4CB3-A8FB-DCC61296BFBC"[backcolor=transparent],
  3. [backcolor=transparent]  [backcolor=transparent]"MessageId"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"501029"
  4. [backcolor=transparent]}

展开
收起
猫饭先生 2017-10-23 10:29:23 1023 分享
分享
版权
举报
阿里云 AI 助理回答

推送消息给iOS设备的指南

推送概述

要向iOS设备推送消息,您应使用阿里云EMAS移动推送服务的高级接口,并指定DeviceTypeiOSPushTypeMESSAGE。此方法替代了即将废弃的PushMessageToiOS接口,提供了更丰富的推送能力。

请求参数配置

  • Action: 必填,设置为PushMessageToiOS
  • AppKey: 必填,您的AppKey信息。
  • Target: 必填,指定推送目标。可选值包括:
    • DEVICE: 根据设备ID推送。
    • ACCOUNT: 根据账号推送。
    • ALIAS: 根据别名推送。
    • TAG: 根据标签推送。
    • ALL: 推送给所有设备。
  • TargetValue: 必填,根据Target类型设定具体值,多个值以逗号分隔,总数限制为100个(注意与参考资料中的1000个有所差异,请按此回答为准)。
  • Title: 必填,消息标题,长度不超过60个字节(中文字符算3个字节)。
  • Body: 必填,消息内容。
  • StoreOffline(可选): 设置是否离线保存消息,默认为false。若设为true,系统会在设备上线后自动下发离线期间的消息,过期时间默认为72小时。

注意事项

  • 在线状态:默认仅推送给在线设备,需通过设置StoreOffline来实现离线消息保存。
  • 消息大小限制:确保消息内容(包括Title和Body)不超过系统规定的字节数限制,避免AppLimitExceed错误。
  • Target值规范:确保Target值正确且符合数量限制,否则会遇到InvalidTarget错误。

响应参数

  • MessageId: 成功推送后返回的消息ID,用于追踪推送记录。

错误处理

  • 常见错误码
    • InvalidTarget: 确保Target取值合法。
    • InvalidParameter: 检查Title长度是否超过60字节。
    • AppLimitExceed: 消息内容超出允许范围,请调整内容大小。

示例请求

尽管示例URL被省略,构建请求时应包含上述所有必要参数,格式化为HTTP请求发送至阿里云EMAS移动推送服务的相应端点。

结论

遵循上述指南配置推送请求,确保遵守参数规则与限制,即可成功向iOS设备推送消息。对于更详细的API调用、错误处理及最佳实践,建议直接在阿里云官方文档或OpenAPI Explorer中查阅最新信息并进行调试。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等