Ошибка запуска приложения Square для Android с помощью Intent - PullRequest
0 голосов
/ 13 июня 2019

Я работаю над собственным приложением Point of Sale для Android.Приложение пишется с использованием Xamarin.

Большая часть функциональных возможностей приложения будет находиться в одном приложении веб-страницы.Нативное приложение будет в основном оберткой вокруг этого веб-сайта.

В моем приложении Point of Sale, когда пользователь собирается закрыть билет, я хочу запустить приложение Square POS для обработки ввода кредитной карты.

Я следовал этой документации на веб-сайте Square (https://developer.squareup.com/docs/pos-api/web-technical-reference#mobile-web-on-android), в которой рассказывается, как создать Intent для запуска приложения Square POS.

Когда я собираю свое собственное приложение в Debugи отладка, Intent работает правильно. Я нажимаю кнопку в моем приложении, объект Intent создается, приложение Square загружается, я могу провести / ввести кредитную карту, ответ перезвонит моему родному приложению, все работает.

Если я создаю свое собственное приложение в режиме выпуска и загружаю его на свое физическое устройство Android, а затем запускаю приложение, Intent также работает правильно. Приложение Square загружается, я могу обрабатывать карточки и т. Д.

Если я опубликую свое приложение в магазине Google Play, загрузит его на то же устройство Android и запустит приложение, намерение не будет работать. Когда я нажимаю кнопку в своем приложении исоздать Intent и запустить его, я получаю этот код ошибки от Square: "com.squareup.pos.ERROR_INVALID_REQUEST".Согласно веб-сайту Square, этот код ошибки означает: «Информация, предоставленная в этом запросе транзакции, недействительна (например, обязательное поле отсутствует или неправильно сформировано).»

Я не понимаю, как отлаживать приложение на моемфизическое устройство Android работает правильно, сборка приложения в режиме выпуска и загрузка его на мое устройство Android работает правильно, но при публикации приложения в магазине приложений и загрузке и запуске оно работает неправильно.

У меня естьпопытался удалить приложение с моего устройства, а затем загрузить его из Play Store, я пытался очистить кэш / данные из приложения Play Store, похоже, ничего не работает.

1 Ответ

0 голосов
/ 14 июня 2019

Я нашел ответ.В инструментальной панели Square Developers вы указываете отпечаток сертификата, используемого для подписи вашего Android-приложения.Я вошел и предоставил этот отпечаток, но в последнем выпуске нашего нативного приложения в магазине Google Play кто-то включил опцию «Повторная подпись приложения с сертификатом, размещенным на серверах Google».Таким образом, файл .apk переподписывался с новым сертификатом с другим отпечатком.

Я добавил этот дополнительный отпечаток на панель инструментов Square Developers, и теперь процесс работает.

...