开发者社区 问答 正文

如何推送通知给iOS



描述


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

请求参数

名称类型是否必须描述
ActionString操作接口名称,取值:PushNoticeToiOS
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
EnvStringiOS的通知是通过APNS中心来发送的,需要填写对应的环境信息,DEV表示开发环境,PRODUCT表示生产环境
SummaryString发送的通知内容(UTF-8编码)
ExtString用于自定义设置系统参数:iOSBadge和iOSMusic,设置方式:{“sound”:”default”, “badge”:”42”}(注意 : 该参数要以json map的格式传入,否则会解析出错)(sound : iOS通知声音,不设置该参数播放系统默认声音,设置空字符不播放声音)
iOSExtParametersString自定义的KV结构,开发者扩展用,针对iOS设备(注意 : 该参数要以json map的格式传入,否则会解析出错)


响应参数

名称类型描述
ResponseIdString请求返回ID(如需排查问题可告诉工作人员该ID)


错误码


对于所有接口的通用性错误,请参考 错误代码表

示例



请求示例

  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]Env[backcolor=transparent]=[backcolor=transparent]DEV
  6. [backcolor=transparent]&[backcolor=transparent]Summary[backcolor=transparent]=[backcolor=transparent]hello
  7. [backcolor=transparent]&[backcolor=transparent]Ext[backcolor=transparent]=%[backcolor=transparent]7B[backcolor=transparent]%[backcolor=transparent]22aaa[backcolor=transparent]%[backcolor=transparent]22[backcolor=transparent]%[backcolor=transparent]3A[backcolor=transparent]%[backcolor=transparent]22bbb[backcolor=transparent]%[backcolor=transparent]22[backcolor=transparent]%[backcolor=transparent]7D
  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]<ResponseId>[backcolor=transparent]129377952[backcolor=transparent]</ResponseId>
  4. [backcolor=transparent]</PushNoticeToiOSResponse>


JSON格式

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

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

要向iOS设备推送通知,您需要遵循以下步骤和参数配置:

1. 准备请求参数

  • Action: 必填,设置为PushNoticeToiOS,表示推送通知到iOS设备的操作。
  • AppKey: 必填,您的应用在阿里云上的唯一标识。
  • Target: 必填,指定推送目标。可选值包括:
    • device: 推送给指定设备ID。
    • account: 推送给绑定的账号。
    • alias: 推送给设备别名。
    • tag: 根据标签推送。
    • all: 推送给所有设备。
  • TargetValue: 必填,根据Target类型设定具体值,多个值以逗号分隔,最多支持100个。
  • Env: 必填,指定iOS的通知环境,DEV表示开发环境,PRODUCT表示生产环境。
  • Summary: 必填,发送的通知内容(UTF-8编码)。
  • Ext: 可选,用于自定义系统参数,如iOSBadge和iOSMusic。格式应为JSON map,例如:{"sound":"default", "badge":"42"}。不设置声音参数将播放系统默认声音,设置为空字符则不播放声音。
  • iOSExtParameters: 可选,开发者自定义的键值对结构,针对iOS设备,同样需为JSON map格式。

2. 构建请求URL

构建请求的URL时,将上述参数拼接成查询字符串形式,示例请求如下(请替换方括号内的实际值):

http://cloudpush.aliyuncs.com/?Action=PushNoticeToiOS&AppKey=[您的AppKey]&Target=[device/account/alias/tag/all]&TargetValue=[具体值]&Env=[DEV/PRODUCT]&Summary=[通知内容摘要]&Ext=[{"sound":"default", "badge":"42"}]&iOSExtParameters=[{"key":"value"}]

3. 注意事项

  • 离线消息处理:默认情况下,此接口仅发送给在线设备。如果需要支持离线消息保存并稍后推送给设备,请使用高级推送接口,并设置相应的离线保存参数。
  • 参数格式:确保ExtiOSExtParameters参数按照JSON格式正确构造,避免解析错误。
  • 环境选择:生产环境下才能实现离线消息转通知功能。
  • 错误码处理:操作过程中可能会遇到错误,参考错误代码表进行问题排查。

4. 示例响应

成功调用接口后,您会收到一个包含ResponseId的响应,该ID可用于后续问题排查或追踪推送状态。

通过以上步骤,您可以完成向iOS设备推送通知的基本配置与请求。

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