我正在制作一个“健康”应用,每天向用户发送通知。每天的通知数量取决于当天(例如第一次使用的第2天),“健康”运动持续时间也取决于当天(我在此之后发送另一个通知,通知用户运动已结束) )。
知道我们无法计划超过64个通知我尝试了以下内容:1。当用户选择其应用参数时设置当天和第二天的通知,然后2.每天使用后台提取编程下一天的通知(否)无论多少次,每天至少一次)。
然而,这不起作用,就好像用户从多任务列表中杀死应用程序一样,不会执行后台提取。
有没有计划我的“第二天”通知而不强迫用户打开应用程序这样做?这个想法是用户可以在不必每天都打开应用程序的情况下关注该程序。
我已经看到静音推送通知(这样可以运行代码而不必打开应用程序吗?)或pushkit可以做到这一点,但我的应用程序不是VoIP应用程序,因此可能被拒绝......
有没有人能解决这个问题?
非常感谢您的回答。
答案 0 :(得分:1)
您不需要VoIP发送静音推送通知。 VoIP应用程序确实有静音推送,它们比常规静默推送更“优越”,因为即使用户已杀死应用程序,它们也会被传送到应用程序,而常规静默推送不是这种情况。
无声推送的缺点是有几种情况不会传递到应用程序: - 用户可以禁用它们 - 用户已终止该应用 - 发送推送时有一个很长的主动电话 - 设备可能处于脱机状态 - 等等。
因此,静默推送无法用于确保您的应用每天运行。
在您的情况下,由于最终是通知的用户,服务器是否可以向用户发送用户定向推送?我的意思是服务器可能有可用的信息来知道将什么放入通知内容? (即使用户已终止应用程序,用户指示的推送仍会传递给用户。)
如果服务器没有此信息,则需要考虑的另一件事是推送扩展。 推送扩展使得能够拦截用户指导的推送并且在将其显示给用户之前更改/更新其内容。这样,即使应用程序已被终止,您也可以确保每天向用户显示推送通知(尽管仍然可以使用户可以禁用应用程序的通知)。 这可能很棘手,因为推送扩展不是应用程序的完整部分,它是独立的,但应用程序和扩展可以共享基础数据(如果它存储在组中)。
因此,您的服务器每天都会发送一个用户控制的推送,这会被您的扩展程序截获,您的扩展程序会运行并确定推送的内容应该是什么,然后向用户显示推送。
这些是一些选项,不能说明哪些是正确的,因为只有你知道你的要求的确切细节。
答案 1 :(得分:0)
有没有计划我的"第二天"通知而不强制用户打开应用程序
不以某种方式涉及用户。如果您确定用户每天至少点击通知警报,您的应用程序可以被召唤(不一定在前台)并且可以运行代码作为响应。
否则,仅方式试图确保您的应用程序每天都运行是推送通知(因为冲动来自您的服务器,它一直运行)。当然,即使这并不是100%肯定。