Push को अपग्रेड किया जा रहा है

iOS, Android, और वेब के लिए पुश नोटिफ़िकेशन।

टोकन-प्रबंधन एब्स्ट्रैक्शन, प्रति-डिवाइस ऑप्ट-इन, नेटिव रिच पेलोड, सेगमेंट टार्गेटिंग। वही auth, वही idempotency, वही webhooks जो हर दूसरे Bird चैनल में हैं, क्योंकि एक ही इंजीनियरिंग टीम ने सबको बनाया है।

push.ts
जल्द आ रहा है
पुश नोटिफिकेशन
09:41

आपका दिन, हर अपडेट के साथ।

Goldcrest · अभी

आपका ऑर्डर रास्ते में है

अपने फ़ोन से अपनी डिलीवरी ट्रैक करें।

हर दिन उन टीमों का भरोसा जो
विश्व-स्तरीय सॉफ़्टवेयर बनाती हैं।

5 मिनट, npm install से पहले भेजने तक

जिस भाषा में आप पहले से कोड करते हैं, उसी से नोटिफ़िकेशन भेजें।

हर प्रमुख रनटाइम में SDK। अपने मोबाइल या वेब क्लाइंट से टोकन रजिस्टर करें; अपने बैकएंड से टोकन या user_id द्वारा भेजें।

यह API लॉन्च होने पर कोड सैंपल उपलब्ध होंगे। SDK पहले से लाइव चैनलों को कवर करते हैं।

दस प्रिमिटिव जो APNs और FCM को एक एंडपॉइंट में बदल देते हैं।

अंदर असली APNs और FCM। बीच में कोई थर्ड-पार्टी पुश एग्रीगेटर नहीं। हम बस प्लेटफ़ॉर्म की जटिलताओं को एक समान आकार के पीछे छिपा देते हैं।

  1. 01

    एक ही कॉल से iOS, Android, और वेब

    एक bird.push.send। हम हर रजिस्टर्ड डिवाइस के अनुसार APNs, FCM, और W3C Push Protocol में फैन आउट करते हैं।

  2. 02

    टोकन-प्रबंधन एब्स्ट्रैक्शन

    bird.push.tokens.register से टोकन रजिस्टर करें। हम प्लेटफ़ॉर्म, लोकेल, और अंतिम बार देखा गया ट्रैक करते हैं — आपको नहीं करना पड़ता।

  3. 03

    टोकन या user_id से भेजें

    एक डिवाइस को एड्रेस करें, या { user_id } पास करें और हम उनके हर ऑप्ट-इन डिवाइस पर फैन आउट करते हैं।

  4. 04

    प्रति-डिवाइस ऑप्ट-इन स्थिति

    हर रजिस्टर्ड टोकन की अपनी ऑप्ट-इन स्थिति होती है। बाकी को प्रभावित किए बिना एक को रिवोक करें।

  5. 05

    नेटिव रिच पेलोड

    टाइटल, बॉडी, इमेज, एक्शन बटन, डीप-लिंक URL, कस्टम डेटा: APNs alert और FCM notification में सही तरीके से मैप किया गया।

  6. 06

    साइलेंट / बैकग्राउंड नोटिफ़िकेशन

    content_available: true पास करें और हम हर प्लेटफ़ॉर्म के अनुसार APNs बैकग्राउंड और FCM डेटा-ओनली के ज़रिए सही तरीके से रूट करते हैं।

  7. 07

    सेगमेंट टार्गेटिंग

    रजिस्ट्रेशन के समय यूज़र को टैग करें; bird.push.send से टैग द्वारा एड्रेस करें। किसी थर्ड-पार्टी CDP इंटीग्रेशन की ज़रूरत नहीं।

  8. 08

    डिलीवरी और ओपन रसीदें

    push.delivered, push.opened, push.dismissed के लिए इवेंट। हर दूसरे चैनल जैसा ही HMAC त्रुटि प्रतिक्रिया।

  9. 09

    टोकन लाइफ़साइकल संभाला गया

    जब APNs / FCM अनरजिस्टर्ड टोकन लौटाता है, तो हम उसे डेड मार्क कर देते हैं और भेजना बंद कर देते हैं। कोई मैनुअल क्लीनअप नहीं।

  10. 10

    एक ही ऑथ, एक ही त्रुटि प्रतिक्रिया

    Push, SMS, Email, WhatsApp, Voice के लिए एक API कुंजी। सभी में एक ही एरर टाइप रजिस्ट्री।

हम Push क्यों बना रहे हैं

क्योंकि पुश को आपके SMS, ईमेल, और सत्यापन से अलग किसी वेंडर में नहीं होना चाहिए।

हर प्रोडक्ट टीम एक ही स्टैक पर पहुँचती है: iOS के लिए APNs, Android के लिए FCM, वेब के लिए एक सर्विस वर्कर, और एक डेटाबेस टेबल जो ट्रैक करती है कि किस यूज़र के पास कौन से टोकन हैं और किस ऑप्ट-इन स्थिति में हैं। हमने वह टेबल बनाई, फिर दोबारा बनाई, फिर इसे bird.push.tokens.register और bird.push.send के रूप में एक्सपोज़ किया। वही auth, वही idempotency, वही त्रुटि प्रतिक्रिया जो Email और SMS में है, इसलिए जो OTP पुश पर विफल होता है वह उसी रिक्वेस्ट में SMS पर फ़ॉलबैक करता है।

push.ts
जल्द आ रहा है
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..."

हर स्थिति बदलाव एक वेबहुक है।

HMAC-signed पेलोड, रीप्ले-प्रोटेक्टेड, idempotent। हर Bird चैनल पर एक ही एनवेलप: एक सीखो, सब सीख लो।

POST /webhooks/bird
signed

फिर से प्रयास करने का शेड्यूल: 5s, 5m, 30m, 2h, 5h, फिर 10h दो बार। आखिरी प्रयास के बाद डिलीवरी स्थायी रूप से विफल हो जाती है, और रीप्ले इसे डैशबोर्ड या API से रिकवर करता है।

  • push.queuedAPI ने स्वीकार किया और भेजने के लिए क्यू में रखा।
  • push.sentAPNs / FCM / W3C Push सर्वर को हैंड ऑफ़ किया गया।
  • push.deliveredप्रोवाइडर ने डिवाइस तक डिलीवरी की पुष्टि की (जब उपलब्ध हो: APNs बेस्ट-एफ़र्ट है)।
  • push.openedयूज़र ने नोटिफ़िकेशन टैप किया (यदि आपका ऐप इसे इंस्ट्रूमेंट करता है)।
  • push.dismissedयूज़र ने बिना खोले डिसमिस किया (यदि आपका ऐप इसे इंस्ट्रूमेंट करता है)।
  • push.failedस्थायी विफलता (टोकन अनरजिस्टर्ड, ऐप हटाया गया)। टोकन ऑटो-डिसेबल हो जाता है।

अगर आपने SMS इंटीग्रेट किया है, तो आपने Push भी इंटीग्रेट कर लिया।

वही auth, वही idempotency कॉन्ट्रैक्ट, वही त्रुटि प्रतिक्रिया, वही webhook आकार। फ़र्क सिर्फ़ ट्रांसपोर्ट में है, कॉल करने के तरीके में नहीं।

Push.

push

एक कॉल। हम APNs, FCM, और वेब पर यूज़र के हर ऑप्ट-इन डिवाइस पर फैन आउट करते हैं।

SMS।

sms

वही एनवेलप, वही idempotency कॉन्ट्रैक्ट। पुश विफल होने पर फ़ॉलबैक करें, या SMS को सीधे एड्रेस करें।

प्रति नोटिफ़िकेशन एक दर, हर प्लेटफ़ॉर्म।

डिलीवर की गई प्रति नोटिफ़िकेशन मूल्य। iOS, Android और वेब पर एक ही दर। APNs और FCM अपस्ट्रीम में मुफ़्त हैं, इसलिए हम राउटिंग और डैशबोर्ड के लिए चार्ज करते हैं, ट्रांसपोर्ट के लिए नहीं। कोट और वॉल्यूम प्राइसिंग के लिए सेल्स से संपर्क करें।

अपने ग्राहकों को बातचीत में बनाए रखें।

अपने ऐप्लिकेशन के लिए पुश नोटिफ़िकेशन के बारे में हमारी टीम से बात करें।

आपकी जानकारी

आपकी रुचि के प्रोडक्ट

वैकल्पिक

गोपनीयता नीति

आपका अगला आइडिया।
जुड़ने के लिए तैयार।