OneSignal अपने Free plan पर एक सख्त सीलिंग लगा रहा है। जल्द ही, 1,000 monthly active users से ऊपर मोबाइल पुश और in-app मैसेजिंग फ्री नहीं रहेंगे। नए अकाउंट्स के लिए यह लिमिट 1 सितंबर 2026 से लागू होगी, existing अकाउंट्स के लिए 1 अक्टूबर से। अगर आपके ऐप में महीने में एक हज़ार से ज़्यादा एक्टिव यूज़र्स हैं, तो अब आपके पास 3 रास्ते हैं: रुकें और पे करें, ऑडियंस घटाएं, या माइग्रेट करें।

क्या बदल रहा है और कब

OneSignal Growth plan cost calculator दिखा रहा है $31 प्रति माह 1,000 mobile active users पर
Source: OneSignal
  • Free plan 1,000 MAU से नीचे काम करता रहेगा। इससे ऊपर, मोबाइल पुश और in-app मैसेजिंग पेड टियर में शिफ्ट हो जाएंगे।
  • तारीखें: OneSignal के billing FAQ के अनुसार, यह लिमिट नए अकाउंट्स पर 1 सितंबर 2026 से और existing अकाउंट्स पर 1 अक्टूबर 2026 से लागू होगी।
  • थ्रेशोल्ड: मोबाइल पुश और in-app के लिए 1,000 MAU से कम। इसे क्रॉस करते ही, अपग्रेड होने तक ये चैनल्स भेजना बंद कर देंगे।
  • क्या नहीं बदला: वेब पुश, ईमेल और SMS पहले जैसी ही प्लान लिमिट्स के साथ काम करते रहेंगे। यह बदलाव सिर्फ मोबाइल के लिए है।
  • Journeys भी प्रभावित होंगे: कोई भी journey स्टेप जो पुश या in-app मैसेज भेजता है, वो मोबाइल सब्सक्रिप्शन्स को बस स्किप कर देगा।
  • सब्सक्राइबर्स डिलीट करना कोई रास्ता नहीं है। अगर आप पिछले 30 दिनों में एक्टिव रहे मोबाइल सब्सक्रिप्शन्स डिलीट करते हैं, तो आपका प्लान डिलीशन के 30 दिन बाद ही दोबारा एनेबल हो सकता है, और सिर्फ़ तभी जब आप पूरे उस पीरियड में कैप के नीचे रहें।

माइग्रेशन कैसे काम करता है

अगर आपने मूव करने का फैसला कर लिया है, तो यह वो हिस्सा है जो आपके प्लानिंग को बदल देता है: माइग्रेशन हम आपके लिए करते हैं। आपके हिस्से का काम सिर्फ़ 3 चीज़ें हैं: एक एक्सपोर्ट फाइल, आपके पुश क्रेडेंशियल्स, और अपने अगले ऐप रिलीज़ में SDK स्वैप करना। बाकी सब कुछ (डेटा क्लीन करना, प्लेटफॉर्म्स मैप करना, टैग्स दोबारा बनाना, ऑडियंस इम्पोर्ट करना, डिलीवरेबिलिटी वेरिफाई करना) हम संभालते हैं।

स्विच 2 ट्रैक्स पर एक साथ चलता है। एक वन-टाइम इम्पोर्ट आपके मौजूदा बेस को मूव करता है, ताकि आपकी ऑडियंस पहले दिन से ही रीचेबल बनी रहे, इससे पहले कि एक भी यूज़र ऐप अपडेट करे। फिर SDK हर डिवाइस को तब टेकओवर करता है जब उसका ओनर नया बिल्ड इंस्टॉल करता है। आपको दोनों चाहिए, और एक दूसरे को ब्लॉक नहीं करता।

1. हम क्या माइग्रेट कर सकते हैं और क्या नहीं

आपको यह खुद ऑडिट नहीं करना है। यहां पूरी तस्वीर पहले ही दी जा रही है, ताकि माइग्रेशन के बीच में कुछ भी सरप्राइज़ न करे।

