我希望实现一个后端服务器,它可以在每次收到新邮件时读取(以执行某些操作)用户gmail。我能够发现,每次收到新邮件时,都使用gmail API users.watch,my server can be notified。现在,为了从gmail获取新邮件,我的服务器需要用户在选择被监视时提供的用户凭据(Auth令牌)。不管怎样,这些凭据可以连同推送通知一起发送到我的服务器(可能使用users.watch API)。
为了达到同样的目的,我遇到的一种方法是在DB中存储auth和刷新令牌,这只能由我的服务器访问。但是,如果不将凭据存储在DB中,则可以更好地实现这一目的。
在我们的应用程序中,我们用推送通知通知用户,但是如果用户没有收到推送(例如,用户的设备离线),那么我们就给他发短信。
由于APN不提供交付报告,我们实现了使用服务扩展向后端发送报告的方法:
- When app receives push notification, it sends an http-request to backend inside Service Extension's method - didReceive(_ didReceive: UNNotificationRequest,withContentHandler contentHandler: