iOS SDK উন্নত ইন্টিগ্রেশন গাইড
এই বিভাগটি 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-এ) নিম্নলিখিত বুলিয়ান ফ্ল্যাগ সেট করে এই আচরণ নিয়ন্ত্রণ করতে পারেন:
// Set false to disable foreground notifications, true to enable itPushwoosh.sharedInstance().showPushnotificationAlert = true// Set 0 to disable foreground notifications, 1 to enable it[[Pushwoosh sharedInstance] 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)আপনার পছন্দসই লেভেল (যেমন, DEBUG বা ERROR) দিয়ে YOUR_LOG_LEVEL প্রতিস্থাপন করুন।
কাস্টম UNNotificationCenterDelegate
Anchor link toআপনি যদি আপনার নিজস্ব UNNotificationCenterDelegate ব্যবহার করতে চান (উদাহরণস্বরূপ, স্থানীয় নোটিফিকেশনের জন্য), তাহলে সঠিক আচরণের জন্য Pushwoosh SDK-কে এটি সম্পর্কে অবহিত করা উচিত। আপনি Pushwoosh ইনস্ট্যান্সের notificationCenterDelegateProxy প্রপার্টি ব্যবহার করে এটি করতে পারেন:
Pushwoosh.sharedInstance()?.notificationCenterDelegateProxy.add(my_delegate)[Pushwoosh.sharedInstance.notificationCenterDelegateProxy addNotificationCenterDelegate:my_delegate];তারপর, আপনার ডেলিগেটে UNNotificationCenterDelegate পদ্ধতিগুলি প্রয়োগ করুন:
func userNotificationCenter( _ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { if (!PWMessage.isPushwooshMessage(notification.request.content.userInfo)) { // Handle your notification completionHandler(UNNotificationPresentationOptions.alert) }}
func userNotificationCenter( _ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) { // Handle your notification completionHandler() }}- (void)userNotificationCenter:(UNNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { if (![PWMessage isPushwooshMessage:notification.request.content.userInfo]) { // Handle your message completionHandler(UNNotificationPresentationOptionAlert); }}
- (void)userNotificationCenter:(UNNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler { if (![PWMessage.isPushwooshMessage:response.notification.request.content.userInfo]) { // Handle your message completionHandler(); }}Pushwoosh লেজি ইনিশিয়ালাইজেশন
Anchor link toPushwoosh_LAZY_INITIALIZATION ফ্ল্যাগ অ্যাপ্লিকেশন শুরু হওয়ার সময় Pushwoosh SDK-এর স্বয়ংক্রিয় ইনিশিয়ালাইজেশন প্রতিরোধ করে। এটি Pushwoosh SDK পরিষেবাগুলি কখন শুরু হবে তার উপর আরও নিয়ন্ত্রণ দেয়।
যখন এই ফ্ল্যাগ সক্ষম করা হয়, তখন Pushwoosh SDK তার পরিষেবাগুলি শুরু করে না যতক্ষণ না Pushwoosh iOS 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 টাইপ: স্ট্রিং |
Pushwoosh_APPID_Dev | ডেভেলপমেন্ট বিল্ডের জন্য Pushwoosh অ্যাপ্লিকেশন আইডি সেট করে। | XXXXX-XXXXX টাইপ: স্ট্রিং |
Pushwoosh_SHOW_ALERT | নোটিফিকেশন ফোরগ্রাউন্ড অ্যালার্ট দেখায়। | YES (ডিফল্ট) / NO টাইপ: বুলিয়ান |
Pushwoosh_ALERT_TYPE | নোটিফিকেশন অ্যালার্ট স্টাইল সেট করে। | BANNER (ডিফল্ট) / ALERT / NONE টাইপ: স্ট্রিং |
Pushwoosh_BASEURL | Pushwoosh সার্ভার বেস URL ওভাররাইড করে। | https://cp.pushwoosh.com/json/1.3/ (ডিফল্ট) টাইপ: স্ট্রিং |
Pushwoosh_AUTO_ACCEPT_DEEP_LINK_FOR_SILENT_PUSH | যদি YES হয়, সাইলেন্ট পুশে প্রাপ্ত ডিপ লিংক স্বয়ংক্রিয়ভাবে প্রক্রিয়া করা হবে। | YES (ডিফল্ট) / NO টাইপ: বুলিয়ান |
Pushwoosh_ALLOW_SERVER_COMMUNICATION | SDK-কে Pushwoosh সার্ভারগুলিতে নেটওয়ার্ক অনুরোধ পাঠাতে অনুমতি দেয়। | YES (ডিফল্ট) / NO টাইপ: বুলিয়ান |
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATA | SDK-কে ডিভাইস ডেটা (OS সংস্করণ, লোকাল এবং মডেল) সংগ্রহ করে সার্ভারে পাঠাতে অনুমতি দেয়। | YES (ডিফল্ট) / NO টাইপ: বুলিয়ান |
Pushwoosh_ALLOW_COLLECTING_DEVICE_OS_VERSION | SDK-কে ডিভাইসের OS সংস্করণ সংগ্রহ করে সার্ভারে পাঠাতে অনুমতি দেয়। | YES (ডিফল্ট) / NO টাইপ: বুলিয়ান |
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALE | SDK-কে ডিভাইস লোকাল সংগ্রহ করে সার্ভারে পাঠাতে অনুমতি দেয়। | YES (ডিফল্ট) / NO টাইপ: বুলিয়ান |
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODEL | SDK-কে ডিভাইস মডেল সংগ্রহ করে সার্ভারে পাঠাতে অনুমতি দেয়। | YES (ডিফল্ট) / NO টাইপ: বুলিয়ান |
Pushwoosh_LOG_LEVEL | Pushwoosh SDK লগিং লেভেল। বিস্তারিত জানতে, লগ লেভেল নিয়ন্ত্রণ দেখুন। | NONE / ERROR / WARNING / INFO (ডিফল্ট) / DEBUG / VERBOSE টাইপ: স্ট্রিং |
Pushwoosh_PURCHASE_TRACKING_ENABLED | SDK-কে ইন-অ্যাপ পারচেজ ট্র্যাক করতে অনুমতি দেয়। কাস্টমার জার্নি বিল্ডারের জন্য প্রয়োজন। | YES / NO (ডিফল্ট) টাইপ: বুলিয়ান |