Notifications push pour iOS, Android et le web.
Abstraction de la gestion des tokens, opt-in par appareil, payloads enrichis natifs, ciblage par segment. Même authentification, même idempotence, mêmes webhooks que tous les autres canaux Bird, car la même équipe d'ingénieurs les a tous construits.
Votre journée, en temps réel.
Votre commande est en route
Suivez votre livraison depuis votre téléphone.
Utilisé chaque jour par des équipes qui
créent des logiciels de classe mondiale.
5 minutes entre npm install et le premier envoi
Envoyez une notification depuis le langage que vous utilisez déjà.
Des SDK pour chaque runtime majeur. Enregistrez un token depuis votre client mobile ou web ; envoyez par token ou par user_id depuis votre backend.
Les exemples de code seront disponibles au lancement de cette API. Les SDK couvrent déjà les canaux en direct.
Dix primitives qui transforment APNs et FCM en un seul endpoint.
APNs et FCM natifs sous le capot. Aucun agrégateur push tiers entre les deux. Nous masquons simplement les particularités de chaque plateforme derrière une interface unique.
- 01
iOS, Android et le web en un seul appel
Un seul bird.push.send. Nous distribuons vers APNs, FCM et le W3C Push Protocol pour chaque appareil enregistré.
- 02
Abstraction de la gestion des tokens
Enregistrez un token avec bird.push.tokens.register. Nous suivons la plateforme, la langue et la dernière activité pour que vous n'ayez pas à le faire.
- 03
Envoi par token ou par user_id
Ciblez un seul appareil, ou transmettez
{ user_id }et nous distribuons vers chaque appareil opté-in qu'il possède. - 04
État d'opt-in par appareil
Chaque token enregistré porte son propre état d'opt-in. Révoquez-en un sans affecter les autres.
- 05
Payloads enrichis natifs
Titre, corps, image, boutons d'action, URL de deep-link, données personnalisées : correctement mappés vers APNs alert et FCM notification.
- 06
Notifications silencieuses / en arrière-plan
Transmettez content_available: true et nous routons correctement via APNs background et FCM data-only selon la plateforme.
- 07
Ciblage par segment
Taguez les utilisateurs à l'enregistrement ; ciblez par tag depuis bird.push.send. Aucune intégration CDP tierce requise.
- 08
Accusés de réception et d'ouverture
Événements pour push.delivered, push.opened, push.dismissed. Même enveloppe HMAC que tous les autres canaux.
- 09
Cycle de vie des tokens géré
Quand APNs / FCM renvoie un token désinscrit, nous le marquons comme inactif et cessons d'envoyer. Aucun nettoyage manuel.
- 10
Même authentification, même réponse d'erreur
Une seule clé API pour Push, SMS, Email, WhatsApp, Voice. Un seul registre de types d'erreur pour tous.
Pourquoi nous construisons Push
Parce que le push ne devrait pas vivre chez un fournisseur différent de votre SMS, votre email et vos vérifications.
Chaque équipe produit finit avec la même stack : APNs pour iOS, FCM pour Android, un service worker pour le web et une table de base de données qui suit quel utilisateur possède quels tokens avec quel état d'opt-in. Nous avons construit cette table, puis nous l'avons reconstruite, puis nous l'avons exposée via bird.push.tokens.register et bird.push.send. Même authentification, même idempotence, même réponse d'erreur qu'Email et SMS, de sorte que l'OTP qui échoue en push bascule vers le SMS dans la même requête.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
// Send by device token...
const { data, error } = await bird.push.send({
to: "token_aPa91Hb...XzQ",
title: "Your driver is two minutes away",
body: "Tap to see the live map.",
data: { ride_id: "ride_2891" },
}).safe();
// ...or by user_id, fanning out to every opted-in device.
await bird.push.send({
to: { user_id: "usr_4hQ2m" },
title: "Your code is 482917",
body: "Enter it on the login screen.",
data: { kind: "otp" },
});
if (error) throw error;
console.log(data.id);
// → "push_2nQ81oP3..."
Chaque changement d'état est un webhook.
Payloads signés par HMAC, protégés contre le rejeu, idempotents. La même enveloppe sur chaque canal Bird : apprenez-en un, vous les connaissez tous.
Calendrier de réessai : 5 s, 5 min, 30 min, 2 h, 5 h, puis 10 h deux fois. Après la dernière tentative, la livraison échoue définitivement ; la relecture la récupère depuis le tableau de bord ou l'API.
push.queuedAccepté par l'API et mis en file d'attente pour envoi.push.sentTransmis au serveur Push APNs / FCM / W3C.push.deliveredLe fournisseur a confirmé la livraison à l'appareil (quand disponible : APNs fonctionne au mieux).push.openedL'utilisateur a touché la notification (si votre app l'instrumente).push.dismissedL'utilisateur a ignoré la notification sans l'ouvrir (si votre app l'instrumente).push.failedÉchec permanent (jeton désinscrit, app supprimée). Le jeton est automatiquement désactivé.
Si vous avez intégré SMS, vous avez intégré Push.
Même authentification, même contrat d'idempotence, même réponse d'erreur, même format de webhook. La différence est le transport, pas la façon dont vous l'appelez.
Push.
Un seul appel. Nous distribuons à chaque appareil inscrit de l'utilisateur, via APNs, FCM et le web.
SMS.
Même enveloppe, même contrat d'idempotence. Basculez vers SMS quand le push échoue, ou adressez-le directement.
Un tarif par notification, toutes plateformes.
Facturé par notification livrée. Même tarif sur iOS, Android et le web. APNs et FCM sont gratuits en amont : nous facturons le routage et le tableau de bord, pas le transport. Contactez l'équipe commerciale pour un devis et les tarifs par volume.
Gardez vos clients dans la conversation.
Échangez avec notre équipe sur les notifications push pour votre application.