অডিও বা ভিডিও প্রক্রিয়া করে এমন একটি মিডিয়া অ্যাপ তৈরি করার সময়, সঠিক বিজ্ঞপ্তি এবং বিজ্ঞপ্তি চ্যানেলগুলি ব্যবহার করা গুরুত্বপূর্ণ৷ এটি নিশ্চিত করে যে বিজ্ঞপ্তিগুলিতে নিম্নলিখিত মূল্যবান বৈশিষ্ট্যগুলি রয়েছে:
- বিজ্ঞপ্তি অগ্রাধিকার আছে
- অ বরখাস্ত হয়
- রিংটোনগুলির জন্য অডিও বৈশিষ্ট্যগুলি ব্যবহার করুন৷
দুটি বিজ্ঞপ্তি চ্যানেল সেট আপ করতে NotificationChannel.Builder
ব্যবহার করুন: একটি ইনকামিং কলের জন্য এবং অন্যটি সক্রিয় কলগুলির জন্য৷
internal companion object {
const val TELECOM_NOTIFICATION_ID = 200
const val TELECOM_NOTIFICATION_ACTION = "telecom_action"
const val TELECOM_NOTIFICATION_INCOMING_CHANNEL_ID = "telecom_incoming_channel"
const val TELECOM_NOTIFICATION_ONGOING_CHANNEL_ID = "telecom_ongoing_channel"
private val ringToneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE)
}
বিজ্ঞপ্তিটি সর্বত্র প্রদর্শন করতে এবং রিংটোনের জন্য অডিও চালানোর অনুমতি দিতে, ইনকামিং বিজ্ঞপ্তি চ্যানেলের গুরুত্ব উচ্চে সেট করুন।
val incomingChannel = NotificationChannelCompat.Builder(
TELECOM_NOTIFICATION_INCOMING_CHANNEL_ID,
NotificationManagerCompat.IMPORTANCE_HIGH,
).setName("Incoming calls")
.setDescription("Handles the notifications when receiving a call")
.setVibrationEnabled(true).setSound(
ringToneUri,
AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setLegacyStreamType(AudioManager.STREAM_RING)
.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE).build(),
).build()
শুধুমাত্র সক্রিয় কলের জন্য ডিফল্টে সেট করা গুরুত্ব প্রয়োজন। ইনকামিং কলের বিজ্ঞপ্তিগুলিকে অ-খারিজ করার অনুমতি দিতে নিম্নলিখিত ইনকামিং কল স্টাইল ব্যবহার করুন৷
val ongoingChannel = NotificationChannelCompat.Builder(
TELECOM_NOTIFICATION_ONGOING_CHANNEL_ID,
NotificationManagerCompat.IMPORTANCE_DEFAULT,
)
.setName("Ongoing calls")
.setDescription("Displays the ongoing call notifications")
.build()
একটি ইনকামিং কলের সময় ব্যবহারকারীর ডিভাইসটি লক থাকা অবস্থায় ব্যবহারের ক্ষেত্রে সমাধান করতে, ব্যবহারকারীকে কলটির উত্তর দেওয়ার জন্য একটি কার্যকলাপ প্রদর্শন করতে একটি পূর্ণ-স্ক্রীন বিজ্ঞপ্তি ব্যবহার করুন৷
// on the notification
val contentIntent = PendingIntent.getActivity(
/* context = */ context,
/* requestCode = */ 0,
/* intent = */ Intent(context, TelecomCallActivity::class.java),
/* flags = */ PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE,
)
কল CallStyle
ব্যবহার করার নির্দেশাবলীর জন্য কল অ্যাপ্লিকেশানগুলির জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি করুন পড়ুন অন্য ধরনের বিজ্ঞপ্তিগুলি থেকে কল বিজ্ঞপ্তিগুলিকে আলাদা করতে৷