चैनलमाइग्रेट होता है?कैसे
iOS push (APNs)हांहम आपके मौजूदा device tokens इम्पोर्ट करते हैं। वे काम करते रहते हैं, क्योंकि token आपके ऐप और आपकी APNs key का होता है, OneSignal का नहीं।
Android push (FCM)हांवैसा ही: tokens आपके Firebase प्रोजेक्ट के होते हैं।
Huawei push (HMS)हांवैसा ही, आपके HMS क्रेडेंशियल्स के साथ।
Email और SMS सब्सक्राइबर्सहां, चैनल सेटअप के साथएड्रेसेस और फोन नंबर्स इम्पोर्ट होते हैं। भेजने के लिए हमारी तरफ से चैनल कॉन्फ़िगर होना भी ज़रूरी है: email के लिए DKIM वाला वेरिफाइड sending domain, SMS के लिए एक sender या provider। पहले सेंड से पहले हम यह आपके साथ मिलकर सेटअप करते हैं।
Web pushनहीं, इसकी जगह re-subscriptionब्राउज़र सब्सक्रिप्शन्स क्रिप्टोग्राफिकली OneSignal की keys से बंधे होते हैं और किसी भी provider द्वारा ट्रांसफर नहीं किए जा सकते। आपके सब्सक्राइबर्स साइलेंटली वापस आते हैं: web push सेक्शन देखें।
Message history, delivery stats, journeysनहींहिस्टोरिकल डेटा OneSignal में ही रहता है। अकाउंट बंद करने से पहले जो भी रिपोर्ट्स रखनी हैं, उन्हें एक्सपोर्ट कर लें।
Segment definitionsदोबारा बनाए जाते हैं, इम्पोर्ट नहींOneSignal का API segment names और counts देता है, लेकिन उनके filters नहीं, इसलिए इम्पोर्ट करने के लिए कुछ नहीं है। हम इन्हें Pushwoosh में दोबारा बनाते हैं।
चैनल
1 / 7
iOS push (APNs)
माइग्रेट होता है?
हां
कैसे
हम आपके मौजूदा device tokens इम्पोर्ट करते हैं। वे काम करते रहते हैं, क्योंकि token आपके ऐप और आपकी APNs key का होता है, OneSignal का नहीं।
चैनल
2 / 7
Android push (FCM)
माइग्रेट होता है?
हां
कैसे
वैसा ही: tokens आपके Firebase प्रोजेक्ट के होते हैं।
चैनल
3 / 7
Huawei push (HMS)
माइग्रेट होता है?
हां
कैसे
वैसा ही, आपके HMS क्रेडेंशियल्स के साथ।
चैनल
4 / 7
Email और SMS सब्सक्राइबर्स
माइग्रेट होता है?
हां, चैनल सेटअप के साथ
कैसे
एड्रेसेस और फोन नंबर्स इम्पोर्ट होते हैं। भेजने के लिए हमारी तरफ से चैनल कॉन्फ़िगर होना भी ज़रूरी है: email के लिए DKIM वाला वेरिफाइड sending domain, SMS के लिए एक sender या provider। पहले सेंड से पहले हम यह आपके साथ मिलकर सेटअप करते हैं।
चैनल
5 / 7
Web push
माइग्रेट होता है?
नहीं, इसकी जगह re-subscription
कैसे
ब्राउज़र सब्सक्रिप्शन्स क्रिप्टोग्राफिकली OneSignal की keys से बंधे होते हैं और किसी भी provider द्वारा ट्रांसफर नहीं किए जा सकते। आपके सब्सक्राइबर्स साइलेंटली वापस आते हैं: web push सेक्शन देखें।
चैनल
6 / 7
Message history, delivery stats, journeys
माइग्रेट होता है?
नहीं
कैसे
हिस्टोरिकल डेटा OneSignal में ही रहता है। अकाउंट बंद करने से पहले जो भी रिपोर्ट्स रखनी हैं, उन्हें एक्सपोर्ट कर लें।
चैनल
7 / 7
Segment definitions
माइग्रेट होता है?
दोबारा बनाए जाते हैं, इम्पोर्ट नहीं
कैसे
OneSignal का API segment names और counts देता है, लेकिन उनके filters नहीं, इसलिए इम्पोर्ट करने के लिए कुछ नहीं है। हम इन्हें Pushwoosh में दोबारा बनाते हैं।

इसमें कितना समय लगता है

SDK स्वैप और एक क्लीन टेस्ट सेंड एक डेवलपर के लिए एक दिन का काम है। इम्पोर्ट हमारी तरफ से पैरेलल में चलता है, और यही है जो पहले दिन से आपकी रीच बरकरार रखता है: इम्पोर्टेड डिवाइसेज़ किसी के भी ऐप अपडेट करने से पहले डिलीवरेबल होते हैं। आपके ऐप की खुद की ऑडियंस फिर उस रफ़्तार से Pushwoosh SDK पर मूव होती है जिस रफ़्तार से आपके यूज़र्स नया बिल्ड इंस्टॉल करते हैं, जिसमें हफ्तों का समय लगता है और यह कभी भी हर आखिरी डिवाइस तक नहीं पहुंचता। इसीलिए इम्पोर्ट होता है।

ऑर्डर मायने रखता है:

  1. अपनी ऑडियंस एक्सपोर्ट करें। हमें अपना OneSignal app_id और एक App API key भेजें, हम खुद एक्सपोर्ट पुल कर लेंगे, या खुद CSV एक्सपोर्ट करें। डिटेल्स नीचे हैं।
  2. हमें अपने पुश क्रेडेंशियल्स भेजें। वही keys जिनसे OneSignal पहले से भेजता है। हम इम्पोर्ट से पहले इन्हें अपलोड करते हैं, ताकि हर इम्पोर्टेड डिवाइस डिलीवरेबल हो।
  3. SDK स्वैप करें। OneSignal SDK हटाएं, Pushwoosh SDK जोड़ें, इसे अपने Pushwoosh application code और device API token से initialize करें। प्लेटफॉर्म स्टेप्स Version A से C में हैं।
  4. डिलीवरी वेरिफाई करें। प्रोडक्शन ट्रैफिक को हाथ लगाने से पहले एक टेस्ट डिवाइस रजिस्टर करें और खुद को एक पुश भेजें।
  5. टैग शीट अप्रूव करें। हम इसे आपके एक्सपोर्ट से बनाते हैं; आप डेड टैग्स काट दें और मल्टी-वैल्यू वालों को मार्क करें। हम इम्पोर्ट करते हैं और आपके segments दोबारा बनाते हैं।
  6. सेंडिंग स्विच करें। जब टेस्ट डिलीवरी क्लीन हो और इम्पोर्ट कन्फर्म हो जाए, अपनी कैम्पेन्स को Pushwoosh पर पॉइंट करें और OneSignal से भेजना बंद कर दें।

2. अपनी ऑडियंस एक्सपोर्ट करें

ऑप्शन A (रिकमेंडेड): हम आपके लिए करते हैं। हमें अपना OneSignal app_id और एक App API key भेजें, हम खुद एक्सपोर्ट पुल कर लेंगे। आपका हिस्सा यहीं खत्म हो जाता है।

ऑप्शन B: आप खुद करें। OneSignal में, Audience > Subscriptions पर जाएं और CSV एक्सपोर्ट करें, या export endpoint कॉल करें:

Terminal window
curl -X POST 'https://api.onesignal.com/players/csv_export?app_id=YOUR_APP_ID' \
-H 'Authorization: Key YOUR_APP_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"extra_fields":["external_user_id","timezone_id","notification_types"]}'

रिस्पॉन्स csv_file_url रिटर्न करता है, एक gzip-compressed CSV जो 3 दिन तक डाउनलोडेबल रहती है।

OneSignal Subscription Records स्क्रीन, जिसमें Export बटन ऊपर दाईं तरफ हाइलाइट किया गया है
Source: OneSignal

फाइल में ये कॉलम्स होने ही चाहिए। बाकी सब कुछ ऑप्शनल है और हम उसे इग्नोर करते हैं।

कॉलमहमें इसकी ज़रूरत क्यों है
identifierखुद पुश token। इसके बिना कोई row माइग्रेट नहीं हो सकती।
idOneSignal subscription id। यह हमारी तरफ device identifier बन जाता है।
device_typeहमें प्लेटफॉर्म बताता है: iOS, Android, Huawei, email, SMS।
invalid_identifierअनसब्सक्राइब्ड rows को मार्क करता है ताकि हम उन्हें स्किप करें।
tagsआपके कस्टम टैग्स। हम इन्हें Pushwoosh में दोबारा बनाते हैं।
external_user_idआपकी खुद की user id। यह डिवाइस को डुप्लिकेट होने से बचाती है जब हमारा SDK उसे रजिस्टर करता है।
timezone_idPushwoosh में Send by Timezone को एनेबल करता है।
कॉलम
1 / 7
identifier
हमें इसकी ज़रूरत क्यों है
खुद पुश token। इसके बिना कोई row माइग्रेट नहीं हो सकती।
कॉलम
2 / 7
id
हमें इसकी ज़रूरत क्यों है
OneSignal subscription id। यह हमारी तरफ device identifier बन जाता है।
कॉलम
3 / 7
device_type
हमें इसकी ज़रूरत क्यों है
हमें प्लेटफॉर्म बताता है: iOS, Android, Huawei, email, SMS।
कॉलम
4 / 7
invalid_identifier
हमें इसकी ज़रूरत क्यों है
अनसब्सक्राइब्ड rows को मार्क करता है ताकि हम उन्हें स्किप करें।
कॉलम
5 / 7
tags
हमें इसकी ज़रूरत क्यों है
आपके कस्टम टैग्स। हम इन्हें Pushwoosh में दोबारा बनाते हैं।
कॉलम
6 / 7
external_user_id
हमें इसकी ज़रूरत क्यों है
आपकी खुद की user id। यह डिवाइस को डुप्लिकेट होने से बचाती है जब हमारा SDK उसे रजिस्टर करता है।
कॉलम
7 / 7
timezone_id
हमें इसकी ज़रूरत क्यों है
Pushwoosh में Send by Timezone को एनेबल करता है।

नोट: external_user_id और timezone_id डिफ़ॉल्ट एक्सपोर्ट का हिस्सा नहीं हैं। इन्हें ऊपर दिए extra_fields पैरामीटर के ज़रिए, या डैशबोर्ड के column picker से एक्सप्लिसिटली रिक्वेस्ट करें।

3. हमें अपने पुश क्रेडेंशियल्स भेजें

ये वही क्रेडेंशियल्स हैं जो OneSignal आपकी तरफ से भेजने में पहले से इस्तेमाल करता है, तो नया कुछ बनाने की ज़रूरत नहीं। हम इन्हें खुद OneSignal से नहीं निकाल सकते: एक अपलोड की गई key दोबारा कभी डाउनलोड नहीं होती, इसलिए यह स्टेप आपका है।

प्लेटफॉर्महमें क्या चाहिएकहां से लें
iOSAPNs Auth Key (.p8), Key ID, Team ID, app bundle idApple Developer > Certificates, Identifiers & Profiles > Keys। OneSignal जिस key का इस्तेमाल करता है उसे रिवोक न करें; एक key दोनों के लिए काम कर सकती है।
AndroidFirebase service account JSON (FCM v1)Firebase Console > Project settings > Service accounts। यह वही Firebase प्रोजेक्ट होना चाहिए जो आपका ऐप पहले से इस्तेमाल करता है।
HuaweiApp ID और App SecretAppGallery Connect > your project > App information।
प्लेटफॉर्म
1 / 3
iOS
हमें क्या चाहिए
APNs Auth Key (.p8), Key ID, Team ID, app bundle id
कहां से लें
Apple Developer > Certificates, Identifiers & Profiles > Keys। OneSignal जिस key का इस्तेमाल करता है उसे रिवोक न करें; एक key दोनों के लिए काम कर सकती है।
प्लेटफॉर्म
2 / 3
Android
हमें क्या चाहिए
Firebase service account JSON (FCM v1)
कहां से लें
Firebase Console > Project settings > Service accounts। यह वही Firebase प्रोजेक्ट होना चाहिए जो आपका ऐप पहले से इस्तेमाल करता है।
प्लेटफॉर्म
3 / 3
Huawei
हमें क्या चाहिए
App ID और App Secret
कहां से लें
AppGallery Connect > your project > App information।

हम इम्पोर्ट शुरू होने से पहले क्रेडेंशियल्स को आपकी Pushwoosh application में अपलोड करते हैं। यह ऑर्डर मायने रखता है: क्रेडेंशियल्स के बिना इम्पोर्ट ऐसा डेटाबेस बना देता है जो डिवाइसेज़ से भरा हो लेकिन किसी को भी डिलीवर नहीं किया जा सकता।

4. अपने टैग्स और सेगमेंट्स रिव्यू करें

OneSignal Segment Editor, जिसमें एक segment Last Session less than 168 hours ago फिल्टर पर बना है
Source: OneSignal

टैग्स माइग्रेट होते हैं, और आपको इन्हें खुद इन्वेंटरी करने की ज़रूरत नहीं। OneSignal में एक tag एक plain key/value string होता है जिसका कोई डिक्लेयर्ड type नहीं होता। Pushwoosh में हर tag प्रति application एक बार एक type (String, Integer, Boolean, Date, List या Price) के साथ डिक्लेयर होता है, और तभी वैल्यूज़ होल्ड करता है।

जैसे ही हमारे पास आपका एक्सपोर्ट आता है, हम आपको फाइल से ही बनाई गई एक tag review sheet भेजते हैं। इसमें हमें मिला हर tag लिस्टेड होता है, डेटा भरा हुआ: सैंपल वैल्यूज़, कितने डिवाइसेज़ में वैल्यू है, और हम जो type प्रपोज़ करते हैं। आपका हिस्सा 2 कॉलम्स हैं: जो टैग्स अब इस्तेमाल नहीं होते उन्हें काट दें, और जो एक साथ कई वैल्यूज़ होल्ड कर सकते हैं उन्हें मार्क करें। बाकी सब एक प्रपोज़ल है जिसे आप जैसा है वैसा अप्रूव कर सकते हैं।

