There´s two options
You can schedule a local notification to be delivered whenever. If you know that in 2 weeks something happens, you can do just that. The thing is though you need to know the duration beforehand. This should work well for games where you build something and it takes X hours to build.
You have a server that sends these out when needed. So you can say, when a player does his turn, you can send a notification to his opponent. The duration doesn´t matter in that case.
Afaik you don´t need a server for local notifications since they are stored on the users device. For push notifications there are various services like onesignal. Either way I´m not sure how exactly they work and if there are working plugins available.