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 কমান্ডটি চালান।
প্রশ্ন: পুশ নোটিফিকেশন সক্রিয় করতে আমার প্রজেক্টে কোন 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 ফাইলে কোন কী যোগ করতে হবে?
Anchor link toআপনাকে আপনার অ্যাপের Info.plist ফাইলে Pushwoosh_APPID কী আপনার অ্যাপ্লিকেশন কোডে সেট করতে হবে এবং PW_API_TOKEN কী আপনার API টোকেনে সেট করতে হবে।
প্রশ্ন: মেসেজ ডেলিভারি ট্র্যাকিংয়ের উদ্দেশ্য কী?
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 কী (আপনার অ্যাপ্লিকেশন কোডে সেট করা) যোগ করুন।
প্রশ্ন: আমি কীভাবে 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(_:) মেথডটি ব্যবহার করুন, একটি ডিকশনারি পাস করে যেখানে কীগুলি হল ট্যাগের নাম এবং মানগুলি হল সংশ্লিষ্ট ট্যাগের মান।
প্রশ্ন: আমি কীভাবে অতিরিক্ত অ্যাট্রিবিউট সহ একটি ব্যবহারকারী ইভেন্ট ট্র্যাক করতে পারি?**
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 toPWModalWindowConfiguration.shared() অবজেক্টটি ব্যবহার করে configureModalWindow(with:present:dismiss:) মেথডের মাধ্যমে মোডাল উইন্ডো পজিশন এবং প্রেজেন্ট/ডিসমিস অ্যানিমেশনের মতো প্রপার্টি কনফিগার করুন।
প্রশ্ন: রিচ মিডিয়া ডেলিগেট মেথডগুলিতে আমি কোন তথ্য অ্যাক্সেস করতে পারি?**
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 এখনও একটি “নন পুশ-সামঞ্জস্যপূর্ণ” প্রোফাইল বেছে নিচ্ছে। অনুগ্রহ করে নিশ্চিত করুন যে আপনি সঠিকটি দিয়ে সাইন করছেন - কখনও কখনও যদি আপনার একই অ্যাপ আইডির জন্য দুটি প্রোফাইল থাকে তবে XCode জিনিসগুলি গোলমাল করে এবং পুরানোটি দিয়ে সাইন করে।
প্রস্তাবিত পদক্ষেপগুলি হল:
- সমস্ত XCode প্রোফাইল সরিয়ে ফেলুন;
- একটি এবং শুধুমাত্র নতুন প্রোফাইলটি যোগ করুন;
- অ্যাপটি পুনরায় বিল্ড করুন।
প্রশ্ন: iOS পুশ টোকেন এবং hwid দেখতে কেমন?
Anchor link toiOS ডিভাইস পুশ টোকেন হল 64টি হেক্সাডেসিমেল প্রতীক সহ স্ট্রিং। পুশ টোকেনের উদাহরণ:
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
নিশ্চিত করুন যে আপনার API অনুরোধে নির্দিষ্ট ডিভাইসগুলিকে টার্গেট করার সময় আপনি যে iOS পুশ টোকেনগুলি ব্যবহার করেন সেগুলি ছোট হাতের অক্ষরে আছে।
Pushwoosh IDFV-কে ডিভাইস HWID হিসাবে ব্যবহার করে। মনে রাখবেন যে ব্যবহারকারী যদি একটি নির্দিষ্ট বিক্রেতার সমস্ত অ্যাপ পুনরায় ইনস্টল করে তবে এটি পরিবর্তন হতে পারে।
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 নিজেই পরিচালনা করে এবং এর মানগুলি অ্যাপ্লিকেশন প্রেফারেন্সে সংরক্ষণ করা হয়, যা আপনি আপনার অ্যাপ আনইনস্টল করার সময় সঙ্গে সঙ্গে সরানো হয় না। অবিলম্বে পুনরায় ইনস্টলেশনের ক্ষেত্রে একটি ব্যাজের মান কিছু সময়ের জন্য সেখানে থেকে যায়, যার ফলে একটি অ্যাপ পুনরায় ইনস্টল করার পরে একই ব্যাজ দেখানো হয়।