Unele companii necesită posibilitatea de a integra procesul de finalizare a comenzii web în aplicațiile mobile utilizând un WebView. Acest ghid vă prezintă pașii necesari pentru a accepta Google Pay în WebView după ce ați finalizat integrarea Google Pay Web .
Cerințe pentru dispozitivul utilizatorului
- Servicii Google Play versiunea 25.18.30 sau o versiune ulterioară
- Android Webview pentru Chrome versiunea 137 sau o versiune ulterioară
Modificări necesare ale aplicației
API-ul Payment Request este utilizat pentru a lansa foaia Google Pay atunci când procesul de finalizare a comenzii web este încorporat într-un WebView Android. În mod implicit, API-ul Payment Request va fi dezactivat pentru WebView. Sunt necesare următoarele modificări la codul aplicației dvs.:
Adăugați (sau actualizați) dependența de compilare:
Macabru
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
Catalog de versiuni
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
Adăugați următoarele etichete <queries> în fișierul AndroidManifest.xml:
<queries> <intent> <action android:name="org.chromium.intent.action.PAY"/> </intent> <intent> <action android:name="org.chromium.intent.action.IS_READY_TO_PAY"/> </intent> <intent> <action android:name="org.chromium.intent.action.UPDATE_PAYMENT_DETAILS"/> </intent> </queries>
Activați API-ul Payment Request pentru WebView-ul pe care îl utilizați în aplicație.
Asigurați-vă că utilizați instrucțiunea de import corectă pentru codul pe care îl utilizați.
Kotlin
import android.webkit.WebSettings; import android.webkit.WebView; import androidx.webkit.WebSettingsCompat; import androidx.webkit.WebViewFeature; AndroidView( factory = { // Update WebView settings to allow JavaScript and payment request settings.javaScriptEnabled = true WebView(it).apply { if (WebViewFeature.isFeatureSupported( WebViewFeature.PAYMENT_REQUEST)) { WebSettingsCompat.setPaymentRequestEnabled(settings, true); } } }, update = {it.loadUrl(url) } )
Java
import android.webkit.WebSettings; import android.webkit.WebView; import androidx.webkit.WebSettingsCompat; import androidx.webkit.WebViewFeature; WebView webView = findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); // Update WebView settings to allow JavaScript and payment request webSettings.setJavaScriptEnabled(true); if (WebViewFeature.isFeatureSupported( WebViewFeature.PAYMENT_REQUEST)) { WebSettingsCompat.setPaymentRequestEnabled(webSettings, true); }
Publicați integrarea dvs.
Pentru ca aplicația dvs. să poată utiliza Google Pay în Android WebView, trebuie să finalizați ghidul de publicare a integrării.