Pins field no appears in the estimote indoor SDK Location Entity

Hi there.
i try develop a dynamic function with the pins name field but, i was surprised after i realized that this field no appears in the estimote indoor location SDK Location entity

data class Location(
        /** Name of the location */
        val name: String = "",
        /** Location unique identifier */
        val identifier: String = "",
        /** If this location is accessible publicly, or only by the given Estimote Cloud account */
        val public: Boolean = true,
        /** Name of location owner */
        val owner: String = "",
        /** Location global orientation. If not supplied, the default value is `0.0` */
        val orientation: Double = 0.0,
        /** List containing location wall objects (with coordinates and stuff) */
        val walls: List<LocationWall> = emptyList(),
        /** List containing location beacon objects (with coordinates and stuff) */
        val beacons: List<LocationBeacon> = emptyList(),
        /** List containing location linear objects - doors, windows, etc. */
        val linearObjects: List<LocationLinearObject> = emptyList()
)

the strange thing is that field appears in the add indoor location web service,

{
    "name": "Example location",
    "public": false,
    "orientation": 23.5,
    "walls": [
        {
            "x1": 0,
            "y1": 0,
            "x2": 0,
            "y2": 5,
            "orientation": 90
        },
        {
            "x1": 0,
            "y1": 5,
            "x2": 7,
            "y2": 5,
            "orientation": 180
        },
        {
            "x1": 7,
            "y1": 5,
            "x2": 9,
            "y2": -2,
            "orientation": 254.054604099077
        },
        {
            "x1": 9,
            "y1": -2,
            "x2": 4,
            "y2": 0,
            "orientation": 21.8014094863518
        },
        {
            "x1": 4,
            "y1": 0,
            "x2": 0,
            "y2": 0,
            "orientation": 0
        }
    ],
    "beacons": [
        {
            "beacon": {
                "mac": "c32e9dab6b87"
            },
            "position": {
                "x": 5,
                "y": 2,
                "orientation": 0
            }
        },
        {
            "beacon": {
                "mac": "ce0a257b725f"
            },
            "position": {
                "x": 7.54944225579476,
                "y": 3.07695210471835,
                "orientation": 254.054604099077
            }
        },
        {
            "beacon": {
                "mac": "7c72a730bc03ef3b8be89d4f9f8d7d23"
            },
            "position": {
                "x": 3,
                "y": 5,
                "orientation": 180
            }
        },
        {
            "beacon": {
                "mac": "5cc24a9872002ee567b4156a7c57b005"
            },
            "position": {
                "x": 0,
                "y": 2.5,
                "orientation": 90
            }
        }
    ],
    "linear_objects": [
        {
            "x1": 1,
            "y1": 0,
            "x2": 3,
            "y2": 0,
            "orientation": 0,
            "type": 1
        },
        {
            "x1": 0,
            "y1": 1,
            "x2": 0,
            "y2": 2,
            "orientation": 90,
            "type": 0
        }
    ],
    "pins": [
        {
            "x": 1,
            "y": 0,
            "orientation": 0,
            "name": "Downhill bike",
            "type": "bike"
        },
        {
            "x": 1,
            "y": -1,
            "orientation": 100,
            "name": "My chair",
            "type": "furniture"
        }
    ]
}

how can implement this pins name field in my app? to be able developed dynamics functions.
help me please
best regard.

Pins were originally designed for our iOS Indoor SDK w/ the AR mode, and they haven’t made it to the Android SDK.

Since you’ve already noticed that pins are returned via the Cloud API, I think the best workaround I could suggest is to hit that API in your Android app, and get the pins out of the response.

ok
how i can hit the cloud API? for access the pins field, is that i need develop a voice command like this

tts = TextToSpeech(this, this)
val arrayofString = arrayOf("Haz seleccionado "+location.name+" conócela por dentro")
for (i in arrayofString) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        tts!!.speak(i, TextToSpeech.QUEUE_FLUSH, null, null)
    } else {
        val hash = HashMap<String, String>()
        hash.put(TextToSpeech.Engine.KEY_PARAM_STREAM,
                AudioManager.STREAM_NOTIFICATION.toString())
        tts!!.speak(i, TextToSpeech.QUEUE_FLUSH, hash)
    }

but using the pins name field to notify the blind pleople in this where located beacuse my app is focused mainly in this people.
Help me please.
Best regard.

You need to make an HTTP request to this endpoint:

https://cloud.estimote.com/docs/#api-IndoorGroup-GetIndoorLocation

… and parse the JSON response.

For how to make an HTTP request:
https://developer.android.com/training/volley

Alternatively, OkHttp is another popular library for making HTTP requests:
http://square.github.io/okhttp/

For parsing the JSON response, probably best to use the built-in JSONObject class. There’s quite a few tutorials out there, so just pick the one that looks best to you (:


Alternatively, just hard-code the pins into your app for now, for some quick results/prototyping. And later on, you could store the pins in your own backend, e.g., with Firebase.