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:

  1. Remove the Adyen module and add the Braintree one
    1. For Cocoapods use: pod 'KarhooUISDK/Adyen', :git => '[email protected]:karhoo/karhoo-ios-ui-sdk.git', :tag => '1.12.3' then save your Podfile and run pod install
    2. For SPM add the KarhooUISDKBraintree package and remove the KarhooUISDKAdyen one, then Resolve Package Versions if the project doesn’t do it automatically
  2. In your KarhooConfig class update your payment manager to BraintreePaymentManager
  3. In AppDelegate remove the Adyen import and add import Braintree. Remove any Adyen related code that causes errors in your project.
  4. 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:

  1. in build.gradle you should replace your UISDK implementation with implementation 'com.github.karhoo.karhoo-android-ui-sdk:uisdk-braintree:x.y.z'
  2. sync project with gradle files
  3. current partner implementation requires a KarhooUISDKConfiguration to be sent to UISDK in order to run. For Braintree, the payment manager inside this configuration should be BraintreePaymentManager and the paymentProviderView inside paymentManager should be BraintreePaymentView.
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