অ্যাপ স্টোর সাবস্ক্রিপশন ট্র্যাকিং
ইন্টিগ্রেশন ওভারভিউ
Anchor link toApp Store Server Notifications হলো অ্যাপলের সার্ভার-টু-সার্ভার পরিষেবা যা আপনার ব্যাকএন্ডে একটি রিয়েল-টাইম বার্তা পাঠায় যখনই কোনো সাবস্ক্রিপশনের স্ট্যাটাস পরিবর্তন হয়।
Pushwoosh-এর সাথে অ্যাপ স্টোর সার্ভার নোটিফিকেশন সংযোগ করে, আপনি সাবস্ক্রিপশন লাইফসাইকেলের সম্পূর্ণ পর্যায়ে প্রতিক্রিয়া জানাতে পারেন, যার মধ্যে রয়েছে কেনাকাটা, পুনর্নবীকরণ, বাতিলকরণ, বিলিং সমস্যা, মেয়াদ শেষ হওয়া এবং রিফান্ড — আপনার নিজের ব্যাকএন্ড পরিকাঠামো তৈরি না করেই। যখনই কোনো ব্যবহারকারীর অ্যাপ স্টোর অ্যাকাউন্টে সাবস্ক্রিপশনের স্ট্যাটাস পরিবর্তন হয়, অ্যাপল Pushwoosh-কে জানায়, এবং Pushwoosh ব্যবহারকারীর প্রোফাইলে সংশ্লিষ্ট PW_Subscription* ইভেন্ট ফায়ার করে।
ইন্টিগ্রেশনের ধরন
Anchor link toউৎস: অ্যাপ স্টোর সার্ভার নোটিফিকেশন অ্যাপল থেকে Pushwoosh-এ পাঠানো হয়।
ট্র্যাক করা ইভেন্ট
Anchor link toPushwoosh প্রতিটি সমর্থিত অ্যাপ স্টোর নোটিফিকেশনকে একটি ইউনিফাইড PW_Subscription* ইভেন্ট সেটে ম্যাপ করে, যাতে আপনি সাবস্ক্রিপশন লাইফসাইকেলের যেকোনো পর্যায়ে ক্যাম্পেইন ট্রিগার করতে পারেন।
| ইভেন্ট | কখন ফায়ার হয় |
|---|---|
PW_SubscriptionStart | একজন ব্যবহারকারী প্রথমবার সাবস্ক্রিপশন কিনলে। |
PW_SubscriptionRenew | সাবস্ক্রিপশন একটি নতুন বিলিং সময়ের জন্য স্বয়ংক্রিয়ভাবে পুনর্নবীকরণ হলে। |
PW_SubscriptionCancel | একজন ব্যবহারকারী স্বয়ংক্রিয়-পুনর্নবীকরণ বন্ধ করলে। সাবস্ক্রিপশনের মেয়াদ শেষ না হওয়া পর্যন্ত এটি সক্রিয় থাকে। |
PW_SubscriptionResume | একজন ব্যবহারকারী স্বয়ংক্রিয়-পুনর্নবীকরণ পুনরায় সক্রিয় করলে, বা সাবস্ক্রিপশন শেষ হওয়ার আগে পুনরায় সাবস্ক্রাইব করলে। |
PW_SubscriptionBillingIssue | একটি পুনর্নবীকরণ পেমেন্ট ব্যর্থ হলে এবং সাবস্ক্রিপশন অ্যাপলের বিলিং রিট্রাই পিরিয়ডে প্রবেশ করলে। |
PW_SubscriptionRecovered | পূর্বে ব্যর্থ হওয়া একটি পুনর্নবীকরণ সফল হলে এবং সাবস্ক্রিপশন আবার সক্রিয় হলে। |
PW_SubscriptionExpired | সাবস্ক্রিপশন সম্পূর্ণরূপে শেষ হয়ে গেলে এবং আর সক্রিয় না থাকলে। |
PW_SubscriptionRefund | অ্যাপল কেনাকাটার টাকা ফেরত দিলে বা অ্যাক্সেস বাতিল করলে। |
প্রতিটি ইভেন্ট একই অ্যাট্রিবিউট বহন করে:
- productID: সাবস্ক্রিপশনের অ্যাপ স্টোর প্রোডাক্ট আইডেন্টিফায়ার।
- expiresAt: বর্তমান পেইড পিরিয়ড কখন শেষ হবে, সেকেন্ডে একটি ইউনিক্স টাইমস্ট্যাম্প হিসাবে। অ্যাপল এটি প্রদান করলে অন্তর্ভুক্ত করা হয়।
ইভেন্টগুলি কীভাবে অ্যাপ স্টোর সার্ভার নোটিফিকেশনের সাথে ম্যাপ করে
ইন্টিগ্রেশন যাচাইকারী ডেভেলপারদের জন্য, প্রতিটি Pushwoosh ইভেন্ট এই অ্যাপ স্টোর notificationType (এবং subtype) মানগুলির সাথে মিলে যায়:
| Pushwoosh ইভেন্ট | notificationType / subtype |
|---|---|
PW_SubscriptionStart | SUBSCRIBED / INITIAL_BUY |
PW_SubscriptionRenew | DID_RENEW |
PW_SubscriptionCancel | DID_CHANGE_RENEWAL_STATUS / AUTO_RENEW_DISABLED |
PW_SubscriptionResume | DID_CHANGE_RENEWAL_STATUS / AUTO_RENEW_ENABLED, SUBSCRIBED / RESUBSCRIBE |
PW_SubscriptionBillingIssue | DID_FAIL_TO_RENEW |
PW_SubscriptionRecovered | DID_RENEW / BILLING_RECOVERY |
PW_SubscriptionExpired | EXPIRED |
PW_SubscriptionRefund | REFUND, REVOKE |
অন্যান্য নোটিফিকেশন টাইপ, যেমন মূল্য বৃদ্ধি, প্ল্যান পরিবর্তন, অন-হোল্ড এবং কনজাম্পশন রিকোয়েস্ট, স্বীকার করা হয় কিন্তু কোনো ইভেন্ট পোস্ট করে না।
এটি কীভাবে কাজ করে
Anchor link to- একজন ব্যবহারকারীর অ্যাপ স্টোর অ্যাকাউন্টে একটি সাবস্ক্রিপশনের স্ট্যাটাস পরিবর্তন হয় (একটি কেনাকাটা, পুনর্নবীকরণ, বাতিলকরণ, ইত্যাদি)।
- অ্যাপল আপনার Pushwoosh নোটিফিকেশন URL-এ একটি অ্যাপ স্টোর সার্ভার নোটিফিকেশন (V2) পাঠায়।
- Pushwoosh সাইন করা পেলোড ডিকোড করে এবং ট্রানজ্যাকশন থেকে
appAccountTokenপড়ে। - Pushwoosh সেই ডিভাইসটি খুঁজে বের করে যার HWID সেই টোকেনের সাথে মেলে, তার সাথে আবদ্ধ ব্যবহারকারীকে খুঁজে পায় এবং সেই ব্যবহারকারীর জন্য সংশ্লিষ্ট
PW_Subscription*ইভেন্ট পোস্ট করে।
ব্যবহারের ক্ষেত্র
Anchor link toহারিয়ে যাওয়া গ্রাহকদের ফিরিয়ে আনুন: স্বয়ংক্রিয়-পুনর্নবীকরণ নিষ্ক্রিয় করলে সাথে সাথে অ্যাক্সেস শেষ হয় না। সাবস্ক্রিপশনটি পেইড পিরিয়ড শেষ না হওয়া পর্যন্ত সক্রিয় থাকে, এবং এটিই আপনার ব্যবহারকারীকে ফিরিয়ে আনার সুযোগ। PW_SubscriptionCancel-এ, একটি রিটেনশন পুশ সহ একটি Customer Journey চালু করুন, তারা যে ফিচারগুলি হারাবে সে সম্পর্কে একটি ইমেল পাঠান, অথবা অ্যাক্সেস শেষ হওয়ার আগে একটি পুনর্নবীকরণ ডিসকাউন্ট সহ একটি ইন-অ্যাপ বার্তা পাঠান।
নতুন গ্রাহকদের অনবোর্ড করুন: PW_SubscriptionStart-এ একটি ওয়েলকাম সিরিজ ট্রিগার করুন যাতে ব্যবহারকারীরা তাদের প্ল্যান থেকে দ্রুত ভ্যালু পেতে পারে এবং পুনর্নবীকরণের জন্য মঞ্চ প্রস্তুত হয়।
ব্যর্থ পেমেন্ট উদ্ধার করুন: যখন PW_SubscriptionBillingIssue ফায়ার হয়, তখন একটি পুনর্নবীকরণ পেমেন্ট সফল হয়নি এবং সাবস্ক্রিপশনটি অ্যাপলের রিট্রাই উইন্ডোতে থাকে। ব্যবহারকারীকে তাদের পেমেন্ট পদ্ধতি আপডেট করার জন্য অনুরোধ করুন যাতে তারা অ্যাক্সেস না হারায়, এবং PW_SubscriptionRecovered-এর মাধ্যমে ফলো-আপ করুন যখন এটি সমাধান হয়ে যায়।
নিষ্ক্রিয় ব্যবহারকারীদের পুনরায় সক্রিয় করুন: যারা সম্পূর্ণরূপে সাবস্ক্রিপশন ছেড়ে দিয়েছে, তাদের জন্য PW_SubscriptionExpired-এ একটি রিটার্নিং-কাস্টমার অফার সহ একটি রিঅ্যাক্টিভেশন ক্যাম্পেইন শুরু করুন।
ইন্টিগ্রেশন সেট আপ করা
Anchor link toডিভাইসের Pushwoosh HWID-কে appAccountToken হিসাবে সেট করুন
Anchor link toPushwoosh ডিভাইসের HWID থেকে সঠিক ব্যবহারকারীকে শনাক্ত করে, তাই আপনার অ্যাপকে অবশ্যই সাবস্ক্রিপশনটি StoreKit-এর মাধ্যমে কেনার সময় ডিভাইসের Pushwoosh HWID-কে appAccountToken হিসাবে সংযুক্ত করতে হবে।
ডিফল্টরূপে, Pushwoosh iOS SDK ডিভাইসের identifierForVendor (IDFV) কে HWID হিসাবে ব্যবহার করে। IDFV ইতিমধ্যেই একটি UUID, যা অ্যাপল appAccountToken-এর জন্য প্রয়োজনীয় ফরম্যাট। Pushwoosh তারপর স্বয়ংক্রিয়ভাবে সেই ডিভাইসের সাথে বর্তমানে আবদ্ধ ব্যবহারকারীকে খুঁজে বের করে, তাই এটি কাজ করে আপনি আপনার নিজের User ID setUserId দিয়ে অ্যাসাইন করুন বা না করুন।
// Attach the device's Pushwoosh HWID (the default IDFV) as the appAccountTokenvar options: Set<Product.PurchaseOption> = []if let hwid = UIDevice.current.identifierForVendor { options.insert(.appAccountToken(hwid))}
let result = try await product.purchase(options: options)// applicationUsername must be a UUID string to populate appAccountTokenlet payment = SKMutablePayment(product: product)payment.applicationUsername = UIDevice.current.identifierForVendor?.uuidStringSKPaymentQueue.default().add(payment)আপনার Pushwoosh অ্যাপ্লিকেশন কোড খুঁজুন
Anchor link toPushwoosh কন্ট্রোল প্যানেলে আপনার অ্যাপ্লিকেশনটি খুলুন। আপনার অ্যাপ্লিকেশন কোড (ফরম্যাট XXXXX-XXXXX) সাইডবারে প্রজেক্টের নামের নিচে দেখানো হয়েছে।
নোটিফিকেশন URL তৈরি করতে আপনার অ্যাপ্লিকেশন কোডের প্রয়োজন হবে।
অ্যাপ স্টোর কানেক্টে নোটিফিকেশন URL যোগ করুন
Anchor link to- App Store Connect-এ, Apps → আপনার অ্যাপ → App Information ( General-এর অধীনে)-এ যান এবং App Store Server Notifications-এ স্ক্রোল করুন।
- Version 2 নোটিফিকেশন নির্বাচন করুন।
- Production Server URL এবং Sandbox Server URL উভয়কেই সেট করুন:
https://appstore-notifications.pushwoosh.com/appstore/YOUR_APPLICATION_CODE/YOUR_APPLICATION_CODE-কে আগের ধাপ থেকে পাওয়া অ্যাপ্লিকেশন কোড দিয়ে প্রতিস্থাপন করুন। শেষের স্ল্যাশটি রাখুন।
Pushwoosh-এ ইভেন্টগুলি নিশ্চিত করুন
Anchor link toPushwoosh আপনার প্রজেক্টে প্রতিটি PW_Subscription* ইভেন্ট প্রথমবার ঘটার সাথে সাথে productID এবং expiresAt অ্যাট্রিবিউট সহ রেজিস্টার করে। একটি স্যান্ডবক্স পরীক্ষার পরে, Audience → Events খুলুন এবং ইভেন্টগুলি প্রদর্শিত হচ্ছে কিনা তা যাচাই করুন। এরপর সেগুলি সেগমেন্টেশন, পরিসংখ্যান এবং কাস্টমার জার্নির জন্য প্রস্তুত।
আপনার ক্যাম্পেইন তৈরি করুন
Anchor link toযেকোনো PW_Subscription* ইভেন্টে একটি ট্রিগার-ভিত্তিক এন্ট্রি সহ একটি কাস্টমার জার্নি তৈরি করুন, উদাহরণস্বরূপ PW_SubscriptionCancel উইন-ব্যাকের জন্য বা PW_SubscriptionStart অনবোর্ডিংয়ের জন্য, এবং আপনি যে বার্তাগুলি পাঠাতে চান তা যোগ করুন।
পরীক্ষা করা
Anchor link toঅ্যাপ স্টোর সার্ভার নোটিফিকেশন অ্যাপলের স্যান্ডবক্স পরিবেশে ট্রিগার করা যেতে পারে। ইন্টিগ্রেশন যাচাই করতে:
- উপরে বর্ণিত হিসাবে
appAccountTokenসেট করে একটি স্যান্ডবক্স সাবস্ক্রিপশন কিনুন। এটিPW_SubscriptionStartফায়ার করবে। - ডিভাইসের সাবস্ক্রিপশন ম্যানেজমেন্ট স্ক্রিন থেকে স্বয়ংক্রিয়-পুনর্নবীকরণ নিষ্ক্রিয় করুন। এটি
PW_SubscriptionCancelফায়ার করবে। - Pushwoosh কন্ট্রোল প্যানেলে, ব্যবহারকারীর প্রোফাইল খুলুন এবং ইভেন্টস হিস্ট্রি-তে যান।
- নিশ্চিত করুন যে ইভেন্টগুলি কয়েক মুহূর্তের মধ্যে প্রদর্শিত হচ্ছে।