(iOS实现代码我就不粘贴了,网上许多)
1.原理
iOS APP的本地推送是在应用内生成AppNotification后放入到System中的Notification Center中,AppNotification里面的通知信息、时间、是否重复一旦放到System中的Notification Center将没法修改。
2.更改通知内容
如果你想要实现,每次发送的内容都不一样,不要在didFinishLaunchingWithOptions,尝试修改以达到效果,因为如果通知推送给用户以后,如果用户不触发对应的应用程序,那么你的这段改变通知的代码其实是没有被执行的。这样如果你设置了重复日期,比如每天11点,那么你每天11点收到的内容都是一样的(用户期间没有打开过应用程序)。
目前可行的笨办法,随机排列好小于64条AppNotification,一次性加入到System中的Notification Center中即可,如果这64条时间内用户没有再次启动将不会在本地推送,可以服务器推送。64条是苹果官方设置的上限。
3.注意几点
1)每次程序启动以后要将本地推送清除,重新随机排列内容在放入System中的Notification Center。
2)firedate 最好打下log看眼,看看符合不符合预期。