开发者社区 问答 正文

推通知给iOS设备以后怎么办?



描述


推送通知给iOS。

请求参数

名称类型是否必须描述
ActionString操作接口名称,取值:PushNoticeToiOS
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
ApnsEnvStringiOS的通知是通过APNS中心来发送的,需要填写对应的环境信息,DEV表示开发环境,PRODUCT表示生产环境
TitleString发送的通知的标题(iOS10以上才会显示,可不填)
BodyString发送的通知内容
ExtParametersString自定义的KV结构,开发者扩展用,针对iOS设备(注意 : 该参数要以json map的格式传入,否则会解析出错)


响应参数

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


错误码

错误代码描述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请求内容超过系统限制,请参考产品限制
InvalidJsonExtParameterThe specified ExtParameter is not valid json format of map.400ExtParameter参数应为json格式的map结构
InvalidEnvEnv must be [DEV、PRODUCT].400iOS的发送环境取DEV或者PRODUCT


示例



请求示例

  1. [backcolor=transparent]http[backcolor=transparent]:[backcolor=transparent]//cloudpush.aliyuncs.com/?Action=PushNoticeToiOS
  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]ApnsEnv[backcolor=transparent]=[backcolor=transparent]DEV
  6. [backcolor=transparent]&[backcolor=transparent]Body[backcolor=transparent]=[backcolor=transparent]Hello[backcolor=transparent] [backcolor=transparent]World
  7. [backcolor=transparent]&[backcolor=transparent]ExtParameters[backcolor=transparent]={[backcolor=transparent]"k1"[backcolor=transparent]:[backcolor=transparent]"ios"[backcolor=transparent],[backcolor=transparent]"k2"[backcolor=transparent]:[backcolor=transparent]"v2"[backcolor=transparent]}
  8. [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]<PushNoticeToiOSResponse>
  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]</PushNoticeToiOSResponse>


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:30:24 1464 分享 版权
阿里云 AI 助理回答

要向iOS设备推送通知,您需要构造一个HTTP请求,包含特定的参数以确保消息能够正确送达目标设备。以下是根据您的需求整理的操作指南和参数说明:

请求参数配置

  1. Action: 必填,设置为PushNoticeToiOS,表示此请求用于向iOS设备推送通知。

  2. AppKey: 必填,提供您的阿里云推送服务AppKey信息。

  3. Target: 必填,指定推送目标。可选值包括:

    • DEVICE: 根据设备ID推送,值如:deviceid111,deviceid1111
    • ACCOUNT: 根据账号推送,值如:account111,account222
    • ALIAS: 根据别名推送,值如:alias111,alias222
    • TAG: 根据标签推送,支持单个或多个标签,格式请参考官方文档。
    • ALL: 推送给全部设备,值为:all
  4. ApnsEnv: 必填,指定iOS的通知环境。取值为DEV(开发环境)或PRODUCT(生产环境)。

  5. Title: 非必填,但iOS 10及以上系统会显示通知标题,长度限制请注意不要超过60个字节。

  6. Body: 必填,推送的通知内容。

  7. ExtParameters: 非必填,自定义的键值对结构,供开发者扩展使用。注意:该参数必须是JSON map格式,否则会导致解析错误。

其它通用参数

  • 请参考公共请求参数文档进行补充,例如JobKeyiOSBadge等高级功能配置,可根据实际需求添加到请求中。

响应参数

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

错误码注意事项

  • 确保避免常见的错误,如InvalidTargetInvalidParameter(特别是关于Title长度和Payload大小)、InvalidJsonExtParameter以及InvalidEnv等。

示例请求结构

虽然具体URL被省略,但构建请求时应遵循如下格式(请替换方括号内的内容为实际值):

http://cloudpush.aliyuncs.com/
?Action=PushNoticeToiOS
&AppKey=您的AppKey
&Target=DEVICE,ACCOUNT,ALIAS,TAG,ALL之一及对应值
&ApnsEnv=DEV或PRODUCT
&Title=您的通知标题
&Body=您的通知内容
&ExtParameters={"key1":"value1","key2":"value2"} // JSON格式的自定义参数
// 可选其他高级参数,如: &iOSMusic=音频文件名

请根据实际情况调整上述示例中的参数,并确保遵守每个参数的规则与限制,以成功完成iOS设备的通知推送。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答