这是我第一次接近推送通知服务,我有点困惑。我想提供一些概念上的帮助,而不是代码
我需要构建一个应该接收和注册不同类型通知的应用程序。例如,在我的应用程序中,我希望用户可以注册PROMO通知类别和NEWS通知类别,我希望他们可以选择他们想要通知哪一个。
阅读Apple文档,这对我来说并不是那么清楚,似乎一旦app设备被注册,我只收到一个令牌,似乎无法接收更多令牌用于不同类型的注册(例如NEWS和PROMO),因为令牌与应用程序和设备有关。这是对的吗?
对我来说另一件不太清楚的事情是,如果设备已注册特定通知,是否可以仅将通知发送给设备o?
如果Apple Push服务没有提供任何内容,您认为可以管理这样的一切:
- 如果选择了(PROMO || NEWS),我会注册应用程序设备以进行通知
- 我得到了令牌
-I将令牌发送到我的服务器,同时提供有关用户想要订阅的服务的附加信息
- 服务器(提供商)注册令牌和订阅类型(PROMO || NEWS)
- 当我收到推送通知时,我会向服务器询问为该特定类别注册的所有令牌,然后我只将通知发送给那些为该类别注册的设备。
谢谢你帮助我,我真的很困惑。
答案 0 :(得分:5)
“阅读Apple文档,这对我来说并不是那么清楚,似乎一旦app设备注册,我只收到一个令牌,似乎无法接收更多令牌用于不同类型的注册(例如NEWS和PROMO) ,因为令牌与应用程序和设备有关。这是正确的吗?“
YES
对我来说另一件不太清楚的事情是,如果设备注册了特定通知,是否可以仅将通知发送给设备?
是的,您需要一个数据库,您可以将推送令牌与相关服务(促销|新闻)连接起来。如果您有新的促销推送消息,则将消息发送到所有相关令牌。在应用网站上,每当用户更改类别(促销/新闻)时,您应该使用推送令牌将这些信息提供给您的服务。
答案 1 :(得分:0)
这些都是您必须在服务器端自行解决的问题。推送服务仅提供将单个消息发送到单个设备的方法。您必须弄清楚自己要将哪些消息发送到哪些设备。每条消息都必须单独发送,无法直接向所有用户“广播”消息。
您可以将推送令牌视为电子邮件地址 - 当然,一个电子邮件地址可能会订阅来自同一发布商的不同新闻稿,但是发布者的工作(您的)可以找出发送哪些新闻简报,而不是电子邮件提供商(Apple)。
答案 2 :(得分:0)
您应该考虑推送通知注册,就像我发送用户推送通知一样。不是我可以向用户发送什么样的推送通知。
然后,您需要对类别进行服务器端过滤,例如示例promo
和news
中的类别。
用户的完美应该存储在您的服务器上,这样您就可以知道要向哪个用户发送什么类型的通知。