improved

Mobile SDKs releases #8

November 11th 2021 - New versions of Karhoo SDKs are available

Karhoo Network SDK: Check out the developer documentation to learn how to develop with the Network SDK:

  • iOS Network SDK v1.5.3
  • Android Network SDK v1.4.3

Karhoo UI SDK: Check out the developer documentation to learn how to develop with the UI SDK:

  • iOS UI SDK v1.7.0
  • Android UI SDK v1.5.0

What's New?

Checkout Component

The Checkout is one of the crucial parts of booking a ride. It needs to be robust and simple to use. We have taken the feedback from our travellers and demand partners into account to design a new component. The Checkout, formally Booking Request component involves improving the UI/UX as well as the quality of the implementation. We have made a few minor changes to the public interface of the component but we have improved the implementation.

Please note that if you are using the booking screen, you don't need to make any changes to your implementation.

let checkoutScreen = KarhooUI()
            .screens()
            .checkout()
            .buildCheckoutScreen(quote: quote,
                                       bookingDetails: bookingStatus.getBookingDetails()!,
                                       bookingMetadata: nil,
                                       callback: { [weak self] result in
                                        self?.handleBookingResult(result)
                                       })
checkoutScreen.modalPresentationStyle = .fullScreen
private var passengerDetails: PassengerDetails? = null
private var bookingComments: String? = ""
private var bookingMetadata: HashMap<String, String>? = null
private var bookingStatus: BookingStatus(pickupLocationInfo, destinationLocationInfo, date)
      
val builder = CheckoutActivity.Builder()
                            .quote(quote)
                            .outboundTripId(outboundTripId)
                            .bookingMetadata(bookingMetadata)
                            .bookingStatus(bookingStatus)

passengerDetails?.let {
  builder.passengerDetails(it)
}

bookingComments?.let {
  builder.comments(it)
}

startActivityForResult(builder.build(this), REQ_CODE_BOOKING_REQUEST_ACTIVITY)

Languages

We have added 3 more languages to our SDK and we are aiming to add more in the upcoming releases. Below is the list of currently supported languages

  • Engish
  • French
  • Spanish
  • German :star2:
  • Dutch :star2:
  • Italian :star2:

Branding & Customisation

We are aiming to ensure our SDKs can be easily integrated into your product and you can apply your brand colours to them.
On Android, we have added the prefix 'khuisdk' to the resources of our SDK in order to avoid any conflict between the SDK resources and yours.

<color name="kh_uisdk_secondary">@color/secondary</color>
<color name="kh_uisdk_primary">@color/primary</color>
<color name="kh_uisdk_colorAccent">@color/accent</color>