Mobile SDK releases #19
June 22nd, 2023 - New versions of Karhoo SDKs are available
Network SDK:
- iOS SDK v1.8.0
- Android SDK v1.9.0
UI SDK:
- iOS UI SDK v1.13.0
- Android UISDK v1.13.0
Karhoo UI SDK: Check out the developer documentation to learn how to develop with the UI SDK:
What's New?
Payment
PSP transition
We will soon be using a new payment provider: Braintree
The user journey remains very close to the current one with Adyen. The UX modification applies to the drop-in we have integrated and applies mainly the cards module:
- Add a new card
- Select a saved card
After August 20th, all integrations based on Adyen will stop accepting users payments.
You can start to make the transition right now to the new configuration. Please follow the guide below for a smooth transition.
Your users will need to add their cards once again if they were stored in the app.
Migration guide
iOS
Steps needed in order to switch from Adyen to Braintree on iOS:
- Remove the Adyen module and add the Braintree one
- For Cocoapods use:
pod 'KarhooUISDK/Adyen', :git => '[email protected]:karhoo/karhoo-ios-ui-sdk.git', :tag => '1.12.3'
then save your Podfile and runpod install
- For SPM add the
KarhooUISDKBraintree
package and remove theKarhooUISDKAdyen
one, then Resolve Package Versions if the project doesn’t do it automatically
- For Cocoapods use:
- In your
KarhooConfig
class update your payment manager toBraintreePaymentManager
- In
AppDelegate
remove the Adyen import and addimport Braintree
. Remove any Adyen related code that causes errors in your project. - Follow the Braintree specific instructions here to enable redirecting to the app after the 3DS step.
Android
Step by step guide to change from UISDK Adyen to Braintree:
- in build.gradle you should replace your UISDK implementation with
implementation 'com.github.karhoo.karhoo-android-ui-sdk:uisdk-braintree:x.y.z'
- sync project with gradle files
- current partner implementation requires a
KarhooUISDKConfiguration
to be sent to UISDK in order to run. For Braintree, the payment manager inside this configuration should beBraintreePaymentManager
and thepaymentProviderView
insidepaymentManager
should beBraintreePaymentView
.
val config = KarhooUISDKConfiguration()
config.paymentManager = BraintreePaymentManager()
config.paymentManager.paymentProviderView = BraintreePaymentView()
Before publishing your app, make sure your organisation is updated to use Braintree on Karhoo platform.
If you have any doubt, contact your account manager.
Accessibility
Ride planning
Better management of Talkback implementation for the date and time picker (Android)
Addresses
Upgrade of the address text readability for Voiceover (iOS) /Talkback (Android) throughout the app
Text fields
We have improved our text fields to support the best practices of accessibility following material design.
Quote list
We have improved the Voiceover (iOS) /Talkback (Android) coverage of the Quote list screen and the navigation
Checkout
We have improved the Voiceover (iOS) /Talkback (Android) coverage of the Checkout screens (including loyalty modules).
Color palette
We provide more contrast for our default accent and text colors on all screens
Other Improvements
UI/UX
- We have added badges on the quote list for the user to better identify electric, hybrid and eco services
- We have improved the address text by removing postal code and country repetition
Bug fixes
- Resolved the error message problem for pre-book rides coverage on iOS
- Resolved the mismatch of service title between quote list and checkout on Android
- We have removed a library for phone number validation and used a simpler logic