iOS SDK 7.0+ অ্যাডভান্সড ইন্টিগ্রেশন গাইড
এই বিভাগটি Pushwoosh iOS SDK-এর অ্যাডভান্সড ইন্টিগ্রেশন সম্পর্কে তথ্য প্রদান করে।
ব্যাকগ্রাউন্ড মোড
Anchor link toএই কার্যকারিতা সক্ষম করতে, আপনাকে আপনার প্রজেক্টে ব্যাকগ্রাউন্ড মোড যোগ করতে হবে।
ব্যাকগ্রাউন্ড মোড সক্রিয় করার পদক্ষেপ
Anchor link to- Xcode-এ আপনার প্রজেক্ট খুলুন এবং Project Navigator-এ এটি নির্বাচন করুন।
- বাম প্যানেল থেকে আপনার অ্যাপ টার্গেট নির্বাচন করুন।
- Signing & Capabilities ট্যাবে নেভিগেট করুন।
- উপরের-বাম কোণে + Capability বোতামে ক্লিক করুন।
- তালিকা থেকে Background Modes অনুসন্ধান করুন এবং নির্বাচন করুন।
- Background Modes বিভাগে, বক্সটি চেক করে Remote notifications সক্রিয় করুন।
একবার সম্পন্ন হলে, আপনার অ্যাপ ব্যাকগ্রাউন্ডে চলার সময় সাইলেন্ট পুশ নোটিফিকেশন সহ পুশ নোটিফিকেশনগুলি পরিচালনা করতে সক্ষম হবে।
ফোরগ্রাউন্ড মোড
Anchor link toডিফল্টরূপে, অ্যাপটি ফোরগ্রাউন্ডে চলার সময় Pushwoosh iOS SDK নোটিফিকেশন ব্যানার প্রদর্শন করে।
আপনি আপনার কোডে (অর্থাৎ, আপনার AppDelegate-এ) নিম্নলিখিত বুলিয়ান ফ্ল্যাগ সেট করে এই আচরণ নিয়ন্ত্রণ করতে পারেন:
// ফোরগ্রাউন্ড নোটিফিকেশন নিষ্ক্রিয় করতে false সেট করুন, সক্রিয় করতে truePushwoosh.configure.showPushnotificationAlert = true// ফোরগ্রাউন্ড নোটিফিকেশন নিষ্ক্রিয় করতে 0 সেট করুন, সক্রিয় করতে 1[[Pushwoosh configure] setShowPushnotificationAlert:0];লগ লেভেল
Anchor link toPushwoosh iOS SDK নিম্নলিখিত লগিং লেভেল সমর্থন করে:
NONE- SDK থেকে কোনো লগ নেই।ERROR- কনসোলে শুধুমাত্র ত্রুটির বার্তা প্রদর্শন করে।WARNING- ত্রুটির পাশাপাশি সতর্কতা প্রদর্শন করে।INFO- তথ্যমূলক বার্তা অন্তর্ভুক্ত করে (ডিফল্ট সেটিং)।DEBUG- বিস্তারিত ডিবাগ তথ্য অন্তর্ভুক্ত করে।
ডিফল্টরূপে, লগিং লেভেল INFO-তে সেট করা থাকে, যা নিশ্চিত করে যে SDK ডেভেলপার কনসোলকে বিশৃঙ্খল না করে প্রাসঙ্গিক তথ্য প্রদান করে।
লগিং লেভেল পরিবর্তন করতে, আপনার অ্যাপের Info.plist ফাইলে Pushwoosh_LOG_LEVEL কী আপডেট করুন:
<key>Pushwoosh_LOG_LEVEL</key><string>YOUR_LOG_LEVEL</string>বিকল্পভাবে, আপনি নীচের কোড স্নিপেট ব্যবহার করে লগ লেভেল পরিবর্তন করতে পারেন:
Pushwoosh.Debug.setLogLevel(.PW_LL_DEBUG)YOUR_LOG_LEVEL-কে কাঙ্ক্ষিত লেভেল (যেমন, DEBUG বা ERROR) দিয়ে প্রতিস্থাপন করুন।
কাস্টম UNNotificationCenterDelegate
Anchor link toআপনি যদি নিজের UNNotificationCenterDelegate ব্যবহার করতে চান (উদাহরণস্বরূপ, লোকাল নোটিফিকেশনের জন্য), সঠিক আচরণের জন্য আপনার Pushwoosh SDK-কে এটি সম্পর্কে জানানো উচিত। আপনি Pushwoosh ইনস্ট্যান্সের notificationCenterDelegateProxy প্রপার্টি দিয়ে এটি করতে পারেন:
Pushwoosh.configure?.notificationCenterDelegateProxy.add(my_delegate)[Pushwoosh.configure.notificationCenterDelegateProxy addNotificationCenterDelegate:my_delegate];তারপর, আপনার ডেলিগেটে UNNotificationCenterDelegate মেথডগুলি ইমপ্লিমেন্ট করুন:
func userNotificationCenter( _ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { if (!PWMessage.isPushwooshMessage(notification.request.content.userInfo)) { // আপনার নোটিফিকেশন হ্যান্ডেল করুন completionHandler(UNNotificationPresentationOptions.alert) }}
func userNotificationCenter( _ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) { // আপনার নোটিফিকেশন হ্যান্ডেল করুন completionHandler() }}- (void)userNotificationCenter:(UNNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { if (![PWMessage isPushwooshMessage:notification.request.content.userInfo]) { // আপনার মেসেজ হ্যান্ডেল করুন completionHandler(UNNotificationPresentationOptionAlert); }}
- (void)userNotificationCenter:(UNNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler { if (![PWMessage.isPushwooshMessage:response.notification.request.content.userInfo]) { // আপনার মেসেজ হ্যান্ডেল করুন completionHandler(); }}Pushwoosh Lazy Initialization
Anchor link toPushwoosh_LAZY_INITIALIZATION ফ্ল্যাগটি অ্যাপ্লিকেশন শুরু হওয়ার সময় Pushwoosh SDK-এর স্বয়ংক্রিয় ইনিশিয়ালাইজেশন প্রতিরোধ করে। এটি Pushwoosh SDK পরিষেবাগুলি কখন শুরু হবে তার উপর আরও নিয়ন্ত্রণ দেয়।
যখন এই ফ্ল্যাগটি সক্রিয় থাকে, তখন Pushwoosh iOS SDK মেথডগুলি স্পষ্টভাবে কল না করা পর্যন্ত Pushwoosh SDK তার পরিষেবাগুলি শুরু করে না।
Info.plist-এ নিম্নলিখিত এন্ট্রি যোগ করুন:
<key>Pushwoosh_LAZY_INITIALIZATION</key><true/>ব্যবহারের ক্ষেত্র
-
নিয়ন্ত্রিত SDK ইনিশিয়ালাইজেশন – Pushwoosh_LAZY_INITIALIZATION ফ্ল্যাগটি Pushwoosh SDK স্টার্টআপ বিলম্বিত করার অনুমতি দেয়, যা পুশ পরিষেবাগুলি কখন সক্রিয় হবে তার উপর আরও নিয়ন্ত্রণ দেয়।
-
বিলম্বিত পুশ অ্যাক্টিভেশন – কিছু অ্যাপ্লিকেশনে, পুশ নোটিফিকেশন শুধুমাত্র নির্দিষ্ট শর্তের অধীনে ইনিশিয়ালাইজ করা উচিত। এই ফ্ল্যাগটি সক্রিয় করা নিশ্চিত করে যে Pushwoosh SDK শুধুমাত্র স্পষ্টভাবে অনুরোধ করা হলেই শুরু হবে।
-
ব্যবহারকারী-নির্দিষ্ট পুশ কনফিগারেশন – কিছু অ্যাপ্লিকেশনের ব্যবহারকারীর পছন্দ বা অ্যাকাউন্ট সেটিংসের উপর ভিত্তি করে পুশ নোটিফিকেশন সেটিংস কাস্টমাইজ করার প্রয়োজন হতে পারে। লেজি ইনিশিয়ালাইজেশনের সাথে, উপযুক্ত কনফিগারেশন নির্ধারণ করার পরেই Pushwoosh SDK শুরু হয়।
Info.plist প্রপার্টিগুলির সম্পূর্ণ তালিকা
Anchor link to| প্রপার্টি | বিবরণ | সম্ভাব্য মান |
|---|---|---|
Pushwoosh_APPID | প্রোডাকশন বিল্ডের জন্য Pushwoosh অ্যাপ্লিকেশন আইডি সেট করে। | XXXXX-XXXXX Type: String |
Pushwoosh_APPID_Dev | ডেভেলপমেন্ট বিল্ডের জন্য Pushwoosh অ্যাপ্লিকেশন আইডি সেট করে। | XXXXX-XXXXX Type: String |
Pushwoosh_SHOW_ALERT | নোটিফিকেশন ফোরগ্রাউন্ড অ্যালার্ট দেখায়। | YES (default) / NO Type: Boolean |
Pushwoosh_ALERT_TYPE | নোটিফিকেশন অ্যালার্ট স্টাইল সেট করে। | BANNER (default) / ALERT / NONE Type: String |
Pushwoosh_BASEURL | Pushwoosh সার্ভারের বেস URL ওভাররাইড করে। | https://cp.pushwoosh.com/json/1.3/ (default) Type: String |
Pushwoosh_AUTO_ACCEPT_DEEP_LINK_FOR_SILENT_PUSH | যদি YES হয়, সাইলেন্ট পুশে প্রাপ্ত ডিপ লিঙ্কগুলি স্বয়ংক্রিয়ভাবে প্রসেস করা হবে। | YES (default) / NO Type: Boolean |
Pushwoosh_ALLOW_SERVER_COMMUNICATION | SDK-কে Pushwoosh সার্ভারে নেটওয়ার্ক অনুরোধ পাঠানোর অনুমতি দেয়। | YES (default) / NO Type: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATA | SDK-কে ডিভাইসের ডেটা (OS সংস্করণ, লোকেল এবং মডেল) সংগ্রহ করে সার্ভারে পাঠানোর অনুমতি দেয়। | YES (default) / NO Type: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_OS_VERSION | SDK-কে ডিভাইসের OS সংস্করণ সংগ্রহ করে সার্ভারে পাঠানোর অনুমতি দেয়। | YES (default) / NO Type: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALE | SDK-কে ডিভাইস লোকেল সংগ্রহ করে সার্ভারে পাঠানোর অনুমতি দেয়। | YES (default) / NO Type: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODEL | SDK-কে ডিভাইস মডেল সংগ্রহ করে সার্ভারে পাঠানোর অনুমতি দেয়। | YES (default) / NO Type: Boolean |
Pushwoosh_LOG_LEVEL | Pushwoosh SDK লগিং লেভেল। বিস্তারিত জানতে, লগ লেভেল নিয়ন্ত্রণ দেখুন। | NONE / ERROR / WARNING / INFO (default) / DEBUG / VERBOSE Type: String |
Pushwoosh_PURCHASE_TRACKING_ENABLED | SDK-কে ইন-অ্যাপ পারচেজ ট্র্যাক করার অনুমতি দেয়। Customer Journey Builder-এর জন্য প্রয়োজন। | YES / NO (default) Type: Boolean |