Выйти в SINCH не работает! Приложение все еще получает звонок, даже если вы вышли из SINCH! Я нашел решение не лучшее, но его работа на меня
В didReceiveIncomingPushWithPayload вам нужно получить remote_Id из заголовка
func managedPush(_ managedPush: SINManagedPush!, didReceiveIncomingPushWithPayload payload: [AnyHashable : Any]!, forType pushType: String!) {
if pushType == "PKPushTypeVoIP" {
let result = SINPushHelper.queryPushNotificationPayload(payload)
if result?.isCall() != nil {
if let aHeaders = result?.call().headers {
callerIdz = aHeaders["to"] as? String
self.handleRemoteNotification(userInfo: payload as NSDictionary)
}
}
}
}//END
и в handleRemoteNotification проверьте, является ли localUser (пользователь, вошедший в систему) тем же, что и remote_Id, если вам нужно показать уведомление о вызове, а если нет, вы проигнорируете это уведомление!
func handleRemoteNotification(userInfo: NSDictionary) {
if _client.userId != callerIdz {
print("Not match")
return
} else {
let result = self._client.relayRemotePushNotification(userInfo as! [AnyHashable : Any])
if result!.isCall() {
print("handle call notification")
}
if result!.isCall() && result!.call().isCallCanceled{
self.presentMissedCallNotificationWithRemoteUserId(userId: result!.call()!.callId)
}
}
}//END