Appels VoIP sur Android
Pushwoosh prend en charge les notifications d’appel de type VoIP pour Android via le module pushwoosh-calls. Cela permet d’utiliser l’interface d’appel native et la gestion du cycle de vie des appels grâce à la pile de télécommunication d’Android.
1. Ajouter le module pushwoosh-calls
Anchor link toAssurez-vous d’inclure la dépendance pushwoosh-calls dans votre projet.
Gradle :
dependencies { implementation 'com.pushwoosh:pushwoosh-calls:<latest-version>'}Remplacez <latest-version> par la version actuelle disponible sur Maven Central.
2. Demander les autorisations d’appel
Anchor link toDemandez les autorisations requises lors de l’exécution à l’aide de la fonction d’assistance :
import com.pushwoosh.calls.PushwooshCallSettings;
PushwooshCallSettings.requestCallPermissions();Cela gère la demande d’autorisations comme
READ_PHONE_NUMBERS, nécessaire pour une gestion correcte des appels.
3. Implémenter CallEventListener et l’enregistrer dans le Manifest
Anchor link toPour gérer les appels entrants et les événements, implémentez l’interface CallEventListener dans votre application.
Exemple en Java
Anchor link topublic class DemoCallEventListener implements CallEventListener {
@Override public void onAnswer(@NonNull PushwooshVoIPMessage voIPMessage, int videoState) { // implémentez cette méthode pour naviguer vers votre interface utilisateur en cours d'appel Intent intent = new Intent(context, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); }
@Override public void onReject(@NonNull PushwooshVoIPMessage voIPMessage) { // surchargez cette méthode pour gérer les appels rejetés }
@Override public void onDisconnect(@NonNull PushwooshVoIPMessage voIPMessage) { // surchargez cette méthode pour gérer les appels déconnectés }
@Override public void onCreateIncomingConnection(@Nullable Bundle payload) { // c'est le point le plus précoce où la charge utile de la notification d'appel est accessible dans votre application, // utilisez-le pour préparer l'interface utilisateur de votre application aux interactions de l'utilisateur avec les notifications d'appel }
@Override public void onCallAdded(@NonNull PushwooshVoIPMessage voIPMessage) { // méthode d'extension de InCallService, fournit des options de personnalisation pour les appareils Wearable appairés }
@Override public void onCallRemoved(@NonNull PushwooshVoIPMessage voIPMessage) { // méthode d'extension de InCallService, fournit des options de personnalisation pour les appareils Wearable appairés }}AndroidManifest.xml
Anchor link toDéclarez votre classe d’écouteur à l’aide d’une balise <meta-data> :
<meta-data android:name="com.pushwoosh.CALL_EVENT_LISTENER" android:value="com.pushwoosh.demoapp.DemoCallEventListener" />4. Configurer les paramètres d’appel (optionnel)
Anchor link toUtilisez PushwooshCallSettings pour affiner le comportement des appels, les sons et les paramètres d’affichage.
Exemple d’utilisation
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")