हम गेस करने की बजाय क्यों पूछते हैं: tag का type एक बार बनने के बाद फिक्स्ड होता है, तो अगर हम एक multi-value tag को plain String के तौर पर बना दें, उसे डिलीट करके दोबारा इम्पोर्ट करना पड़ता है। एक्सपोर्ट में जो tag single-value दिखता है, वही exact केस है जिसे हम डेटा से डिटेक्ट नहीं कर सकते। अगर हमें कोई जवाब नहीं मिलता, तो हम हर tag को अपने अनुमानित type के साथ इम्पोर्ट करते हैं और आपको बताते हैं कि हमने कहां गेस किया।

Segments दोबारा बनाए जाते हैं। OneSignal का API किसी segment से एक्सपोर्ट फिल्टर कर सकता है और आपके segment names लिस्ट कर सकता है, लेकिन उनके पीछे के filters रिटर्न नहीं करता, इसलिए इम्पोर्ट करने के लिए कुछ नहीं है। आगे बढ़ने के 2 तरीके हैं:

  1. कंडीशंस दोबारा बनाएं (रिकमेंडेड)। हमें अपनी segment लिस्ट उनके filters के साथ भेजें; स्क्रीनशॉट्स भी चलेंगे। हम इन्हें इम्पोर्टेड टैग्स पर दोबारा बनाते हैं। दोबारा बनाए गए segments डायनामिक होते हैं: आपकी ऑडियंस बदलने के साथ ये अपडेट होते रहते हैं।
  2. मेंबरशिप फ्रीज़ करें। हम प्रति segment एक एक्सपोर्ट लेते हैं और हर फाइल पर एक marker tag स्टैम्प करते हैं, उदाहरण के लिए os_segment = vip_users। तेज़, लेकिन नतीजा एक स्नैपशॉट होता है जो खुद अपडेट नहीं होता।

OneSignal के अपने behavioural डेटा (session counts, playtime, “Active Users”, “Engaged Users”) पर बने segments इम्पोर्ट के समय दोबारा नहीं बनाए जा सकते, क्योंकि वो हिस्ट्री OneSignal में ही रहती है। इनके Pushwoosh equivalents तभी भरने लगते हैं जब हमारा SDK आपके ऐप में शिप होता है।

5. हम अपनी तरफ से क्या करते हैं

  1. आपकी Pushwoosh application क्रिएट और कॉन्फ़िगर करते हैं, और स्टेप 3 के क्रेडेंशियल्स अपलोड करते हैं।
  2. एक्सपोर्ट क्लीन करते हैं: अनसब्सक्राइब्ड rows और खाली token वाली rows हटाते हैं, OneSignal के platform codes को हमारे codes से मैप करते हैं, tags कन्वर्ट करते हैं, और आपके external_user_id को हमारी User ID से मैप करते हैं।
  3. Tag schema बनाते हैं, फिर ऑडियंस को batches में इम्पोर्ट करते हैं, हर batch को वेरिफाई करते हुए।
  4. एक छोटे control group को टेस्ट पुश भेजते हैं और नतीजे को आपकी उम्मीद से कंपेयर करते हैं।
  5. रिपोर्ट करते हैं: फाइल में कितने subscriptions थे, कितने इम्पोर्ट हुए, और जो भी row स्किप हुई उसकी वजह।

6. अपने अगले ऐप रिलीज़ में Pushwoosh SDK शिप करें

इम्पोर्ट आपकी मौजूदा ऑडियंस को तुरंत रीचेबल बना देता है, लेकिन यह एक ब्रिज है, डेस्टिनेशन नहीं। सिर्फ़ आपके ऐप के अंदर मौजूद Pushwoosh SDK ही OS द्वारा token रोटेट किए जाने पर (reinstall, restore, OS upgrade) नया token पिक कर सकता है, माइग्रेशन के बाद इंस्टॉल करने वाले यूज़र्स को रजिस्टर कर सकता है, और opens, in-app messages और uninstalls रिपोर्ट कर सकता है।

उसी रिलीज़ में OneSignal SDK हटाएं। एक बिल्ड में 2 पुश SDKs एक ही notification callbacks के लिए कॉम्पीट करते हैं, और हम उस कॉम्बिनेशन को टेस्ट नहीं करते। नया बिल्ड रोलआउट होने के दौरान OneSignal से भेजना जारी रखना ठीक और एक्सपेक्टेड है; लेकिन दोनों SDKs को एक बिल्ड के अंदर रखना नहीं। प्लेटफॉर्म-स्पेसिफिक स्टेप्स नीचे Version A से C में हैं।

7. Web push: आपके सब्सक्राइबर्स कैसे वापस आते हैं

