These kind of experiences are entirely up to the app developer to implement properly in a way that's not annoying like you describe. It can be done in a way that is nice (i.e. not notifying over and over). Not saying they'll all do it right at first, or even for a while.