Связь Azure, вызывающая SDK (android и ios), проблема с входящим вызовом с push-уведомлением/уведомлением VoIPAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Связь Azure, вызывающая SDK (android и ios), проблема с входящим вызовом с push-уведомлением/уведомлением VoIP

Сообщение Anonymous »

Я пытаюсь реализовать аудиовызов в своем собственном приложении реагирования, используя SDK для вызова связи Azure. Когда приложение находится на переднем плане, И IncomingCallListener настроен ДО, инициируется вызов, все работает нормально. Но если сначала инициируется вызов, а затем на принимающем устройстве устанавливается IncomingCallListener, входящий вызов никогда не принимается. Из https://learn.microsoft.com/en-us/azure ... rm-android я узнал, что я должен справиться с этой ситуацией, зарегистрировавшись для push-уведомлений. Поэтому я настраиваю push-уведомление о входящем вызове (voip для iOS) на сервере .net.
Когда инициируется входящий вызов, я получаю веб-перехватчик событий из сетки событий Azure. Но пакет SDK для вызовов Azure ожидает полезную нагрузку этого уведомления в очень специфическом формате, который не отображается внутри кода SDK.
Поэтому, пока я не знаю, что это за формат, я не могу исправить эту проблему с входящим вызовом . Может ли кто-нибудь помочь мне понять, каким должен быть формат полезных данных?
Примечание: я также пробовал использовать концентратор уведомлений Azure в сочетании с уведомлениями Azure, чтобы получать полезные данные push-уведомлений о входящем вызове непосредственно из Azure. В метриках центра уведомлений я вижу, что уведомления всегда терпят неудачу с этим сообщением об ошибке «Ошибки авторизации FCMv1».
Вот мой код для обработки полезных данных входящих вызовов.
public void setUpIncomingCall(Map map, String acsToken, String displayName, Context context) {
try{
if (callAgent == null) {
CallAgentOptions callAgentOptions = new CallAgentOptions();
callAgentOptions.setDisplayName(displayName);

callClient.createCallAgent(context, new CommunicationTokenCredential(acsToken), callAgentOptions).thenAccept(callAgent1 -> {
callAgent = callAgent1;

Log.e("incomingCall","created call agent");

incomingCallListener = new IncomingCallListener() {
@Override
public void onIncomingCall(IncomingCall incomingCall) {
Log.e("setUpIncomingCall", "Incoming call received");
currentIncomingCall = incomingCall;
}
};
callAgent.addOnIncomingCallListener(incomingCallListener);

PushNotificationInfo pushNotificationInfo = PushNotificationInfo.fromMap(map);

if (pushNotificationInfo != null) {
callAgent.handlePushNotification(pushNotificationInfo).thenAccept(aVoid -> {
Log.e("handleCallPush", "Push payload mapping success");
}).exceptionally(throwable -> {
throwable.printStackTrace();
Log.e("handleCallPush", "Failed to handleCallPush", throwable);
return null;
});
} else {
Log.e("incomingCall","incomingCall error pushNotificationInfo null");
}

}).exceptionally(throwable -> {
Log.e("incomingCall", "setUpIncomingCall error", throwable);
return null;
});
}
else {
Log.e("incomingCall","existing call agent");
incomingCallListener = new IncomingCallListener() {
@Override
public void onIncomingCall(IncomingCall incomingCall) {
Log.e("setUpIncomingCall", "Incoming call received");
currentIncomingCall = incomingCall;
}
};
callAgent.addOnIncomingCallListener(incomingCallListener);

PushNotificationInfo pushNotificationInfo = PushNotificationInfo.fromMap(map);

if (pushNotificationInfo != null) {
callAgent.handlePushNotification(pushNotificationInfo).thenAccept(aVoid -> {
Log.e("handleCallPush", "Push payload mapping success");
}).exceptionally(throwable -> {
throwable.printStackTrace();
Log.e("handleCallPush", "Failed to handleCallPush", throwable);
return null;
});
} else {
Log.e("incomingCall","incomingCall error pushNotificationInfo null");
}
}
} catch (Exception exception) {
exception.printStackTrace();
Log.e("setUpIncomingCall", "setUpIncomingCall error", exception);
}

}


Подробнее здесь: https://stackoverflow.com/questions/792 ... ith-push-n
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • IOS VoIP Push нарушенная служба VoIP
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Flutter: ❗ssue: микрофон не активируется после возобновления записи после перерыва по телефону/Voip по телефону/VoIP -av
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Java - инициализируйте вызовы VoIP через поставщика услуг VoIP
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Отсутствует com.apple.developer.voip-push-push-notition.
    Anonymous » » в форуме IOS
    0 Ответы
    80 Просмотры
    Последнее сообщение Anonymous
  • Отсутствует com.apple.developer.voip-push-push-notition.
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»