অ্যান্ড্রয়েডে ভিওআইপি কল
Pushwoosh pushwoosh-calls মডিউল ব্যবহার করে অ্যান্ড্রয়েডের জন্য ভিওআইপি-স্টাইল কল নোটিফিকেশন সমর্থন করে। এটি অ্যান্ড্রয়েডের টেলিকম স্ট্যাক ব্যবহার করে নেটিভ কল UI এবং লাইফসাইকেল ম্যানেজমেন্ট সক্ষম করে।
১. pushwoosh-calls মডিউল যোগ করুন
Anchor link toআপনার প্রজেক্টে pushwoosh-calls ডিপেন্ডেন্সি অন্তর্ভুক্ত করা নিশ্চিত করুন।
Gradle:
dependencies { implementation 'com.pushwoosh:pushwoosh-calls:<latest-version>'}Maven Central থেকে বর্তমান সংস্করণ দিয়ে <latest-version> প্রতিস্থাপন করুন।
২. কলের অনুমতি অনুরোধ করুন
Anchor link toহেল্পার ফাংশন ব্যবহার করে রানটাইমে প্রয়োজনীয় অনুমতিগুলির জন্য অনুরোধ করুন:
import com.pushwoosh.calls.PushwooshCallSettings;
PushwooshCallSettings.requestCallPermissions();এটি
READ_PHONE_NUMBERS-এর মতো অনুমতিগুলির অনুরোধ পরিচালনা করে, যা সঠিক কল হ্যান্ডলিংয়ের জন্য প্রয়োজনীয়।
৩. CallEventListener ইমপ্লিমেন্ট করুন এবং ম্যানিফেস্টে রেজিস্টার করুন
Anchor link toইনকামিং কল এবং ইভেন্টগুলি পরিচালনা করতে, আপনার অ্যাপে CallEventListener ইন্টারফেসটি ইমপ্লিমেন্ট করুন।
জাভা উদাহরণ
Anchor link topublic class DemoCallEventListener implements CallEventListener {
@Override public void onAnswer(@NonNull PushwooshVoIPMessage voIPMessage, int videoState) { // আপনার ইন-কল UI-তে নেভিগেট করার জন্য এই মেথডটি ইমপ্লিমেন্ট করুন Intent intent = new Intent(context, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); }
@Override public void onReject(@NonNull PushwooshVoIPMessage voIPMessage) { // বাতিল করা কলগুলি পরিচালনা করতে এই মেথডটি ওভাররাইড করুন }
@Override public void onDisconnect(@NonNull PushwooshVoIPMessage voIPMessage) { // সংযোগ বিচ্ছিন্ন কলগুলি পরিচালনা করতে এই মেথডটি ওভাররাইড করুন }
@Override public void onCreateIncomingConnection(@Nullable Bundle payload) { // এটিই প্রথম পর্যায় যখন আপনার অ্যাপে কল নোটিফিকেশন পেলোড অ্যাক্সেসযোগ্য হয়, // কল নোটিফিকেশনের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য আপনার অ্যাপ UI প্রস্তুত করতে এটি ব্যবহার করুন }
@Override public void onCallAdded(@NonNull PushwooshVoIPMessage voIPMessage) { // InCallService-এর এক্সটেনশন মেথড, পেয়ার করা ওয়্যারেবল ডিভাইসের জন্য কাস্টমাইজেশন অপশন প্রদান করে }
@Override public void onCallRemoved(@NonNull PushwooshVoIPMessage voIPMessage) { // InCallService-এর এক্সটেনশন মেথড, পেয়ার করা ওয়্যারেবল ডিভাইসের জন্য কাস্টমাইজেশন অপশন প্রদান করে }}AndroidManifest.xml
Anchor link toএকটি <meta-data> ট্যাগ ব্যবহার করে আপনার লিসেনার ক্লাস ঘোষণা করুন:
<meta-data android:name="com.pushwoosh.CALL_EVENT_LISTENER" android:value="com.pushwoosh.demoapp.DemoCallEventListener" />৪. কল সেটিংস কনফিগার করুন (ঐচ্ছিক)
Anchor link toকলের আচরণ, সাউন্ড এবং ডিসপ্লে সেটিংস ফাইন-টিউন করতে PushwooshCallSettings ব্যবহার করুন।
ব্যবহারের উদাহরণ
Anchor link toimport com.pushwoosh.calls.PushwooshCallSettings
PushwooshCallSettings.setPhoneAccount("com.pushwoosh.voip")PushwooshCallSettings.setPhoneAccountHandle("PushwooshCallHandle")PushwooshCallSettings.setIncomingCallChannelName("Incoming Calls")PushwooshCallSettings.setOngoingCallChannelName("Ongoing Calls")PushwooshCallSettings.setCallSound("custom_ringtone.mp3")