iOS SDK সচরাচর জিজ্ঞাসিত প্রশ্নাবলী
iOS ইন্টিগ্রেশন প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
Anchor link toপ্রশ্ন: আমি আমার iOS প্রজেক্টে Pushwoosh SDK কীভাবে ইনস্টল করতে পারি?
Anchor link toআপনি Swift Package Manager অথবা CocoaPods ব্যবহার করে Pushwoosh SDK ইন্টিগ্রেট করতে পারেন।
প্রশ্ন: আমি Swift Package Manager ব্যবহার করে Pushwoosh SDK কীভাবে ইনস্টল করব?
Anchor link toXcode-এ, Package Dependencies বিভাগে যান এবং নিম্নলিখিত URL ব্যবহার করে প্যাকেজটি যোগ করুন: https://github.com/Pushwoosh/Pushwoosh-XCFramework।
প্রশ্ন: আমি CocoaPods ব্যবহার করে Pushwoosh SDK কীভাবে ইনস্টল করব?
Anchor link toআপনার প্রজেক্টের Podfile খুলুন এবং pod 'PushwooshXCFramework' লাইনটি যোগ করুন। তারপর, টার্মিনালে pod install কমান্ডটি চালান।
প্রশ্ন: Push Notifications সক্রিয় করার জন্য আমার প্রজেক্টে কী কী capabilities যোগ করতে হবে?
Anchor link toআপনার প্রজেক্ট সেটিংসের Signing & Capabilities বিভাগে, আপনাকে Push Notifications এবং Background Modes capabilities যোগ করতে হবে। Background Modes যোগ করার সময়, Remote notifications এর জন্য বক্সটি চেক করা নিশ্চিত করুন।
প্রশ্ন: Time Sensitive Notifications এর জন্য কোন অতিরিক্ত capability প্রয়োজন?
Anchor link toআপনি যদি Time Sensitive Notifications (iOS 15+) ব্যবহার করতে চান, তাহলে আপনাকে Time Sensitive Notifications capability-টিও যোগ করতে হবে।
প্রশ্ন: আমাকে Pushwoosh ইনিশিয়ালাইজেশন কোড কোথায় যোগ করতে হবে?
Anchor link toইনিশিয়ালাইজেশন কোডটি আপনার AppDelegate ক্লাসে যোগ করতে হবে।
প্রশ্ন: SwiftUI-এর AppDelegate-এ আমার কোন ইনিশিয়ালাইজেশন কোড যোগ করা উচিত?
Anchor link toঅনুগ্রহ করে SwiftUI প্রজেক্টে Pushwoosh ইন্টিগ্রেট করার জন্য প্রদত্ত Swift কোড উদাহরণ দেখুন।
প্রশ্ন: একটি স্ট্যান্ডার্ড Swift AppDelegate-এ আমার কোন ইনিশিয়ালাইজেশন কোড যোগ করা উচিত?
Anchor link toঅনুগ্রহ করে একটি স্ট্যান্ডার্ড Swift প্রজেক্টে Pushwoosh ইন্টিগ্রেট করার জন্য প্রদত্ত Swift কোড উদাহরণ দেখুন।
প্রশ্ন: একটি Objective-C AppDelegate-এ আমার কোন ইনিশিয়ালাইজেশন কোড যোগ করা উচিত?
Anchor link toঅনুগ্রহ করে একটি Objective-C প্রজেক্টে Pushwoosh ইন্টিগ্রেট করার জন্য প্রদত্ত Objective-C কোড উদাহরণ দেখুন।
প্রশ্ন: আমার Info.plist ফাইলে কোন কী (keys) যোগ করতে হবে?
Anchor link toআপনাকে আপনার অ্যাপের Info.plist ফাইলে আপনার Application Code-এ সেট করা Pushwoosh_APPID কী এবং আপনার API Token-এ সেট করা PW_API_TOKEN কী যোগ করতে হবে।
প্রশ্ন: মেসেজ ডেলিভারি ট্র্যাকিংয়ের উদ্দেশ্য কী?
Anchor link toPushwoosh, Notification Service Extension ব্যবহার করে পুশ নোটিফিকেশনের জন্য ডেলিভারি ইভেন্ট ট্র্যাকিং সমর্থন করে।
প্রশ্ন: আমি আমার প্রজেক্টে একটি Notification Service Extension কীভাবে যোগ করব?
Anchor link toXcode-এ, File > New > Target…-এ যান, Notification Service Extension নির্বাচন করুন, এবং Next চাপুন। একটি টার্গেটের নাম লিখুন এবং Finish চাপুন। সক্রিয় করার জন্য অনুরোধ করা হলে, Cancel চাপুন।
প্রশ্ন: আমি Notification Service Extension-এ Pushwoosh SDK কীভাবে যোগ করব?
Anchor link toআপনার Notification Service Extension-এর প্রধান .swift বা .m ফাইলে প্রদত্ত Swift বা Objective-C কোড স্নিপেট যোগ করুন। এই কোডটি নোটিফিকেশন অনুরোধ হ্যান্ডেল করার জন্য PWNotificationExtensionManager ব্যবহার করে।
প্রশ্ন: App Groups-এর উদ্দেশ্য কী?
Anchor link toNotification Service Extension-কে মূল অ্যাপ্লিকেশনের সাথে যোগাযোগ করার অনুমতি দেওয়ার জন্য App Groups capability প্রয়োজন।
প্রশ্ন: আমি আমার মূল টার্গেট এবং Notification Service Extension-এর জন্য App Groups কীভাবে সক্রিয় করব?
Anchor link toউভয় টার্গেটের জন্য, Signing & Capabilities-এ যান, App Groups capability যোগ করুন, এবং + বোতাম টিপে একটি নতুন গ্রুপ তৈরি করুন। নিশ্চিত করুন যে গ্রুপের নাম group. দিয়ে শুরু হয় এবং উভয় টার্গেটের জন্য একই গ্রুপের নাম ব্যবহার করুন।
প্রশ্ন: App Groups-এর জন্য আমার মূল টার্গেটের Info.plist-এ কোন কী যোগ করতে হবে?
Anchor link toআপনার মূল টার্গেটের Info.plist-এ, PW_APP_GROUPS_NAME কী যোগ করুন এবং এর মান আপনার App Groups গ্রুপের নামে সেট করুন।
প্রশ্ন: আমার Notification Service Extension-এর Info.plist-এ কোন কী যোগ করতে হবে?
Anchor link toআপনার Notification Service Extension-এর Info.plist-এ, PW_APP_GROUPS_NAME কী (আপনার App Groups-এর নামে সেট করা) এবং Pushwoosh_APPID কী (আপনার Application Code-এ সেট করা) যোগ করুন।
প্রশ্ন: আমি Pushwoosh ইন্টিগ্রেশন কীভাবে যাচাই করব?
Anchor link toআপনার প্রজেক্ট বিল্ড এবং রান করার পরে, Pushwoosh Control Panel-এ যান এবং আপনার অ্যাপ্লিকেশনে একটি পুশ নোটিফিকেশন পাঠান। আপনার ডিভাইসে নোটিফিকেশনটি দেখতে পাওয়া উচিত।
প্রশ্ন: Pushwoosh SDK-তে পুশ নোটিফিকেশন হ্যান্ডেল করার জন্য দুটি প্রধান কলব্যাক কী কী?
Anchor link toদুটি প্রধান কলব্যাক হলো onMessageReceived এবং onMessageOpened।
প্রশ্ন: onMessageReceived কলব্যাক কখন ইনভোক করা হয়?
Anchor link toযখন অ্যাপ্লিকেশন দ্বারা একটি পুশ নোটিফিকেশন গৃহীত হয়, তখন onMessageReceived মেথডটি কল করা হয়।
প্রশ্ন: onMessageOpened কলব্যাক কখন ইনভোক করা হয়?
Anchor link toযখন ব্যবহারকারী একটি পুশ নোটিফিকেশনের সাথে ইন্টারঅ্যাক্ট করে এবং খোলে, তখন onMessageOpened মেথডটি কল করা হয়।
প্রশ্ন: আমি একটি প্রাপ্ত বা খোলা পুশ নোটিফিকেশনের পেলোড কীভাবে অ্যাক্সেস করতে পারি?
Anchor link toএকটি PWMessage অবজেক্টের পেলোড (onMessageReceived এবং onMessageOpened কলব্যাকে পাস করা) তার payload প্রপার্টির মাধ্যমে অ্যাক্সেস করা যেতে পারে।
প্রশ্ন: আমি Pushwoosh-এ একটি ইউজার আইডি কীভাবে সেট করতে পারি?
Anchor link toPushwoosh.sharedInstance() অবজেক্টের setUserId(_:) মেথডটি ব্যবহার করুন, ব্যবহারকারীর আইডি একটি আর্গুমেন্ট হিসাবে পাস করে।
প্রশ্ন: আমি Pushwoosh-এ একজন ব্যবহারকারীর ইমেল ঠিকানা কীভাবে সেট করতে পারি?
Anchor link toPushwoosh.sharedInstance() অবজেক্টের setEmail(_:) মেথডটি ব্যবহার করুন, ব্যবহারকারীর ইমেল প্রদান করে।
আমি Pushwoosh-এ ট্যাগ হিসাবে অতিরিক্ত ব্যবহারকারীর তথ্য কীভাবে সেট করতে পারি?
Anchor link toPushwoosh.sharedInstance() অবজেক্টের setTags(_:) মেথডটি ব্যবহার করুন, একটি ডিকশনারি পাস করে যেখানে কী (keys) হলো ট্যাগের নাম এবং ভ্যালু (values) হলো সংশ্লিষ্ট ট্যাগের মান।
আমি অতিরিক্ত অ্যাট্রিবিউট সহ একটি ব্যবহারকারী ইভেন্ট কীভাবে ট্র্যাক করতে পারি?
Anchor link toPWInAppManager.shared()-এর postEvent(_:withAttributes:) মেথডটি ব্যবহার করুন, ইভেন্টের নাম (যেমন, "login") এবং অ্যাট্রিবিউটের একটি ডিকশনারি (যেমন, "name", "last_login") প্রদান করে।
প্রশ্ন: আমি পণ্যের বিবরণ সহ একটি ব্যবহারকারী ক্রয় ইভেন্ট কীভাবে ট্র্যাক করতে পারি?
Anchor link toPWInAppManager.shared()-এর postEvent(_:withAttributes:) মেথডটি "purchase" ইভেন্টের নাম এবং পণ্যের বিবরণ যেমন "product_id", "product_name", "price", এবং "quantity" সম্বলিত একটি ডিকশনারি সহ ব্যবহার করুন।
প্রশ্ন: আমি রিচ মিডিয়া প্রেজেন্টেশন হ্যান্ডেল করার জন্য একটি ডেলিগেট কীভাবে সেট আপ করব?
Anchor link toআপনার ভিউ কন্ট্রোলার বা অন্য কোনো উপযুক্ত ক্লাসে, PWRichMediaPresentingDelegate প্রোটোকল মেনে চলুন এবং PWRichMediaManager.shared()-এর delegate প্রপার্টি আপনার কনফর্মিং ইনস্ট্যান্সে সেট করুন।
প্রশ্ন: আমি রিচ মিডিয়ার প্রেজেন্টেশন স্টাইল কীভাবে কনফিগার করতে পারি?
Anchor link toconfigureModalWindow(with:present:dismiss:) মেথড ব্যবহার করে মোডাল উইন্ডো পজিশন এবং প্রেজেন্ট/ডিসমিস অ্যানিমেশনের মতো প্রপার্টি কনফিগার করতে PWModalWindowConfiguration.shared() অবজেক্টটি ব্যবহার করুন।
প্রশ্ন: আমি রিচ মিডিয়া ডেলিগেট মেথডগুলিতে কোন তথ্য অ্যাক্সেস করতে পারি?
Anchor link toডেলিগেট মেথডগুলি PWRichMedia অবজেক্টে অ্যাক্সেস প্রদান করে, যা রিচ মিডিয়া কন্টেন্ট সম্পর্কে তথ্য ধারণ করে, যার মধ্যে তার pushPayload অন্তর্ভুক্ত। presentingDidFailForRichMedia:withError: মেথডটি ব্যর্থতার বর্ণনা দিয়ে একটি Error অবজেক্টও প্রদান করে।
ট্রাবলশুটিং
Anchor link toপ্রশ্ন: “Your provisioning profile does not have APS entry” ত্রুটি
Anchor link toআপনি যদি “Your provisioning profile does not have APS entry.” ত্রুটি বার্তাটি দেখেন, তাহলে নিশ্চিত করুন যে আপনার প্রভিশনিং প্রোফাইলটি পুশ সামঞ্জস্যপূর্ণ এবং এতে production বা development মান সহ aps-environment স্ট্রিংটি রয়েছে। এটি পরীক্ষা করার সবচেয়ে সহজ উপায় হলো যেকোনো টেক্সট এডিটরে মোবাইল প্রভিশনিং প্রোফাইলটি খোলা এবং aps-environment স্ট্রিংটি খোঁজা। এটি সেখানে থাকা উচিত।
যদি এটি থাকে, এবং আপনি ত্রুটিটি পেতে থাকেন, তার মানে হলো XCode এখনও একটি “নন পুশ-সামঞ্জস্যপূর্ণ” প্রোফাইল বেছে নিচ্ছে। অনুগ্রহ করে নিশ্চিত করুন যে আপনি সঠিকটি দিয়ে সাইন করছেন - কখনও কখনও যদি আপনার একই App ID-এর জন্য দুটি প্রোফাইল থাকে তবে XCode জিনিসগুলি গোলমাল করে এবং পুরানোটি দিয়ে সাইন করে।
প্রস্তাবিত পদক্ষেপগুলি হলো:
- সমস্ত XCode প্রোফাইল সরিয়ে ফেলুন;
- একটি এবং একমাত্র নতুন প্রোফাইল যোগ করুন;
- অ্যাপটি পুনরায় বিল্ড করুন।
প্রশ্ন: iOS পুশ টোকেন এবং hwid দেখতে কেমন?
Anchor link toiOS ডিভাইস পুশ টোকেন হলো 64টি হেক্সাডেসিমেল চিহ্ন সহ স্ট্রিং। পুশ টোকেন উদাহরণ:
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
নিশ্চিত করুন যে আপনার API অনুরোধে নির্দিষ্ট ডিভাইসগুলিকে টার্গেট করার সময় আপনি যে iOS পুশ টোকেনগুলি ব্যবহার করেন সেগুলি ছোট হাতের অক্ষরে থাকে।
Pushwoosh ডিভাইস HWID হিসাবে IDFV ব্যবহার করে। মনে রাখবেন যে ব্যবহারকারী যদি একটি নির্দিষ্ট ভেন্ডরের সমস্ত অ্যাপ পুনরায় ইনস্টল করে তবে এটি পরিবর্তন হতে পারে।
CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
প্রশ্ন: আমার অ্যাপ চলার সময় আমি ব্যানার কীভাবে চালু এবং বন্ধ করব?
Anchor link toডিফল্টরূপে আমাদের সর্বশেষ iOS SDK অ্যাপটি ফোরগ্রাউন্ডে চলার সময় নোটিফিকেশন ব্যানার প্রদর্শন করে।
আপনি Info.plist-এ নিম্নলিখিত ফ্ল্যাগগুলি পরিবর্তন করে এই আচরণটি নিয়ন্ত্রণ করতে পারেন:
ফ্ল্যাগ Pushwoosh_ALERT_TYPE – স্ট্রিং টাইপ, মানগুলি হলো:
BANNER– ডিফল্ট মান, অ্যাপ-মধ্যস্থ ব্যানার সতর্কতা প্রদর্শন করেALERT– সতর্কতা নোটিফিকেশনNONE– অ্যাপ ফোরগ্রাউন্ডে থাকাকালীন নোটিফিকেশন দেখাবেন না
প্রশ্ন: Test Devices-এ ব্যবহার করার জন্য আমি আমার iOS ডিভাইস পুশ টোকেন কীভাবে পাব?
Anchor link toআপনার iOS ডিভাইস পুশ টোকেন পেতে,
- Xcode => Devices & Simulators খুলুন;
- আপনার কম্পিউটারের সাথে টেস্ট ডিভাইসটি সংযুক্ত করুন;
- বাম দিকের ডিভাইসের তালিকা থেকে আপনার সংযুক্ত ডিভাইসটি নির্বাচন করুন;
- Open Console বোতামে ক্লিক করুন।

যে অ্যাপ্লিকেশনটির জন্য আপনার ডিভাইস পুশ টোকেন প্রয়োজন সেটি চালু করুন, এবং “Registered for push notifications” লাইনে আপনার 64টি হেক্সাডেসিমেল অক্ষরের ডিভাইস পুশ টোকেনটি খুঁজুন:

প্রশ্ন: আমি আমার অ্যাপ আনইনস্টল করার পর এবং অল্প সময়ের মধ্যে পুনরায় ইনস্টল করার পর ব্যাজগুলি কেন ক্লিয়ার হয় না?
Anchor link toএটি একটি প্রত্যাশিত আচরণ - ব্যাজগুলি iOS নিজেই পরিচালনা করে এবং এর মানগুলি অ্যাপ্লিকেশন প্রেফারেন্সে সংরক্ষণ করা হয়, যা আপনি আপনার অ্যাপ আনইনস্টল করার সাথে সাথে সরানো হয় না। অবিলম্বে পুনরায় ইনস্টল করার ক্ষেত্রে একটি ব্যাজ মান কিছু সময়ের জন্য সেখানে থেকে যায়, যার ফলে একটি অ্যাপ পুনরায় ইনস্টল করার পরে একই ব্যাজ দেখানো হয়।