Push notifications allow software applications to deliver messages and notifications to users without requiring the user to actively check for updates. Push notifications can contain data, notifications, or both. There are two main platforms for delivering push notifications: Firebase Cloud Messaging (FCM) for Android and Apple Push Notification Service (APNs) for iOS. Both support delivering notifications via HTTP and XMPP/MQTT protocols. iOS 10 introduced enhancements like rich notifications that allow images, videos, and interactive buttons in notifications. It also introduced notification extensions that give developers more control over customizing notification content.