簡體   English   中英

使用 Intent 啟動 Square 原生 Android 應用程序時出錯

[英]Error launching Square native Android app using Intent

我正在開發適用於 Android 的本地銷售點應用程序。 該應用程序是使用 Xamarin 編寫的。

該應用程序的大部分功能將駐留在單個網頁應用程序中。 本機應用程序將主要是該網站的包裝器。

在我的銷售點應用程序中,當用戶關閉票證時,我想啟動 Square POS 應用程序來處理信用卡輸入。

我在 Square 網站( https://developer.squareup.com/docs/pos-api/web-technical-reference#mobile-web-on-android )上遵循了這個文檔,它告訴你如何構建 Intent啟動 Square POS 應用程序。

當我在調試模式下構建我的本機應用程序並調試它時,意圖工作正常。 我在我的應用程序中單擊一個按鈕,構建了 Intent 對象,加載了 Square 應用程序,我可以刷卡/輸入信用卡,響應回調到我的本機應用程序,一切正常。

如果我在發布模式下構建我的本機應用程序並將其上傳到我的物理 Android 設備,然后運行該應用程序,則 Intent 也可以正常工作。 Square 應用程序加載,我可以處理卡片等。

如果我將我的應用程序發布到 Google Play 商店,將其下載到同一台 Android 設備上,然后運行該應用程序,則 Intent 不起作用。 當我單擊應用程序中的按鈕並構建 Intent 並運行它時,我從 Square 收到此錯誤代碼:“com.squareup.pos.ERROR_INVALID_REQUEST”。 根據 Square 的網站,此錯誤代碼表示:“此交易請求中提供的信息無效(例如,必填字段缺失或格式錯誤)。”

我不明白如何在我的物理 Android 設備上調試應用程序正常工作,在發布模式下構建應用程序並將其上傳到我的 Android 設備工作正常,但是將應用程序發布到應用程序商店並下載和運行它時不起作用正確。

我嘗試從我的設備上卸載該應用程序,然后從 Play 商店下載它,我嘗試從 Play 商店應用程序清除緩存/數據,但似乎沒有任何效果。

我找到了答案。 在 Square Developers 儀表板中,您指定用於簽署 Android 應用程序的證書的指紋。 我已經進去並提供了那個指紋,但是在我們向 Google Play 商店發布的最新版本的本機應用程序中,有人打開了“使用托管在 Google 服務器上的證書重新簽名應用程序”選項。 因此 .apk 正在使用具有不同指紋的新證書重新簽名。

我將額外的指紋添加到 Square Developers 儀表板,現在該過程有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM