ডেভেলপার ভাই ও বন্ধুরা, গত পর্বে আমরা সার্টিফিকেট রেডি করেছি। আজ আমরা দেখবো কীভাবে সেই সার্টিফিকেট ব্যবহার করে Xcode-এ প্রজেক্ট সেটআপ করতে হয় এবং অ্যাপে Flutter Incoming Call Integration সম্পন্ন করতে হয়।
ধাপ ১: Xcode-এ Capabilities সেটআপ
আপনার ফ্লাটার প্রজেক্টের ios ফোল্ডারটি Xcode-এ ওপেন করুন। এরপর Runner টার্গেট সিলেক্ট করে Signing & Capabilities ট্যাবে যান। এখানে আপনাকে ৩টি গুরুত্বপূর্ণ Capability যোগ করতে হবে:
১. Push Notifications: এটি আপনার অ্যাপকে রিমোট নোটিফিকেশন রিসিভ করতে সাহায্য করবে। ২. Background Modes: এখানে গিয়ে নিচের অপশনগুলোতে টিক চিহ্ন দিন:
- Voice over IP: এটি ছাড়া ইনকামিং কল স্ক্রিন আসবে না।
- Remote notifications: ব্যাকগ্রাউন্ডে ডাটা রিসিভ করার জন্য।
- Background processing: অ্যাপ কিলড থাকলেও যেন কল হ্যান্ডেল করা যায়।
ধাপ ২: Info.plist কনফিগারেশন
কল আসার সময় ইউজার যেন অডিও বা ভিডিও ঠিকঠাক পায়, সেজন্য Info.plist ফাইলে মাইক্রোফোন এবং ক্যামেরার পারমিশন যোগ করতে হবে:
XML
<key>NSMicrophoneUsageDescription</key>
<string>We need microphone access for calling.</string>
<key>NSCameraUsageDescription</key>
<string>We need camera access for video calls.</string>
ধাপ ৩: Flutter-এ CallKit ইন্টিগ্রেশন
অ্যাপে নেটিভ কলিং ইন্টারফেস দেখানোর জন্য আমরা flutter_callkit_incoming প্লাগইনটি ব্যবহার করতে পারি। এটি দিয়ে আপনি খুব সহজেই ইনকামিং কল স্ক্রিন ট্রিগার করতে পারবেন।
Dart
// ইনকামিং কল দেখানোর একটি সিম্পল কোড স্নুপেট
void showIncomingCall() async {
var params = CallKitParams(
id: "unique_id_123",
nameCaller: "Khokanuzzaman Khokan",
handle: "01712345678",
type: 0, // 0 for Audio, 1 for Video
);
await FlutterCallkitIncoming.showCallkitIncoming(params);
}
কেন এটি কাজ করছে না? (Common Mistakes)
অনেকেই সব সেটআপ করার পরও কল পান না। মনে রাখবেন, Flutter Incoming Call Integration শুধুমাত্র রিয়েল ডিভাইসে কাজ করে। আইফোন সিমুলেটরে VoIP পুশ কাজ করবে না। তাই অবশ্যই একটি ফিজিক্যাল আইফোন ব্যবহার করে টেস্ট করুন।
উপসংহার
আমাদের অ্যাপ এখন ইনকামিং কল রিসিভ করার জন্য প্রস্তুত। পরবর্তী পর্বে আমরা শিখবো কীভাবে Node.js ব্যাকএন্ড থেকে টোকেন ব্যবহার করে এই কলটি ট্রিগার করতে হয়।
এই ইন্টিগ্রেশনে ব্যবহৃত প্লাগইন সম্পর্কে আরও বিস্তারিত জানতে চাইলে তাদের অফিসিয়াল পাব-ডেভ পেজটি ঘুরে আসতে পারেন।