ছোট অ্যাপে OneSignal SDK মাইগ্রেশন মানে ১টি init কল আর একটি click handler বদলানো। বড় অ্যাপে OneSignal থাকে ডজনখানেক জায়গায়: প্রোফাইল মডিউলে সেট করা ট্যাগ, auth-এ external user ID, নেভিগেশনে click handler, চেকআউটের কোথাও in-app ট্রিগার।
এর ১টি কলও বাদ পড়লে কিছুই ক্র্যাশ করে না। সেগমেন্ট চুপচাপ সরে যায়, ডিপ লিংক হোম স্ক্রিন খোলে, আর যে পুশ নোটিফিকেশন ইউজারদের ফিরিয়ে আনত, সেটা আসা বন্ধ হয়ে যায়।
বাংলাদেশ ও পশ্চিমবঙ্গের মতো বাজারে, যেখানে বেশিরভাগ ইউজার Android-এ, ঝুঁকিটা মূলত Android বিল্ডেই জমা হয় — তাই নিচের প্রতিটি ধাপে Android-এর দিকটা আগে দেখে নিন, তারপর iOS।
এই গাইডে আছে সোয়াপ নিরাপদ করার ৯টি টুল, মাইগ্রেশনের ৫টি ধাপ অনুযায়ী সাজানো: ম্যাপ, রিপ্লেস, টেস্ট, রোলআউট ও মনিটর।
প্রোভাইডারের দিকের কাজের জন্য দেখুন আমাদের OneSignal থেকে Pushwoosh-এ মাইগ্রেশনের পূর্ণ গাইড।
বড় অ্যাপে পুশ SDK মাইগ্রেশন কেন ভেঙে যায়
পুশ SDK বেশিরভাগ থার্ড-পার্টি লাইব্রেরির চেয়ে কোডবেসের বেশি অংশ ছুঁয়ে থাকে। সাধারণত ৪টি জিনিস ভুল হয়:
- ছড়ানো কল। ট্যাগ, external user ID আর click handler থাকে আলাদা মডিউলে, কখনও আলাদা রিপোজিটরিতে। “OneSignal” লিখে টেক্সট সার্চ করলে স্পষ্ট কলগুলো পাওয়া যায়, কিন্তু wrapper বাদ পড়ে।
- লুকানো ডিপেন্ডেন্সি। অ্যানালিটিক্স ইভেন্ট, ডিপ লিংক আর A/B টেস্ট প্রায়ই SDK callback-এর উপর নির্ভর করে। callback সরালেই পরের ধাপের কোনো ড্যাশবোর্ড সমতল হয়ে যায়।
- ২টি SDK, ১টি বিল্ড। ১টি অ্যাপে ২টি পুশ SDK একই notification callback নিয়ে প্রতিযোগিতা করে। এজন্যই Pushwoosh মাইগ্রেশন গাইড বলে, নতুন SDK যে রিলিজে যোগ হবে, সেই রিলিজেই OneSignal SDK সরাতে।
- নীরব ব্যর্থতা। ডেলিভার না হওয়া পুশ কোনো error দেয় না। ক্র্যাশ রিপোর্ট পরিষ্কারই থাকে।
ধাপে ধাপে মাইগ্রেশন ওয়ার্কফ্লো
প্রতিটি ধাপের নিজস্ব ব্যর্থতার ধরন আর নিজস্ব টুল আছে।
| ধাপ | কী ভুল হতে পারে | টুল |
|---|---|---|
| 1. ম্যাপ | OneSignal-এর কোনো কল বা ডিপেন্ডেন্সি বাদ পড়ে | CodeAlive |
| 2. রিপ্লেস | টোকেন, ট্যাগ বা user ID স্থানান্তর হয় না | Pushwoosh |
| 3. টেস্ট | রিলিজের আগেই রেজিস্ট্রেশন বা payload ভেঙে যায় | Apple Push Notifications Console, Firebase Cloud Messaging, Proxyman |
| 4. রোলআউট | একটা খারাপ বিল্ড একসাথে সব ইউজারের কাছে পৌঁছায় | fastlane, App Store phased release ও Google Play staged rollouts |
| 5. মনিটর | ক্র্যাশ বা ডেলিভারি কমে যাওয়া চোখ এড়িয়ে যায় | Firebase Crashlytics, Pushwoosh message statistics |
নিরাপদ OneSignal SDK মাইগ্রেশনের ৯টি টুল
| টুল | ধাপ | যে সমস্যার সমাধান করে | ফ্রি টিয়ার | প্রাইসিং মডেল |
|---|---|---|---|---|
| CodeAlive | ম্যাপ | বড় কোডবেস জুড়ে OneSignal-এর প্রতিটি কল ও তার ডিপেন্ডেন্সি খুঁজে বের করে, AI এজেন্টকে পূর্ণ কনটেক্সট দেয় | হ্যাঁ: 1 জন ইউজার, 25 MB রিপো, মাসে 100টি চ্যাট রিকোয়েস্ট | $15/মাস থেকে, ব্যবহার-ভিত্তিক |
| Pushwoosh | রিপ্লেস | অডিয়েন্স ইমপোর্ট এবং নেটিভ ও ক্রস-প্ল্যাটফর্ম অ্যাপের SDK-সহ টার্গেট পুশ প্ল্যাটফর্ম | Push-only প্ল্যানে প্রথম 1,000 MAU ফ্রি | প্রতি 1,000 MAU-তে $7 (Push only) |
| Apple Push Notifications Console | টেস্ট | APNs-এর মাধ্যমে টেস্ট পুশ পাঠায়, টোকেন যাচাই করে, ডেলিভারি লগ দেখায় | Apple Developer Program মেম্বারশিপের সাথে অন্তর্ভুক্ত | আলাদা চার্জ নেই |
| Firebase Cloud Messaging | টেস্ট | নির্দিষ্ট FCM টোকেনে টেস্ট মেসেজ পাঠায় | হ্যাঁ, কোনো খরচ নেই | ফ্রি |
| Proxyman | টেস্ট | SDK-র নেটওয়ার্ক ট্রাফিক ও payload পরীক্ষা করে | সীমাসহ ফ্রি (ব্যবসায়িক ব্যবহারে 2 সপ্তাহের ট্রায়াল) | এককালীন $89 থেকে |
| fastlane | রোলআউট | phased release ও rollout অপশনসহ রিলিজ অটোমেট করে | ওপেন সোর্স | ওপেন সোর্স |
| App Store phased release / Google Play staged rollouts | রোলআউট | নতুন বিল্ড ইউজারদের একটা অংশে সীমিত রাখে | স্টোরেই বিল্ট-ইন | অন্তর্ভুক্ত |
| Firebase Crashlytics | মনিটর | সোয়াপের পর ক্র্যাশ ও non-fatal error | হ্যাঁ, কোনো খরচ নেই | ফ্রি |
| Pushwoosh message statistics | মনিটর | প্ল্যাটফর্ম অনুযায়ী সেন্ড, ডেলিভারি, ওপেন ও error | Pushwoosh-এর সাথে অন্তর্ভুক্ত | অন্তর্ভুক্ত |
ধাপ 1. OneSignal-এর প্রতিটি কল ম্যাপ করুন
1. CodeAlive: বড় ও মাল্টি-রিপো কোডবেস জুড়ে SDK কল ম্যাপ করার জন্য সেরা
CodeAlive AI কোডিং এজেন্টকে পুরো কোডবেস জুড়ে নির্ভুল কনটেক্সট দেয় আর সেটা খুঁজতে তাদের যে টোকেন খরচ হয় তা কমায়। এটি 1M+ লাইনের কোডবেসের জন্য তৈরি একটি কনটেক্সট ইঞ্জিন: সেমান্টিক সার্চ, সাথে ফাইল, সিম্বল, কল, ডিপেন্ডেন্সি ও টেস্টের সম্পর্কের গ্রাফ, MCP ও API-র মাধ্যমে দেওয়া।
মাইগ্রেশনে এর কাজ: কেউ কোড এডিট করার আগে আপনি CodeAlive-কে জিজ্ঞেস করেন OneSignal কোথায় ব্যবহৃত হচ্ছে আর কী কী এর উপর নির্ভর করে। সম্পর্কের গ্রাফ স্পষ্ট কলগুলোর বাইরেও দেখায়: wrapper, যে callback-এ অ্যানালিটিক্স ঝুলে আছে, যে টেস্ট SDK-কে mock করে। একই কনটেক্সট যায় সেই AI এজেন্টের কাছে, যে রিপ্লেসমেন্টটা করে।
মূল ফিচার:
- হাইব্রিড রিট্রিভাল: ১টি কোয়েরিতে সেমান্টিক সার্চ, লেক্সিক্যাল ম্যাচিং ও গ্রাফ ট্রাভার্সাল
- প্রতিটি push-এ ইনডেক্স রিফ্রেশ, তাই মাইগ্রেশন ব্রাঞ্চ এগোলেও ম্যাপ হালনাগাদ থাকে
- MCP টুল, যেমন semantic_search, grep_search ও chat — Cursor, Claude Code, Codex, Windsurf, Zed, Continue ও Cline-এর জন্য
- AI pull request রিভিউ, যা পুরো সিস্টেম বিবেচনায় নেয়
- Git প্রোভাইডার: GitHub, GitLab, Bitbucket, Azure DevOps, Gitea। IDE: VS Code ও JetBrains
সুবিধা:
- রিপোজিটরি জুড়ে ডিপেন্ডেন্সি ম্যাপ করে
- আপনার টিম যে এজেন্ট ও IDE ইতিমধ্যে ব্যবহার করে, তার ভেতরেই কাজ করে
ধাপ 2. SDK বদলান ও অডিয়েন্স সরিয়ে আনুন
2. Pushwoosh: অডিয়েন্স ইমপোর্টসহ টার্গেট প্ল্যাটফর্ম হিসেবে সেরা
Pushwoosh একটি কাস্টমার এনগেজমেন্ট প্ল্যাটফর্ম — পুশ, ইন-অ্যাপ, ইমেইল, SMS ও WhatsApp। মাইগ্রেশনের সময় আপনার ডেভেলপাররা নতুন SDK শিপ করতে করতেই Pushwoosh টিম আপনার অডিয়েন্স ইমপোর্ট করে দেয়।
মাইগ্রেশনে এর কাজ: iOS, Android ও Huawei পুশ টোকেন ইমপোর্ট হয় আর কাজ করতে থাকে, কারণ টোকেনগুলো আপনার অ্যাপ ও আপনার key-এর। ইমেইল ও SMS সাবস্ক্রাইবারও ইমপোর্টে চলে আসে। external_user_id ম্যাপ হয় Pushwoosh User ID-তে (OneSignal এক্সপোর্টে এই কলামটা চেয়ে নিন, ডিফল্ট এক্সপোর্টে এটা থাকে না), আর ট্যাগগুলো আপনার এক্সপোর্ট থেকে আবার তৈরি করা হয়। ব্যতিক্রম ওয়েব পুশ: ব্রাউজার সাবস্ক্রিপশন কোনো প্রোভাইডারই স্থানান্তর করতে পারে না, তাই Pushwoosh Web SDK ভিজিটরদের নীরবে আবার সাবস্ক্রাইব করায়।
মূল ফিচার:
- SDK iOS ও Android-এর জন্য, সাথে React Native, Flutter, Unity, Capacitor, Cordova, MAUI, Expo ও আরও
- অডিয়েন্স ইমপোর্ট যা SDK রিলিজের সমান্তরালে চলে, তাই ইউজাররা আপডেট করার আগেই ডিভাইসে পৌঁছানো যায়
- টেস্ট ডিভাইস পাঠানোর আগে আসল ডিভাইসে পুশের প্রিভিউ দেখতে
সুবিধা:
- ইমপোর্টের জন্য অ্যাপ স্টোরে আপডেট ছড়ানোর অপেক্ষা করতে হয় না
- মাইগ্রেশন গাইড অনুযায়ী, 1 জন ডেভেলপারের প্রায় এক দিনের SDK কাজ
প্রাইসিং: push-only প্ল্যান প্রতি 1,000 MAU-তে $7, প্রথম 1,000 MAU ফ্রি। আপনার বর্তমান বিলের সাথে তুলনা করুন OneSignal কস্ট ক্যালকুলেটর দিয়ে।
প্ল্যাটফর্ম পাশাপাশি তুলনা করুন: Pushwoosh vs OneSignal, অথবা দেখুন দাম ও সীমা অনুযায়ী তুলনা করা OneSignal বিকল্পগুলোর বড় তালিকা।
ধাপ 3. রেজিস্ট্রেশন ও ডেলিভারি টেস্ট করুন
3. Apple Push Notifications Console: APNs-এর মাধ্যমে iOS ডেলিভারি টেস্ট করার জন্য সেরা
Push Notifications Console হলো APNs-এর মাধ্যমে টেস্ট নোটিফিকেশন পাঠানোর জন্য Apple-এর ওয়েব টুল। iOS-এ পুশ না এলে প্রোভাইডারের দোষ কিনা, দ্রুত বুঝে নেওয়ার উপায় এটা।
মাইগ্রেশনে এর কাজ: আপনি সরাসরি একটি ডিভাইস টোকেনে পুশ পাঠান আর দেখেন APNs সেটা গ্রহণ ও ডেলিভার করেছে কিনা। এখান থেকে পৌঁছায় কিন্তু নতুন প্রোভাইডার থেকে না পৌঁছালে, আগে প্রোভাইডারের কনফিগারেশন দেখুন।
মূল ফিচার:
- টেস্ট নোটিফিকেশন একটি ডিভাইসে, অ্যাট্রিবিউট বদলে আবার পাঠানোর সুযোগসহ
- ডেলিভারি লগ যা APNs-এর মধ্য দিয়ে নোটিফিকেশনের পথ দেখায়, ডেভেলপমেন্ট এনভায়রনমেন্টের জন্য
- টোকেন যাচাই নির্দিষ্ট এনভায়রনমেন্ট ও পুশ টাইপের জন্য
- ডেলিভারি মেট্রিক টেস্ট ও প্রোডাকশন নোটিফিকেশনের জন্য
সুবিধা:
- সরাসরি Apple থেকে, মাঝে কোনো থার্ড পার্টি নেই
- SDK-কে দোষ দেওয়ার আগে পুশ টোকেন যাচাই করে
4. Firebase Cloud Messaging: টোকেন দিয়ে Android পুশ টেস্ট করার জন্য সেরা
Google Play services আছে এমন ডিভাইসে Android পুশ যায় Firebase Cloud Messaging-এর মাধ্যমে (Google services ছাড়া Huawei ডিভাইস এর বদলে HMS Push Kit ব্যবহার করে)। Firebase কনসোল 1টি রেজিস্ট্রেশন টোকেনে টেস্ট মেসেজ পাঠাতে পারে, যা এটিকে Android বিল্ডের জন্য একটি সহজ পুশ নোটিফিকেশন টেস্টার বানায়। Android-প্রধান বাজারের টিমের কাছে Firebase কনসোল সাধারণত আগে থেকেই পরিচিত।
মাইগ্রেশনে এর কাজ: নতুন SDK একটি ডিভাইস রেজিস্টার করার পর, তার FCM টোকেন কনসোলে পেস্ট করে একটি টেস্ট পাঠান। পৌঁছালে বুঝবেন টোকেন আর Firebase সেটআপ ঠিক আছে।
মূল ফিচার:
- Send test message কনসোল থেকে নির্দিষ্ট FCM রেজিস্ট্রেশন টোকেনে
- কোনো কোড লাগে না দ্রুত যাচাইয়ের জন্য, শুধু ডিভাইস থেকে টোকেনটা পড়ে নিতে হয়
সুবিধা:
- Cloud Messaging ব্যবহারে কোনো খরচ নেই
- Android পুশ ইতিমধ্যে এর মাধ্যমেই চলে
5. Proxyman: SDK-র ট্রাফিক ও payload পরীক্ষা করার জন্য সেরা
Proxyman হলো macOS, Windows ও Linux-এর জন্য একটি HTTP ডিবাগিং প্রক্সি। এটি দেখায় পুশ SDK আসলে কী পাঠাচ্ছে: রেজিস্ট্রেশন কল, user ID আপডেট, ট্যাগ রিকোয়েস্ট।
মাইগ্রেশনে এর কাজ: নতুন SDK দিয়ে অ্যাপ চালিয়ে তার রিকোয়েস্টগুলো দেখুন। কোনো ট্যাগ যদি ডিভাইস থেকে বেরই না হয়, সেটা এখানেই দেখবেন — কোনো সেগমেন্ট খালি আসার অনেক আগে।
মূল ফিচার:
- HTTPS ট্রাফিক ক্যাপচার ডিভাইস, সিমুলেটর ও এমুলেটরের অ্যাপ থেকে
- এক ক্লিকে iOS Simulator ও Android Emulator ক্যাপচার পেইড প্ল্যানে
- Breakpoint ও Map Local/Remote রিকোয়েস্ট ও রেসপন্স এডিট করতে
ধাপ 4. ধাপে ধাপে রোলআউট করুন
6. fastlane: staged রিলিজ অটোমেট করার জন্য সেরা
fastlane হলো iOS ও Android ডিপ্লয়মেন্ট অটোমেট করার একটি ওপেন সোর্স প্ল্যাটফর্ম। মাইগ্রেশনের জন্য এর মূল্য ২টি প্যারামিটারে, যা আপনি রিলিজ lane-এ স্ক্রিপ্ট করে রাখতে পারেন।
মাইগ্রেশনে এর কাজ: upload_to_app_store নেয় phased_release: true, যা আপডেটটা 7 দিনে রিলিজ করে। upload_to_play_store নেয় একটি rollout মান — যত অংশ ইউজার বিল্ডটা পাবেন (10%-এর জন্য 0.1; 1 দিলে রোলআউট সম্পূর্ণ হয়)। মাইগ্রেশন রিলিজ প্রতিবার একই staged পথে যায়, আর কেউ চেকবক্স দিতে ভোলে না।
মূল ফিচার:
- deliver / upload_to_app_store phased_release-সহ
- supply / upload_to_play_store rollout ও release_status-সহ (halted-সহ)
- 1টি lane দুটি স্টোরের জন্য
সুবিধা:
- ওপেন সোর্স
- staged রোলআউটকে ম্যানুয়াল ধাপ নয়, ডিফল্ট বানায়
7. App Store phased release ও Google Play staged rollouts: ক্ষতির পরিধি সীমিত রাখার জন্য সেরা
দুটি স্টোরই একটা আপডেট প্রথমে আপনার ইউজারদের একটা অংশের কাছে পাঠাতে পারে। আপনি যে রিলিজ টুলই ব্যবহার করুন, পুশ SDK সোয়াপের জন্য এটাই নিরাপত্তা জাল।
মাইগ্রেশনে এর কাজ: Pushwoosh-সহ নতুন বিল্ড ইউজারদের একটা ছোট অংশের কাছে পৌঁছায়। ডেলিভারি বা ক্র্যাশ রেট ঠিক না লাগলে, সবার কাছে পৌঁছানোর আগেই রোলআউট থামান। এর মধ্যে যারা আপডেট করেননি, OneSignal তাদের পাঠাতে থাকে, তাই কেউ কোনো ক্যাম্পেইন মিস করেন না।
মূল ফিচার:
- App Store: অটোমেটিক আপডেট চালু থাকা ইউজারদের মধ্যে 7 দিনে 1%, 2%, 5%, 10%, 20%, 50%, তারপর 100%-এ রিলিজ করে। মোট সর্বোচ্চ 30 দিন থামিয়ে রাখা যায়, অথবা যেকোনো সময় সবার জন্য রিলিজ করা যায়
- Google Play: আপনি শতাংশ ঠিক করেন আর হাতে বাড়ান। রোলআউট থামানো ও আবার চালু করা যায়, আর যারা ইতিমধ্যে আপডেট করেছেন তারা বিল্ডটা রেখে দেন
- র্যান্ডম স্যাম্পলিং দুটি স্টোরেই
সুবিধা:
- স্টোরেই বিল্ট-ইন
- খারাপ বিল্ড 1% ইউজারেই থেমে যেতে পারে
ধাপ 5. ক্র্যাশ ও ডেলিভারি মনিটর করুন
8. Firebase Crashlytics: সোয়াপের পর ক্র্যাশ ধরার জন্য সেরা
Firebase Crashlytics Android, Apple, Flutter ও Unity অ্যাপের ক্র্যাশ ও non-fatal error রিপোর্ট করে। পুরো রোলআউট জুড়ে এটা চালু রাখুন আর নতুন বিল্ডকে আগেরটার সাথে তুলনা করুন।
মাইগ্রেশনে এর কাজ: notification handler-এ বা SDK init-এর সময় ক্র্যাশ হলে সেটা প্রথমে এখানেই দেখা যায়। নীরব সমস্যায় সাহায্য করে non-fatal ইভেন্ট: পুশ রেজিস্ট্রেশন ব্যর্থ হলে একটা non-fatal লগ করুন, আর বিল্ড অনুযায়ী সেটা দেখতে পাবেন।
মূল ফিচার:
- ক্র্যাশ রিপোর্ট ইস্যু অনুযায়ী গ্রুপ করা, বিল্ড অনুযায়ী ফিল্টার করা যায়
- Non-fatal ইভেন্ট, ডিভাইসে লগ হয় আর পরের বার অ্যাপ চালু হলে পাঠানো হয়
- অফিশিয়াল SDK Android, Apple, Flutter ও Unity-র জন্য
9. Pushwoosh message statistics: নীরবে ডেলিভারি কমে যাওয়া ধরার জন্য সেরা
পুশ আসা বন্ধ হয়ে গেছে, ক্র্যাশ রিপোর্ট সেটা বলবে না। Pushwoosh পুশ স্ট্যাটিস্টিক্স বলবে।
মাইগ্রেশনে এর কাজ: প্রতিটি পুশের জন্য প্ল্যাটফর্ম অনুযায়ী অডিয়েন্স থেকে সেন্ট, ডেলিভারি ও ওপেন পর্যন্ত ফানেল দেখবেন, সাথে আলাদা একটি error ট্যাব। সুইচের পরের প্রথম ক্যাম্পেইনগুলোকে আগের OneSignal-এর সংখ্যার সাথে তুলনা করুন। iOS ডেলিভারি Android-এর চেয়ে পিছিয়ে থাকলে, কোড দেখার আগে credential দেখুন।
বড় অ্যাপের জন্য ৫ ধাপের মাইগ্রেশন প্ল্যান
কোড ছোঁয়ার আগে OneSignal-এর প্রতিটি কলের তালিকা করুন
সব রিপোজিটরি জুড়ে প্রতিটি SDK কল, wrapper, callback ও টেস্টের তালিকা করুন। এই তালিকাই রিপ্লেসমেন্ট আর কোড রিভিউয়ের চেকলিস্ট হয়ে যায়।
পুশকে ১টি অভ্যন্তরীণ ইন্টারফেসের পেছনে রাখুন
প্রতিটি পুশ কল একটিমাত্র অভ্যন্তরীণ সার্ভিসের মধ্য দিয়ে পাঠান: login, logout, ট্যাগ, নোটিফিকেশন হ্যান্ডলিং। তাহলে মাইগ্রেশনে 50টি জায়গার বদলে ১টি ইমপ্লিমেন্টেশন বদলায়, আর পরের বার প্রোভাইডার বদলানোও সহজ হয়।
protocol PushService { func login(userId: String) func setTags(_ tags: [String: Any]) func handleNotificationOpen(_ payload: [AnyHashable: Any])}১টি রিলিজেই SDK বদলান
একই বিল্ডে Pushwoosh SDK যোগ করুন আর OneSignal SDK সরান। ১টি অ্যাপে ২টি পুশ SDK notification callback নিয়ে প্রতিযোগিতা করে। নতুন বিল্ড রোলআউট হওয়ার সময় পুরোনো ভার্সনের ইউজারদের OneSignal থেকে পাঠানো চালিয়ে যান।
ধাপে ধাপে রিলিজ করুন ও ডেলিভারি মেট্রিক তুলনা করুন
phased release বা staged rollout দিয়ে ইউজারদের একটা ছোট অংশ থেকে শুরু করুন। Crashlytics-এ ক্র্যাশ আর Pushwoosh স্ট্যাটিস্টিক্সে ডেলিভারি দেখুন, তারপর রোলআউট বাড়ান।
ডেলিভারি যাচাই হওয়ার পরই OneSignal থেকে পাঠানো বন্ধ করুন
OneSignal থেকে পাঠানো বন্ধ না করা পর্যন্ত, রোলব্যাক মানে OneSignal থেকেই পাঠাতে থাকা। Pushwoosh ডেলিভারি আর অডিয়েন্স ইমপোর্ট দুটোই নিশ্চিত হলে তবেই এটা বন্ধ করুন।
Pushwoosh-এ প্রোভাইডারের দিকটা আমাদের টিম সামলায়: আপনি পুশ credential আর অডিয়েন্স এক্সপোর্ট পাঠান, আর পরের রিলিজে নতুন SDK শিপ করেন। পূর্ণ মাইগ্রেশন গাইড দেখুন
প্রায়শই জিজ্ঞাসিত প্রশ্ন
সম্পর্কিত আর্টিকেল
সব দেখুন