В соответствии с документами firebase транзакции завершаются неудачно в следующих случаях (отображаются только вопросы, относящиеся к вопросу):
- Когда клиент находится в автономном режиме.
- Когда транзакция считывает документ, который был изменен вне транзакции. В этом случае транзакция автоматически запускается снова. Транзакция повторяется конечное число раз.
Но в Java я не вижу способа узнать, в каких случаях я сталкиваюсь в моем приложении. Я попытался привести исключение к задаче, чтобы узнать, существуют ли какие-либо методы, которые возвращают тип исключения или любую полезную информацию:
public void onComplete(@NonNull Task<Void> task) {
((FirebaseFirestoreException)task.getException()). // Could not find anything useful here
}