Web push इम्पोर्ट नहीं होता, और यह एक हार्ड टेक्निकल लिमिट है, Pushwoosh का चॉइस नहीं। एक web push subscription उसके बनाने वाले के VAPID key pair से साइन होता है, और OneSignal की private key कभी OneSignal से बाहर नहीं जाती — उनकी अपनी डॉक्यूमेंटेशन web subscription keys को सिर्फ़ OneSignal SDKs के लिए एवेलेबल बताती है। कोई भी provider किसी दूसरे provider के web subscriptions इम्पोर्ट नहीं कर सकता। इसकी जगह जो काम करता है वो है silent re-subscription:

  1. OneSignal snippet हटाएं और इसके service worker को एक्सप्लिसिटली अनरजिस्टर करें। पुराने worker को वहीं छोड़ने से एक ही domain पर 2 workers कॉम्पीट करने लगते हैं।
  2. Pushwoosh Web Push SDK इंस्टॉल करें, हमारे service worker के साथ आपके domain के root पर।
  3. इसे अपने application code और अपने device API token (apiToken) से initialize करें, फिर automatic subscription एनेबल करें (autoSubscribe: true, या Pushwoosh.subscribe() कॉल करें)। token के बिना SDK की calls 401 के तौर पर वापस आती हैं।

फिर एक लौटने वाला विज़िटर साइलेंटली री-सब्सक्राइब हो जाता है। ब्राउज़र जो notification permission स्टोर करता है वो आपके domain का होता है, आपके पिछले provider का नहीं, इसलिए कोई दूसरा प्रॉम्प्ट नहीं आता और यूज़र को कुछ नज़र नहीं आता। आपका बेस कितनी तेज़ी से रिकवर होता है यह इस पर डिपेंड करता है कि लोग कितनी तेज़ी से लौटते हैं: ज़्यादातर ऑडियंस आमतौर पर एक हफ्ते के अंदर वापस आ जाती है, और अगले महीने में बाकी बची हुई।

3 केस जिनका ध्यान रखना है:

  • जिन विज़िटर्स ने notifications ब्लॉक कर रखी हैं उन्हें री-सब्सक्राइब नहीं किया जा सकता। ब्राउज़र मना कर देता है और उन्हें दोबारा प्रॉम्प्ट नहीं करेगा। वे बाहर ही रहते हैं, जो सही नतीजा है।
  • जिन विज़िटर्स ने आपकी साइट पर opt-out किया लेकिन ब्राउज़र permission ग्रांटेड ही रही, वे साइलेंटली री-सब्सक्राइब हो जाएंगे। टेक्निकली वैलिड, लेकिन इससे वो लोग वापस आ जाते हैं जो जान-बूझकर छोड़ गए थे। अगर आपके पास एक suppression list है (अपनी user id या email से), तो हमें भेजें और हम उन यूज़र्स को हर कैम्पेन से एक्सक्लूड कर देंगे। अगर नहीं है, तो हम ऑटोमैटिक की बजाय एक्सप्लिसिट क्लिक (एक bell या प्रॉम्प्ट) पर सब्सक्राइब करने की सलाह देते हैं।
  • अगर आपका web push अपने डोमेन की बजाय आपके पिछले वेंडर के दिए गए subdomain पर चलता था, तो permission उस subdomain की होती है। उन सब्सक्राइबर्स को रिकवर नहीं किया जा सकता और उन्हें आपकी साइट पर दोबारा opt in करना होगा। स्विच प्लान करने से पहले चेक करें आपके पास कौन सा सेटअप है।

8. इम्पोर्ट के बाद क्या उम्मीद करें

  • एक डिवाइस कुछ समय के लिए 2 बार दिख सकता है। इम्पोर्टेड record OneSignal identifier कैरी करता है; जैसे ही हमारा SDK उसी डिवाइस पर चलता है, वो अपने खुद के identifier से रजिस्टर होता है। स्टेल record uninstall tracking या ऑटोमैटिक 90-दिन inactivity cleanup से हट जाता है। इस बीच external_user_id देने से दोनों records एक ही user profile के अंदर बने रहते हैं।
  • डेड tokens आपकी पहली कैम्पेन में निकल जाते हैं। Apple और Google किसी token के invalid होने का पता तभी देते हैं जब कोई मैसेज असल में भेजा जाता है, इसलिए माइग्रेशन के बाद की पहली सेंड आपके बेस को भी क्लीन कर देती है।
  • आपका इम्पोर्टेड नंबर आपके OneSignal काउंटर से कम होगा। Unsubscribed rows, खाली token वाली rows, और web push rows डिज़ाइन के हिसाब से एक्सक्लूड होती हैं। हमारी रिपोर्ट आपको बताती है कि हर ग्रुप में एग्ज़ैक्टली कितनी गईं।

9. कहां क्लिक करें

