Привет, я разрабатываю Ionic Cordova, и мы используем Firebase для прослушивания событий. Существующий процесс таков: мы генерируем ссылку для оплаты, открываем ее с помощью браузера inapp (для Android) или SFViewController (для ios) и слушаем события Firebase для определения текущего статуса. Когда статус благоприятный, мы закрываем браузер в приложении.
Однако пока реализация Android работает нормально. Мы получаем следующие ошибки
@firebase/firestore: Firestore (8.6.2): FIRESTORE (8.6.2) ВНУТРЕННЕЕ УТВЕРЖДЕНИЕ ОШИБОЧНО: Неожиданное состояние
Я пытался найти описанную выше проблему, нашел несколько ссылок, которые советуют обновить или понизить версию Firebase, которую я пробовал, но это не удалось
пожалуйста, помогите.
фрагмент кода
function startListeningMultisafePayUpdatesIos(data) {
$timeout(() => {
const orderId = data.orderId;
firebase.firestore().collection("multisafepayPayments").doc(orderId).set({
financialStatus: "",
orderId: orderId,
transactionJson: {}
}).then(() => {
unsubscribeMultisafePayListener = firebase.firestore()
.collection("multisafepayPayments")
.doc(orderId)
.onSnapshot(function (doc) {
if (doc.exists) {
console.log("doc data exisits");
console.log(doc.data);
// let message = doc.data();
// if (typeof message.paymentKeyData !== "undefined" && message.paymentKeyData !== null) {
// let paymentJsonData = decodeURIComponent(message.paymentKeyData);
// if (paymentJsonData !== null) {
// submitPayment(JSON.parse(paymentJsonData));
// SafariViewController.hide();
// }
// } else if (typeof message.reloadFrame !== "undefined" && message.reloadFrame === 'True') {
// SafariViewController.hide();
// reloadControls();
// }
}
});
}).catch((error) => {
console.error("Multisafepay Payment error: ", error);
// navigator.notification.alert(
// error.message || error,
// function () { },
// capitalizeFirstLetter("There was an error using apple pay for this payment"),
// $translate.instant("OK")
// );
});
let loadFrameUrl = data.url;
SafariViewController.isAvailable(function (available) {
if (available) {
SafariViewController.show({
url: loadFrameUrl,
hidden: false,
animated: false
}, function (result) {
if (result.event === 'opened') {
console.log('opened');
} else if (result.event === 'loaded') {
console.log('loaded');
} else if (result.event === 'closed') {
console.log('closed');
}
$scope.freedompayInterimLoading = false;
}, function (msg) {
navigator.notification.alert(
msg,
function () { },
capitalizeFirstLetter("There was an error using multisafepay for this payment"),
$translate.instant("OK")
);
// $scope.freedompayInterimLoading = false;
});
} else {
navigator.notification.alert(
"SFViewController not available",
function () { },
capitalizeFirstLetter("There was an error using apple pay for this payment"),
$translate.instant("OK")
);
// $scope.freedompayInterimLoading = false;
}
});
}, 1000);
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... g-firebase
Ошибки при использовании Firebase ⇐ IOS
Программируем под IOS
1728946170
Anonymous
Привет, я разрабатываю Ionic Cordova, и мы используем Firebase для прослушивания событий. Существующий процесс таков: мы генерируем ссылку для оплаты, открываем ее с помощью браузера inapp (для Android) или SFViewController (для ios) и слушаем события Firebase для определения текущего статуса. Когда статус благоприятный, мы закрываем браузер в приложении.
Однако пока реализация Android работает нормально. Мы получаем следующие ошибки
@firebase/firestore: Firestore (8.6.2): FIRESTORE (8.6.2) ВНУТРЕННЕЕ УТВЕРЖДЕНИЕ ОШИБОЧНО: Неожиданное состояние
Я пытался найти описанную выше проблему, нашел несколько ссылок, которые советуют обновить или понизить версию Firebase, которую я пробовал, но это не удалось
пожалуйста, помогите.
фрагмент кода
function startListeningMultisafePayUpdatesIos(data) {
$timeout(() => {
const orderId = data.orderId;
firebase.firestore().collection("multisafepayPayments").doc(orderId).set({
financialStatus: "",
orderId: orderId,
transactionJson: {}
}).then(() => {
unsubscribeMultisafePayListener = firebase.firestore()
.collection("multisafepayPayments")
.doc(orderId)
.onSnapshot(function (doc) {
if (doc.exists) {
console.log("doc data exisits");
console.log(doc.data);
// let message = doc.data();
// if (typeof message.paymentKeyData !== "undefined" && message.paymentKeyData !== null) {
// let paymentJsonData = decodeURIComponent(message.paymentKeyData);
// if (paymentJsonData !== null) {
// submitPayment(JSON.parse(paymentJsonData));
// SafariViewController.hide();
// }
// } else if (typeof message.reloadFrame !== "undefined" && message.reloadFrame === 'True') {
// SafariViewController.hide();
// reloadControls();
// }
}
});
}).catch((error) => {
console.error("Multisafepay Payment error: ", error);
// navigator.notification.alert(
// error.message || error,
// function () { },
// capitalizeFirstLetter("There was an error using apple pay for this payment"),
// $translate.instant("OK")
// );
});
let loadFrameUrl = data.url;
SafariViewController.isAvailable(function (available) {
if (available) {
SafariViewController.show({
url: loadFrameUrl,
hidden: false,
animated: false
}, function (result) {
if (result.event === 'opened') {
console.log('opened');
} else if (result.event === 'loaded') {
console.log('loaded');
} else if (result.event === 'closed') {
console.log('closed');
}
$scope.freedompayInterimLoading = false;
}, function (msg) {
navigator.notification.alert(
msg,
function () { },
capitalizeFirstLetter("There was an error using multisafepay for this payment"),
$translate.instant("OK")
);
// $scope.freedompayInterimLoading = false;
});
} else {
navigator.notification.alert(
"SFViewController not available",
function () { },
capitalizeFirstLetter("There was an error using apple pay for this payment"),
$translate.instant("OK")
);
// $scope.freedompayInterimLoading = false;
}
});
}, 1000);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79087844/errors-while-using-firebase[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия