Bliq Park SDK for Android

Getting Started

This guide will show you how to use the Bliq Android SDK which helps you to integrating the Bliq API.


Android Build

AndroidBuild uses the gradle build tool. Just integrate Bliq Android SDK into your gradle file:

dependencies {
    implementation ('')


The following dependencies are required to run the Bliq SDK:

  • de.aipark.api:aipark-api:28.32

First Steps

To use the Bliq SDK, import the package and initialize the Bliq class.

AiparkSDK aiparkSDK = new AiparkSDK(getContext(),"YOUR_API_KEY");


To ensure that the Bliq services run properly, you need the following permissions:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.WAKE_LOCK
Key Purpose
ACCESS_COARSE_LOCATION/ACCESS_FINE_LOCATION Reason why GPS is used while app is in use
ACTIVITY_RECOGNITION Reason why the activity need to be recognized for the parking position of the user
WAKE_LOCK Reason why the activity need to be able to wake up from background

Request ParkingAreas

To request parking areas, you need to specify a request object. This object contains the tile that you wish to get parking areas from.


Tiles represent predefined map areas. To visualize these tiles, you can visit this website Tiles. The tiles you can specify are on zoom level 16 or 15. To convert a coordinate with Latitude/Longitude into a tile you can use a predefined method:

TileMapper.getTileIndexFromLatLng(Point point, int zoom);

The Bliq API can be accessed with aiparkSDK.getApi(). An example of a request to get parking areas is shown below. This request returns a set of parking areas from the specified tiles.

AiparkSDK aiparkSDK = new AiparkSDK(getContext(),"YOUR_API_KEY");
                        new GetParkingAreasForTileRequest(
                                        (new GeometryFactory()).createPoint(new Coordinate(longitude,latitude))
                ).subscribe(new Subscriber() {
            public void onCompleted() {


            public void onError(Throwable e) {


            public void onNext(GetParkingAreasForTileResponse getParkingAreasForTileResponse) {
                for(MapEntry.Entry<Tile,List> entry :
                    for(ParkingArea parkingArea: entry.getValue()){

The following API endpoints are available:

  • getParkingAreasForTile
  • getOccupancyForParkingAreas
  • getParkingAreasForTileWithOccupancy
  • getParkingAreasForTileWithOccupancyForPosition
  • getParkingAreasForPosition
  • getParkingAreasForPositionWithOccupancy
  • getParkingAreasForPositionWithOccupancyForPosition
  • getOptimalTrip
  • getLiveParkEvents
  • getChargingStationsForTile
  • getChargingStationsForPosition

Please refer to the developer portal for detailed information on the data structures associated with each endpoint.

The SDK also supplies the last known parking position:

AiparkSDK aiparkSDK = new AiparkSDK(getContext(),"YOUR_API_KEY");

*    Get parking position with a listener,
*    this listener is called with the last known position immediately
*    and with updated parking position afterwards.
aiparkSDK.setOnNewParkingPositionListener(new OnNewParkingPositionListener() {
    public void onNewParkingPosition(ParkingPosition parkingPosition) {

*    Or you can get the last known position directly.
ParkingPosition parkingPosition = aiparkSDK.getLastKnownParkingPosition();
Updated on December 7, 2019

Was this article helpful?

Related Articles