Начало работы
Инициализация SDK
-
Обратитесь в службу поддержки 2ГИС для получения ключа доступа. Обязательно укажите
appId
приложения, для которого будет создан ключ. Подробнее см. в разделе Получение ключей доступа. -
Создайте специальный объект Container, который будет хранить все сущности, связанные с картой. При создании объекта укажите путь до полученного файла ключа
dgissdk.key
одним из способов:-
Из
Bundle.main
приложения с помощью метода fromAsset() (способ по умолчанию). Ключ должен быть прикреплён к корню приложения:// Получение файла ключа
let key = KeySource.fromAsset(KeyFromAsset(path: "dgissdk.key"))
// Создание контейнера
let sdk = DGis.Container(keySource: key) -
C указанием абсолютного пути до файла ключа с помощью метода fromFile():
// Получение файла ключа
let key = Bundle.main.path(forResource: "dgissdk", ofType: "key").map {
KeySource.fromFile(KeyFromFile(path: $0))
}
// Создание контейнера
let sdk = DGis.Container(keySource: key) -
С указанием строки для получения файла ключа с помощью метода fromString():
// Получение файла ключа
let key = KeySource.fromString(KeyFromString(contents: "some content"))
// Создание контейнера
let sdk = DGis.Container(keySource: key)
Важно
DGis.Container
может быть создан только в единственном экземпляре. -
-
Дополнительно вы можете указать настройки журналирования (LogOptions) и настройки HTTP-клиента (HTTPOptions), такие как время ожидания ответа и кеширование.
// Настройки журналирования
let logOptions = LogOptions(systemLevel: .info)
// Настройки HTTP-клиента
let httpOptions = HttpOptions.init()
// Настройки сбора анонимной статистики использования
let personalDataCollectionOptions = PersonalDataCollectionOptions(personalDataCollectionConsent: .granted)
// Создание контейнера
let sdk = DGis.Container(
keySource: key,
logOptions: logOptions,
httpOptions: httpOptions,
personalDataCollectionOptions: personalDataCollectionOptions
)
Vendor Config
Для переопределения некоторых настроек работы SDK используется файл в формате VendorConfig
, который передается при инициализации контейнера SDK.
-
Добавьте файл в формате
VendorConfig
в бандл при сборке приложения и создайте экземпляр класса File.Для файла, добавленного в корень бандла и имеющего имя
vendor-config.json
, код будет выглядеть так:let vendorConfigFile = Bundle.main.path(forResource: "vendor-config", ofType: "jsonx").map {
VendorConfig.fromFile(VendorConfigFromFile(path: $0))
}