开发者社区 问答 正文

如何推送消息给iOS



描述


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

请求参数

名称类型是否必须描述
ActionString操作接口名称,取值:PushMessageToiOS
AppKeyLongAppKey信息
TargetString推送目标
  • device:推送给设备
  • account:推送给指定帐号
  • alias:推送给指定别名
  • tag:推送给指定Tag
  • all:推送给全部设备
TargetValueString根据Target来设定,多个值使用逗号分隔,最多支持100个。
  • Target=device,值如deviceid111,deviceid1111
  • Target=account,值如account111,account222
  • Target=alias,值如alias111,alias222
  • Target=tag,支持单Tag和多Tag,格式请参考标签格式
  • Target=all,值为all
MessageString发送消息的内容(UTF-8编码)
SummaryString如果设置了该参数,当应用不在线时,会把该内容转成通知发送出去,转通知后Message不起作用。(高级接口的离线消息转通知的功能详见高级接口remind参数)


响应参数

名称类型描述
ResponseIdString请求返回ID(如需排查问题可告诉工作人员该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]Message[backcolor=transparent]=[backcolor=transparent]hello
  6. [backcolor=transparent]&[backcolor=transparent]Summary[backcolor=transparent]=[backcolor=transparent]hello
  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]<ResponseId>[backcolor=transparent]129377568[backcolor=transparent]</ResponseId>
  4. [backcolor=transparent]</PushMessageToiOSResponse>


JSON格式

  1. [backcolor=transparent]{
  2. [backcolor=transparent]  [backcolor=transparent]"ResponseId"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"129376288"
  3. [backcolor=transparent]}

展开
收起
猫饭先生 2017-10-23 10:08:50 1424 分享 版权
阿里云 AI 助理回答

要向iOS设备推送消息,您需要调用阿里云的移动推送服务接口。根据提供的信息,请遵循以下步骤和注意事项:

推送消息给iOS设备

  1. 确认接口变更

    • 注意,原PushMessageToiOS接口即将废弃,请改用高级推送接口,并在该接口中指定DeviceTypeiOSPushTypeMESSAGE以达到相同效果。
  2. 配置请求参数

    • Action: 必须设置为PushMessageToiOS
    • AppKey: 提供您的AppKey信息,这是应用的唯一标识。
    • Target: 指定推送目标,可选值包括DEVICEACCOUNTALIASTAGALL。例如,若要推送给所有设备,则设为all
    • TargetValue: 根据Target设定具体值,如设备ID、账号等,多个值用逗号分隔,最多支持100个(注意文档间描述的数量上限有差异,请依据实际需求和最新文档确定)。
    • Message: 发送的消息内容,需UTF-8编码。
    • Summary(可选): 当应用不在线时,此内容将转换为通知发送,此时Message字段失效。
  3. 离线消息处理

    • 若希望设备离线时保存消息并在上线后接收,需使用高级接口并设置相应的离线保存参数,因为默认情况下仅发送给在线设备。
  4. 构造请求

    • 构建HTTP请求,示例URL格式为:http://cloudpush.aliyuncs.com/,并添加相应请求参数及公共请求参数(如AccessKeyId、Signature等)。
  5. 响应处理

    • 成功响应将包含ResponseId,用于后续问题排查。
  6. 错误处理

    • 参考错误代码表来识别和解决可能出现的问题。

注意事项

  • 确保了解EMAS移动推送产品的收费方式和价格。
  • 使用API前,确保已正确配置证书,特别是对于iOS设备,需配置APNs网关。
  • 考虑到接口变更,请直接采用推荐的高级接口进行操作,以避免因使用废弃接口导致的兼容性问题。

请根据上述指南调整您的推送策略和实施步骤,确保消息推送的成功与高效。

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