【问题标题】:What is the default value of the apns-expiration field?apns-expiration 字段的默认值是多少?
【发布时间】:2017-11-21 15:33:27
【问题描述】:

apns-expiration 字段控制 Apple 在放弃发送 apns 消息之前将保留多长时间(例如,如果设备关闭)。

根据他们的docs,值为零表示“不保留”:意味着如果消息不能立即传递,则将其丢弃。

但是如果标题没有指定会怎样?换句话说,默认行为是什么?

【问题讨论】:

  • 好问题。我在文档中什么也没看到。对于旧的二进制“增强”格式,过期值是预期二进制消息的一部分,因此它总是有一个值。
  • @Eran:也许您知道 - apns 的第一个版本(“增强”之前)没有明确指定到期日期。也许您知道保留默认值是什么?
  • 我想我可以测试一下。
  • 我不知道。
  • 好问题,但我建议永远不要依赖没有记录的东西。行为随时可能发生变化,并且会使您的应用受到影响。您始终可以将过期时间设置为“0”,以便以后发送没有意义的实时通知。 :)

标签: apple-push-notifications


【解决方案1】:

https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#//apple_ref/doc/uid/TP40008194-CH11-SW1

“如果此值非零,APNs 会存储通知并尝试至少发送一次,如果第一次无法发送通知,则根据需要重复尝试。”

从字面上看,这意味着没有值等于 0。

【讨论】:

    【解决方案2】:

    我的信息不是基于文档,而是基于从数百万用户系统收集的统计数据。目前的策略是长时间保留推送消息(具体多久我不知道——我们在某些情况下看到了 1M 秒的保留时间)。当然,由于没有记录,因此将来可能会发生变化。

    请注意,此默认值类似于 Google 的政策(默认值为 2419200 秒),但 Google 的政策已记录在案。

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 2018-11-19
      • 1970-01-01
      • 2017-10-21
      • 2014-10-20
      • 2018-07-12
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多