ข้ามไปยังเนื้อหา

การโทร VoIP บน Android

Pushwoosh รองรับการแจ้งเตือนการโทรสไตล์ VoIP สำหรับ Android โดยใช้โมดูล pushwoosh-calls ซึ่งช่วยให้สามารถใช้งาน UI การโทรแบบเนทีฟและการจัดการวงจรชีวิตโดยใช้ telecom stack ของ Android

1. เพิ่มโมดูล pushwoosh-calls

Anchor link to

ตรวจสอบให้แน่ใจว่าได้รวม pushwoosh-calls dependency ไว้ในโปรเจกต์ของคุณ

Gradle:

dependencies {
implementation 'com.pushwoosh:pushwoosh-calls:<latest-version>'
}

แทนที่ <latest-version> ด้วยเวอร์ชันปัจจุบันจาก Maven Central

2. ขอสิทธิ์การโทร

Anchor link to

ขอสิทธิ์ที่จำเป็นในขณะรันไทม์โดยใช้ฟังก์ชันตัวช่วย:

import com.pushwoosh.calls.PushwooshCallSettings;
PushwooshCallSettings.requestCallPermissions();

สิ่งนี้จัดการการขอสิทธิ์เช่น READ_PHONE_NUMBERS ซึ่งจำเป็นสำหรับการจัดการการโทรที่เหมาะสม

3. ใช้งาน CallEventListener และลงทะเบียนใน Manifest

Anchor link to

เพื่อจัดการการโทรและเหตุการณ์ที่เข้ามา ให้ใช้งานอินเทอร์เฟซ CallEventListener ในแอปของคุณ

ตัวอย่าง Java

Anchor link to
public class DemoCallEventListener implements CallEventListener {
@Override
public void onAnswer(@NonNull PushwooshVoIPMessage voIPMessage, int videoState) {
// implement this method to navigate to your in-call 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 this method to handle dismissed calls
}
@Override
public void onDisconnect(@NonNull PushwooshVoIPMessage voIPMessage) {
// override this method to handle disconnected calls
}
@Override
public void onCreateIncomingConnection(@Nullable Bundle payload) {
// this is the earliest point when call notification payload is accessible in your app,
// use it to prepare your app UI for user interactions with call notifications
}
@Override
public void onCallAdded(@NonNull PushwooshVoIPMessage voIPMessage) {
// extension method of InCallService, provides customization options for paired Wearable devices
}
@Override
public void onCallRemoved(@NonNull PushwooshVoIPMessage voIPMessage) {
// extension method of InCallService, provides customization options for paired Wearable devices
}
}

AndroidManifest.xml

Anchor link to

ประกาศคลาส listener ของคุณโดยใช้แท็ก <meta-data>:

<meta-data
android:name="com.pushwoosh.CALL_EVENT_LISTENER"
android:value="com.pushwoosh.demoapp.DemoCallEventListener" />

4. กำหนดค่าการตั้งค่าการโทร (ไม่บังคับ)

Anchor link to

ใช้ PushwooshCallSettings เพื่อปรับแต่งพฤติกรรมการโทร เสียง และการตั้งค่าการแสดงผล

ตัวอย่างการใช้งาน

Anchor link to
import 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")

ลิงก์ที่เกี่ยวข้อง

Anchor link to