आपके हिस्से के आइटम्स के लिए एग्ज़ैक्ट पाथ्स, ताकि किसी को डैशबोर्ड्स में ढूंढना न पड़े।

टास्कक्लिक पाथ
OneSignal: ऑडियंस एक्सपोर्ट करेंAudience > Subscriptions > ऑप्शनल segment filter > column picker > Export
OneSignal: App ID और API keySettings > Keys & IDs। App ID और एक App API key लें; export request इसे Authorization: Key <App API key> के तौर पर भेजता है
Apple: APNs Auth Keydeveloper.apple.com > Certificates, Identifiers & Profiles > Keys > + > Apple Push Notification service (APNs) > Continue > Register > Download। .p8 फाइल सिर्फ़ एक बार डाउनलोड होती है; Key ID उसी स्क्रीन पर है, और Team ID Membership details के नीचे है।
Firebase: service account JSONconsole.firebase.google.com > your project > gear icon > Project settings > Service accounts > Generate new private key
Huawei: App ID और App SecretAppGallery Connect > My projects > your project > your app > Project settings > App information
Pushwoosh: application code और device API tokenControl Panel > your application > Settings > API Access। Token के पास उस application के लिए परमिशन होनी चाहिए।
आपकी वेबसाइट: पुराना worker हटाएंअपने साइट रूट से OneSignal की service worker फाइल्स डिलीट करें, और चल रहे worker को unregister करें: navigator.serviceWorker.getRegistrations().then(rs => rs.forEach(r => r.unregister()))
टास्क
1 / 7
OneSignal: ऑडियंस एक्सपोर्ट करें
क्लिक पाथ
Audience > Subscriptions > ऑप्शनल segment filter > column picker > Export
टास्क
2 / 7
OneSignal: App ID और API key
क्लिक पाथ
Settings > Keys & IDs। App ID और एक App API key लें; export request इसे Authorization: Key <App API key> के तौर पर भेजता है
टास्क
3 / 7
Apple: APNs Auth Key
क्लिक पाथ
developer.apple.com > Certificates, Identifiers & Profiles > Keys > + > Apple Push Notification service (APNs) > Continue > Register > Download। .p8 फाइल सिर्फ़ एक बार डाउनलोड होती है; Key ID उसी स्क्रीन पर है, और Team ID Membership details के नीचे है।
टास्क
4 / 7
Firebase: service account JSON
क्लिक पाथ
console.firebase.google.com > your project > gear icon > Project settings > Service accounts > Generate new private key
टास्क
5 / 7
Huawei: App ID और App Secret
क्लिक पाथ
AppGallery Connect > My projects > your project > your app > Project settings > App information
टास्क
6 / 7
Pushwoosh: application code और device API token
क्लिक पाथ
Control Panel > your application > Settings > API Access। Token के पास उस application के लिए परमिशन होनी चाहिए।
टास्क
7 / 7
आपकी वेबसाइट: पुराना worker हटाएं
क्लिक पाथ
अपने साइट रूट से OneSignal की service worker फाइल्स डिलीट करें, और चल रहे worker को unregister करें: navigator.serviceWorker.getRegistrations().then(rs => rs.forEach(r => r.unregister()))

1 अक्टूबर से पहले की चेकलिस्ट

जैसे-जैसे आगे बढ़ें, इसे खुला रखें। यहां किसी भी चीज़ के लिए कोई फॉर्म डाउनलोड करने की ज़रूरत नहीं।

  • एक्सपोर्ट हमें भेजा गया, या app_id प्लस App API key हमें दी गई ताकि हम पुल कर लें
  • पुश क्रेडेंशियल्स भेजे गए: APNs key, FCM service account JSON, जहां इस्तेमाल हो वहां HMS keys
  • Email और SMS चैनल्स हमारे साथ कॉन्फ़िगर किए गए, अगर आप उन सब्सक्राइबर्स को माइग्रेट कर रहे हैं
  • टैग रिव्यू शीट वापस भेजी गई, डेड टैग्स हटाए गए, मल्टी-वैल्यू टैग्स मार्क किए गए
  • रिबिल्ड के लिए segment filters हमें भेजे गए (स्क्रीनशॉट्स भी चलेंगे)
  • टेस्ट बिल्ड में Pushwoosh SDK इंटीग्रेट किया गया, टेस्ट पुश रिसीव हुआ
  • इम्पोर्ट पूरा हुआ, हमारी इम्पोर्टेड और स्किप्ड रिपोर्ट रिव्यू की गई
  • Web push SDK लाइव है, पुराना service worker अनरजिस्टर्ड, अगर आप web push इस्तेमाल करते हैं
  • प्रोडक्शन बिल्ड पर टेस्ट डिलीवरी क्लीन
  • सेंडिंग Pushwoosh पर स्विच हुई, OneSignal सेंड्स रुक गए

