Getting started
Getting started
First you need to contact 2GIS technical support to get a new key. Be sure to specify the appId
of the application for which the key will be generated. The resulting key file dgissdk.key
needs to be added to assets
.
To begin working with the SDK, call the initialize()
method of DGis and specify the application context.
class Application : Application() {
lateinit var sdkContext: Context
override fun onCreate() {
super.onCreate()
sdkContext = DGis.initialize(
this
)
}
}
Note that you cannot create more than one Context instance.
Additionally, you can specify logging settings (LogOptions) and HTTP client settings (HttpOptions) such as caching.
// Logging settings
val logOptions = LogOptions(
LogLevel.VERBOSE
)
// HTTP client settings
val httpOptions = HttpOptions(
useCache = false
)
// Consent to personal data processing
val dataCollectConsent = PersonalDataCollectionConsent.GRANTED
sdkContext = DGis.initialize(
appContext = this,
dataCollectConsent = dataCollectConsent,
logOptions = logOptions,
httpOptions = httpOptions
)
Vendor Config
To override some SDK operation settings, a file in the format VendorConfig is used, which is passed during SDK initialization.
There are several ways to create an instance of the VendorConfig
class:
- VendorConfigFromAsset - the file should be located in the assets directory of the application source code and you must specify the file name in the constructor.
- VendorConfigFromFile - the file should be located on the device file system and you must specify the absolute path to it.
- VendorConfigFromString - a string with the contents of the json file should be passed to the constructor.
The created VendorConfig instance is passed to the DGis.initialize() method with the vendorConfig
parameter
Working with offline data
Mobile SDK (the Full version) allows you to work with map, directory, and routing data offline from preloaded packages. This can be helpful when the network connection is low or missing.
To configure the offline mode:
-
Ensure that your access key contains proper rights for working with offline data. You can request access to offline data for all components (map, directory, routing) or select only the required ones.
-
Use TerritoryManager to download data files for territories where your application must work offline.
-
Configure SDK components for working with preloaded data:
- Map: create a data source and specify the required working mode.
- Directory: use the required method of creating an object directory.
- Routing: a hybrid mode is used by default. For details, see the routing documentation.