# push-notification

Push notifications combine sending messages from a server to users with displaying that information as notifications, typically for web applications.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Authentication is a long-running Workflow

DevFeed: [Authentication is a long-running Workflow](<https://devfeed.tech/articles/authentication-is-a-long-running-workflow-35725.md>)

Original publisher: [Read original article](<https://temporal.io/blog/authentication-is-a-long-running-workflow>)

Author: Mason Williams

Published: 2026-09-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Authentication](<https://devfeed.tech/topics/authentication.md>), [MFA](<https://devfeed.tech/topics/mfa.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [sessions](<https://devfeed.tech/topics/sessions.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [browser](<https://devfeed.tech/tags/browser.md>), [community](<https://devfeed.tech/tags/community.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [go](<https://devfeed.tech/tags/go.md>), [mfa](<https://devfeed.tech/tags/mfa.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [sessions](<https://devfeed.tech/tags/sessions.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This article explains how KERNEL models Managed Auth as a long-running Temporal workflow. A parent workflow maintains connection state, health checks, reauthentication, and cancellation, while child workflows handle individual login attempts with separate browsers, timeouts, and cleanup. Durable state stays in Go, and model-driven work runs in a dedicated TypeScript Worker.

### Source excerpt

In this article# - A login is not a request - Model the connection, not the attempt - The human is part of the Workflow - Staying logged in is part of the product - Go owns durability; TypeScript runs the agent - What we learned 1. A login is not a request# An agent can enter a password, stop at an MFA prompt, wait for a person to approve a push notification, and then resume in the same browser. A deployment or Worker restart can happen anywhere in between.

## Self-Hosted Push Notifications with Ntfy on iOS

DevFeed: [Self-Hosted Push Notifications with Ntfy on iOS](<https://devfeed.tech/articles/self-hosted-push-notifications-with-ntfy-on-ios-10735.md>)

Original publisher: [Read original article](<https://noted.lol/ntfy/>)

Author: Jeremy

Published: 2026-02-16T12:31:00Z

Content type: tutorial

Language: en

Sources: [Noted](<https://devfeed.tech/sources/noted.md>)

Topics: [push-notification](<https://devfeed.tech/topics/push-notification.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [SSL](<https://devfeed.tech/topics/ssl.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [docker](<https://devfeed.tech/tags/docker.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [self-hosted-web-tools](<https://devfeed.tech/tags/self-hosted-web-tools.md>), [ssl](<https://devfeed.tech/tags/ssl.md>)

### AI overview

A tutorial for setting up the self-hosted ntfy notification service on iOS. It explains how forwarding poll requests from a self-hosted server to ntfy.sh can provide near-instant notifications despite iOS background activity limits, then covers Docker Compose, HTTPS/SSL, configuration, and upstream settings.

### Source excerpt

Learn how to set up ntfy, a self-hosted push notification service, on iOS with a simple workaround. Explore how ntfy makes notifications easy, reliable, and fully open source.

## Apple's Dispute With the EU Over DMA Compliance and Browser Competition

DevFeed: [Apple's Dispute With the EU Over DMA Compliance and Browser Competition](<https://devfeed.tech/articles/apple-s-antitrust-playbook-26556.md>)

Original publisher: [Read original article](<https://infrequently.org/2025/09/apples-antitrust-playbook/>)

Author: Alex Russell

Published: 2025-09-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Alex Russell](<https://devfeed.tech/sources/alex-russell.md>)

Topics: [browser](<https://devfeed.tech/topics/browser.md>), [Security](<https://devfeed.tech/topics/security.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [competition](<https://devfeed.tech/tags/competition.md>), [dma](<https://devfeed.tech/tags/dma.md>), [eu](<https://devfeed.tech/tags/eu.md>), [geofencing](<https://devfeed.tech/tags/geofencing.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [pdf](<https://devfeed.tech/tags/pdf.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [security](<https://devfeed.tech/tags/security.md>), [webdev](<https://devfeed.tech/tags/webdev.md>)

### AI overview

The article argues that Apple is misrepresenting the European Union's enforcement of the Digital Markets Act and shifting responsibility for its own compliance decisions onto regulators. It focuses on alleged barriers affecting browser competition on iOS, including geofencing, restricted PWA and Push Notification APIs, SDK bugs, and difficult development entitlements.

### Source excerpt

Contents Lies by Any Other Name Great Artists Steal Dear Tech Reporters: Access Is Not A Beat This blog is failing on several levels. First, September 2025 is putting the "frequent" in "infrequently", much to my chagrin. Second, my professional mission is to make a web that's better for everyone, not to tear Apple down. But just when I thought I was out, they pull me back in. Over the past 24 hours, Cupertino has played the hits from its iPhone-era anti-user, anti-business, anti-rule-of-law power trip. To recap: Apple sent a demand that the EU give up on DMA enforcement in a petulant and utterly misleading press release that mostly served to catalogue Apple's own failures to comply. Cupertino's kept astroturf outfit -- ACT | The App Association -- penned unhinged misinformation for consumption by US regulatory types (h/t Damien Geradin). The EC then called Apple's bluff. Make no mistake about what's going on: Apple is claiming that the EU is forcing Apple to adopt interpretations of the DMA that no other party has, which the EC itself has not backed, and which are "forcing" Apple to avoid shipping features in the EU. Or, put another way, Apple wants to launder the consequences of its own anticompetitive, anti-user choices through a credulous tech press. The goal is to frame regulators for Apple's own deeds. Lies by Any Other Name If this smells like bullshit, that's because it is. Apple tried similar ploys last year when it sprung a blatant attempt to kill PWAs on the EU as a price for having the temerity to regulate. The plan, it seemed then, was to adopt an exotic reading of the DMA and frame the EC for killing PWAs. What Apple's attempting now is even more brazen, particularly after 16+ months of serial non-compliance since the DMA came into force (h/t OWA). Remember that: Apple's browser, and by extension every iOS browser, fails on basic security and privacy controls, putting users at risk constantly. Apple serially misrepresents this situation to anyone who will

## Introducing Action Push Native

DevFeed: [Introducing Action Push Native](<https://devfeed.tech/articles/introducing-action-push-native-33503.md>)

Original publisher: [Read original article](<https://dev.37signals.com/introducing-action-push-native/>)

Author: Jacopo Beschi

Published: 2025-08-18T17:00:00Z

Content type: release

Language: en

Sources: [37signals Dev](<https://devfeed.tech/sources/37signals-dev.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [notifications](<https://devfeed.tech/topics/notifications.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [rate-limiting](<https://devfeed.tech/topics/rate-limiting.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [http](<https://devfeed.tech/tags/http.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [push-notifications](<https://devfeed.tech/tags/push-notifications.md>), [rails](<https://devfeed.tech/tags/rails.md>), [rate-limiting](<https://devfeed.tech/tags/rate-limiting.md>)

### AI overview

37signals introduces Action Push Native, an open-source Rails gem for sending push notifications directly through Apple Push Notification service and Google Firebase Cloud Messaging. The gem supports retries, rate limiting, and automatic removal of inactive devices.

### Source excerpt

A Rails gem for sending push notifications to mobile platforms.

## Understanding FCM Message Delivery on Android

DevFeed: [Understanding FCM Message Delivery on Android](<https://devfeed.tech/articles/understanding-fcm-message-delivery-on-android-16557.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2024/07/understand-fcm-delivery-rates>)

Author: Neil Gu; Andrea Wu

Published: 2024-07-18T05:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Android](<https://devfeed.tech/topics/android.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [cloud-messaging](<https://devfeed.tech/tags/cloud-messaging.md>), [doze-mode](<https://devfeed.tech/tags/doze-mode.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

This Firebase tutorial explains seven statuses for Firebase Cloud Messaging messages on Android, including delivered, pending, offline, Doze mode, stopped-user, and throttled cases. It describes how to interpret delivery reports and investigate delivery performance.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Codename One Push API Requires a Firebase JSON Key for Android Notifications

DevFeed: [Codename One Push API Requires a Firebase JSON Key for Android Notifications](<https://devfeed.tech/articles/android-push-changes-19193.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/android-push-changes/>)

Author: Steve Hannah

Published: 2024-06-08T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [API](<https://devfeed.tech/topics/api.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [migration](<https://devfeed.tech/topics/migration.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [json](<https://devfeed.tech/tags/json.md>), [migration](<https://devfeed.tech/tags/migration.md>), [oauth2](<https://devfeed.tech/tags/oauth2.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>)

### AI overview

Codename One announces that its push notification server API now requires a URL to a Firebase service-account JSON key instead of an FCM API key for Android push notifications. The change follows Google's migration from legacy FCM APIs to the v1 HTTP API.

### Source excerpt

We have made some upgrades to our push notification server API. If you deploy apps to Android and use push notifications, you will need to make a small change to the server-side code that sends the HTTP request to our push server. If you do not send push notifications to Android devices, you can ignore this PSA. The Short Version Our Push API now requires a JSON key instead of the old FCM API key. For example, the following is a template for a push notification, (copied from the push cheatsheet).

## The anatomy of a Super Bowl ad

DevFeed: [The anatomy of a Super Bowl ad](<https://devfeed.tech/articles/the-anatomy-of-a-super-bowl-ad-10092.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/the-anatomy-of-duolingos-super-bowl-ad/>)

Author: Jenny Xie

Published: 2024-02-13T00:00:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Duo](<https://devfeed.tech/topics/duo.md>), [App](<https://devfeed.tech/topics/app.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [data](<https://devfeed.tech/topics/data.md>), [Reddit](<https://devfeed.tech/topics/reddit.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [data](<https://devfeed.tech/tags/data.md>), [duo](<https://devfeed.tech/tags/duo.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [events](<https://devfeed.tech/tags/events.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [social-media](<https://devfeed.tech/tags/social-media.md>)

### AI overview

This article examines how Duolingo created and delivered a cheeky five-second Super Bowl advertisement featuring its Duo mascot. The campaign combined a bold creative concept, a push notification reminding users to complete a lesson, and coordinated work across marketing, engineering, and design teams to generate conversation and social media attention.

### Source excerpt

How learning app Duolingo's cheeky five-second spot beat the odds in a crowded field.

## Sending to MacOS, iOS Safari using FCM JS SDK

DevFeed: [Sending to MacOS, iOS Safari using FCM JS SDK](<https://devfeed.tech/articles/sending-to-macos-ios-safari-using-fcm-js-sdk-16527.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2023/08/fcm-for-safari>)

Author: Kai Wu

Published: 2023-08-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [browsers](<https://devfeed.tech/topics/browsers.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [cloud-messaging](<https://devfeed.tech/tags/cloud-messaging.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [ios](<https://devfeed.tech/tags/ios.md>), [js](<https://devfeed.tech/tags/js.md>), [js-sdk](<https://devfeed.tech/tags/js-sdk.md>), [macos](<https://devfeed.tech/tags/macos.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [safari](<https://devfeed.tech/tags/safari.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [updates](<https://devfeed.tech/tags/updates.md>), [web](<https://devfeed.tech/tags/web.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

This Firebase tutorial explains how to use the FCM JS SDK to send web push notifications through Safari on macOS, iOS, and iPadOS. It covers the required setup, including Safari Push API interaction, manifest configuration, adding the app to the Home Screen on iOS and iPadOS, and requesting notification permission.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Analyze Firebase push notification delivery data with BigQuery

DevFeed: [Analyze Firebase push notification delivery data with BigQuery](<https://devfeed.tech/articles/how-to-get-better-insight-into-push-notification-delivery-16415.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2021/10/push-notification-delivery-insights>)

Author: Charlotte Liang; Peter Friese

Published: 2021-10-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [BigQuery](<https://devfeed.tech/topics/bigquery.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [API](<https://devfeed.tech/topics/api.md>), [data](<https://devfeed.tech/topics/data.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [bigquery](<https://devfeed.tech/tags/bigquery.md>), [cloud-messaging](<https://devfeed.tech/tags/cloud-messaging.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [google-analytics](<https://devfeed.tech/tags/google-analytics.md>), [ios](<https://devfeed.tech/tags/ios.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [troubleshooting](<https://devfeed.tech/tags/troubleshooting.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

This tutorial explains how to export Firebase Cloud Messaging notification delivery data to BigQuery and use queries and dashboards to understand delivery rates and troubleshoot problems. It covers enabling the Firebase-to-BigQuery integration and configuring client-side logging for iOS, with support also noted for Android and the web.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Life of a message from FCM to the device

DevFeed: [Life of a message from FCM to the device](<https://devfeed.tech/articles/life-of-a-message-from-fcm-to-the-device-16306.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2019/02/life-of-a-message>)

Author: Pinar Ozlen

Published: 2019-02-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [API](<https://devfeed.tech/topics/api.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [cloud-messaging](<https://devfeed.tech/tags/cloud-messaging.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [ios](<https://devfeed.tech/tags/ios.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

This Firebase team post explains what happens after Firebase Cloud Messaging accepts a message request, including delivery attempts, expiration, message replacement through collapse keys, and handling of devices that remain offline.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Codename One 6.0 "Chat" is now Live

DevFeed: [Codename One 6.0 "Chat" is now Live](<https://devfeed.tech/articles/codename-one-6-0-chat-is-now-live-19258.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/codename-one-6-0-chat-live/>)

Author: Shai Almog

Published: 2019-02-26T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Universal Windows Platform](<https://devfeed.tech/topics/uwp.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [release](<https://devfeed.tech/tags/release.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Codename One 6.0, nicknamed Chat, introduces Codename One Build, migrates cloud builds to Xcode 10.1, adds VM and Switch API changes, and implements reply push notifications. Codename One is an open-source mobile platform for Java and Kotlin developers.

### Source excerpt

We are thrilled to announce the release of Codename One 6.0 - Chat. Codename One is an open source "Write Once Run Anywhere" mobile platform for Java and Kotlin developers! With this release we introduced Codename One Build which is one of the biggest overhauls to the Codename One workflow since its inception. We also refined and updated many underlying technologies e.g. the xcode 10.1 migration, WKWebView support, push replies, badges on Android and much more.

## Rich Push Notifications Improved

DevFeed: [Rich Push Notifications Improved](<https://devfeed.tech/articles/rich-push-notifications-improved-19496.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/rich-push-notification-improved/>)

Author: Shai Almog

Published: 2019-02-04T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Android](<https://devfeed.tech/topics/android.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [callback](<https://devfeed.tech/tags/callback.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>)

### AI overview

Codename One adds replies to rich push messages. Developers can define push categories and actions, including an action that provides a text input field, then retrieve the selected action and entered text through the push callback.

### Source excerpt

Last week Steve committed the final piece of the rich push notification support RFE. This commit introduces support for replies in push messages. This came too late for the whatsapp clone but if you want to build an app of this type you would need this feature. The app main class should implement PushActionProvider. This defines a method that returns a set of categories. E.g. public PushActionCategory[] getPushActionCategories() { return new PushActionCategory[]{ new PushActionCategory("fo", new PushAction[]{ new PushAction("yes", "Yes"), new PushAction("no", "No"), new PushAction("maybe", "Maybe", null, "Enter reason", "Reply") }) }; } Then, when sending a push notification, you can specify the "category" of the message. If the category corresponds with a defined category in your getPushActionCategories() method, then the user will be presented with a set of buttons corresponding to the PushActions in that category.

## TIP: Don't Use Push as a Communication Protocol

DevFeed: [TIP: Don't Use Push as a Communication Protocol](<https://devfeed.tech/articles/tip-don-t-use-push-as-a-communication-protocol-19576.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/tip-dont-use-push-as-communication-protocol/>)

Author: Shai Almog

Published: 2018-11-12T00:00:00Z

Content type: opinion

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [push-notification](<https://devfeed.tech/topics/push-notification.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [ios](<https://devfeed.tech/tags/ios.md>), [networking](<https://devfeed.tech/tags/networking.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

The article argues that push notifications should not be used as an application's primary communication protocol. It recommends WebSockets and web services for application communication, reserving push for marketing notifications and background notices because of platform dependencies, permissions, delivery limitations, and message-size constraints.

### Source excerpt

Apple introduced push notification at a time when iOS apps didn't support multi-tasking. It was used as an intrusive notification system that allowed an app to communicate it had something important to tell you. Back then push messages would trigger a dialog box as it predated the pull down notification tray pioneered by Android. The purpose of push on iOS is visual notification. You can send non-visual meta-data but that's almost an afterthought in iOS.

## Codename One 5.0 "Social" is now Live

DevFeed: [Codename One 5.0 "Social" is now Live](<https://devfeed.tech/articles/codename-one-5-0-social-is-now-live-19257.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/codename-one-5-0-social-live/>)

Author: Shai Almog

Published: 2018-09-18T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [CSS](<https://devfeed.tech/topics/css.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [developers](<https://devfeed.tech/tags/developers.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Codename One 5.0, nicknamed "Social," is announced as a release for Java and Kotlin developers. It adds live CSS updates, iOS launch screen storyboards, newer JDK support, Android API level 27 migration, updated build server infrastructure, and richer push notifications.

### Source excerpt

We are thrilled to announce the release of Codename One 5.0 - Social. Codename One is an open source "Write Once Run Anywhere" mobile platform for Java and Kotlin developers! We postponed the release of this version since it's so packed with big changes. We made CSS a first class citizen in Codename One and made CSS updates live (no recompile necessary). We moved from screenshots in iOS launches to storyboards. Added support for newer JDK's. Migrated to Android API level 27. Moved our entire build server infrastructure. Redid push notification and so much more...

## Tutorial - Using Push Notification

DevFeed: [Tutorial - Using Push Notification](<https://devfeed.tech/articles/tutorial-using-push-notification-19636.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/tutorial-using-push-notification/>)

Author: Shai Almog

Published: 2017-07-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial video introduces the basics of push notifications using newer APIs and settings. It notes that push behavior varies across operating systems and that advanced topics, additional platforms, and JSON result parsing are outside the video's scope.

### Source excerpt

Push gets a lot of support queries, it's a hard subject to wrap your head around especially with all of the conflicting and shifting landscape around it. To make matters worse every OS conceptualizes it very differently. I go into some of the really advanced stuff such as fallback behavior in the advanced course but basic stuff is still a crucial first step. So I adapted some of the material from there and re-did the push How Do I? video to use the newer API's and settings. Check out that page for the full transcript of the video.

## SplitPane, Cursors and Push Registration

DevFeed: [SplitPane, Cursors and Push Registration](<https://devfeed.tech/articles/splitpane-cursors-and-push-registration-19525.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/splitpane-cursors-push-registration/>)

Author: Shai Almog

Published: 2017-05-23T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [GUI](<https://devfeed.tech/topics/gui.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web](<https://devfeed.tech/topics/web.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [deprecated](<https://devfeed.tech/tags/deprecated.md>), [feature](<https://devfeed.tech/tags/feature.md>), [gui](<https://devfeed.tech/tags/gui.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [release](<https://devfeed.tech/tags/release.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A Codename One update introduces a new SplitPane component, configurable mouse cursors for desktop and JavaScript ports, and a replacement for the deprecated push-registration method. The update also explains the SplitPane positioning arguments and Android push ID configuration.

### Source excerpt

Until this week's release push notification was registered using Display.registerPush(Hashtable, boolean) the thing is that both of these arguments to that method are no longer used or not the best way to implement registration. So we deprecated that method and introduced a new version of the method Display.registerPush(). Since push fallback hasn't been supported since we migrated to the new API it's going away isn't a big deal but up until recently the Hashtable argument was used to pass the GCM push ID.

## Push on JavaScript

DevFeed: [Push on JavaScript](<https://devfeed.tech/articles/push-on-javascript-19456.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/push-on-javascript/>)

Author: Shai Almog

Published: 2017-02-20T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [push-notification](<https://devfeed.tech/topics/push-notification.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web](<https://devfeed.tech/topics/web.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [browser](<https://devfeed.tech/tags/browser.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [ios](<https://devfeed.tech/tags/ios.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [update](<https://devfeed.tech/tags/update.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

Codename One is adding push notification support to its JavaScript port for the web. The initial support covers Firefox, Chrome, Opera, and Chrome for Android, while Safari is not supported.

### Source excerpt

Up until now push notification in Codename One only worked for Android & iOS devices. This is about to change this weekend when the JavaScript port should (almost) seamlessly start working with push! This is pretty cool as push to the web is a pain with every browser taking a somewhat different route but with Codename One this will "mostly" work. The JavaScript port will generate push keys that match the notation cn1-web.

## Forward Secrecy for Asynchronous Messages

DevFeed: [Forward Secrecy for Asynchronous Messages](<https://devfeed.tech/articles/forward-secrecy-for-asynchronous-messages-1735.md>)

Original publisher: [Read original article](<https://signal.org/blog/asynchronous-security/>)

Published: 2013-08-22T00:00:00Z

Content type: article

Language: en

Sources: [Signal Blog](<https://devfeed.tech/sources/signal-blog.md>)

Topics: [Encryption](<https://devfeed.tech/topics/encryption.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [Security](<https://devfeed.tech/topics/security.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [ios](<https://devfeed.tech/tags/ios.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [network](<https://devfeed.tech/tags/network.md>), [os](<https://devfeed.tech/tags/os.md>), [process](<https://devfeed.tech/tags/process.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article explains how traditional asynchronous messaging uses a recipient's static public key, allowing recorded ciphertext to be decrypted if that key is later compromised. It describes how OTR uses ephemeral Diffie-Hellman exchanges and continually ratchets key material to provide Perfect Forward Secrecy. It then examines why OTR must be adapted for asynchronous mobile messaging, including iOS background delivery through Apple Push Notifications.

### Source excerpt

Traditionally, asynchronous messaging systems such as email have relied on protocols like PGP or S/MIME for cryptographic security. These protocols work the way most people are familiar with: one who wishes to receive encrypted email advertises a public key, and those wishing to send encrypted email to that person encrypt their outgoing message with that public key. Read more...