Version A: नेटिव iOS और Android

iOS. Pushwoosh iOS SDK जोड़ें, फिर Info.plist में 2 keys सेट करें: Pushwoosh_APPID अपने Pushwoosh application code के साथ, और PW_API_TOKEN अपने device API token के साथ। registerForPushNotifications() वहां कॉल करें जहां आप अभी OneSignal prompt ट्रिगर करते हैं, और अपने SDK वर्ज़न के लिए exact initialization snippet के लिए iOS quick start फॉलो करें। OneSignal SDK और उसकी registration call हटा दें ताकि दोनों एक साथ tokens रिक्वेस्ट न करें।

Android. com.pushwoosh:pushwoosh-firebase dependency जोड़ें, फिर AndroidManifest.xml के <application> tag के अंदर 2 meta-data entries जोड़ें: com.pushwoosh.appid अपने application code के साथ, और com.pushwoosh.apitoken अपने device API token के साथ। अपने initialization logic से Pushwoosh.getInstance().registerForPushNotifications() कॉल करें। आपका Firebase configuration जैसा है वैसा ही रहता है, google-services.json प्रोजेक्ट में रहती है; FCM क्रेडेंशियल्स Control Panel में आपके Android platform configuration के अंदर जाते हैं।

अपने tags setTags() से और अपना user identifier setUserId() से उन्हीं जगहों पर सेट करें जहां आपने OneSignal के equivalents कॉल किए थे, ताकि स्वैप के बाद भी segmentation काम करता रहे।

Version B: Flutter और FlutterFlow

FlutterFlow, Pushwoosh Flutter SDK को wrap करता है, इसलिए माइग्रेशन ज़्यादातर code नहीं बल्कि configuration है।

  1. अपने प्रोजेक्ट में Pushwoosh Flutter package को एक custom dependency के तौर पर जोड़ें।
  2. एक custom action में, SDK को अपने application code से initialize करें और पुश नोटिफिकेशन के लिए रजिस्टर करें, current initialization API के लिए Flutter quick start फॉलो करते हुए।
  3. नेटिव क्रेडेंशियल्स उसी तरह सेट करें जैसे कोई भी Flutter ऐप करता है: iOS के लिए Info.plist में Pushwoosh_APPID और PW_API_TOKEN, Android के लिए AndroidManifest.xml में com.pushwoosh.appid और com.pushwoosh.apitoken
  4. OneSignal इंटीग्रेशन हटाएं ताकि दोनों SDKs एक साथ रजिस्टर न हों।
  5. अपने custom actions में setTags() और setUserId() से tags और user id मैप करें।

Version C: React Native

  1. प्लगइन इंस्टॉल करें: npm install pushwoosh-react-native-plugin --save, फिर iOS के लिए pod install
  2. अपने root component में initialize और register करें:
import Pushwoosh from 'pushwoosh-react-native-plugin';
Pushwoosh.init({ pw_appid: "YOUR_APPLICATION_CODE" });
Pushwoosh.register();
  1. device API token नेटिवली जोड़ें: iOS के लिए Info.plist में PW_API_TOKEN, Android के लिए AndroidManifest.xml में meta-data के तौर पर com.pushwoosh.apitoken। Android पर google-services.json प्रोजेक्ट में बनाए रखें — FCM क्रेडेंशियल्स खुद Control Panel में रहते हैं।
  2. OneSignal React Native package और उसकी init call हटाएं।
  3. प्लगइन API के setTags() और setUserId() से अपने tags और user id कैरी करें।
OneSignal से मूव करने की प्लानिंग कर रहे हैं?

हमारी टीम से मदद के लिए संपर्क करें।

कॉल बुक करें

FAQ

SDK स्वैप और एक क्लीन टेस्ट सेंड एक डेवलपर के लिए एक दिन का काम है। आपके मौजूदा बेस का इम्पोर्ट हमारी तरफ से पैरेलल में चलता है और आपकी ऑडियंस को पहले दिन से रीचेबल रखता है, तो कुछ भी app-store रिव्यू या यूज़र अपडेट्स पर नहीं रुकता। जल्दी शुरू करने के लिए हमें एक्सपोर्ट या API key जल्द भेज दें।

किसी भी पॉइंट पर सवाल हों तो अपने Pushwoosh onboarding contact से पूछें। हम इम्पोर्ट के बाद नंबर्स मिलाने से बेहतर, इम्पोर्ट से पहले जवाब देना पसंद करेंगे।


Pushwoosh Team
Content Team में Pushwoosh
शेयर करें

संबंधित लेख

सभी देखें