ym88659208ym87991671
Документация для Android naviar SDK | Документация для разработчиков

Документация для Android naviar SDK

Обновлено 26 декабря 2022

Установка

  1. Откройте build.gradle вашего проекта. Добавьте mavenCentral репозиторий, если он отсутствует:

    allprojects {    
    repositories {
    mavenCentral()
    ...
    }
    }
  2. В build.gradle вашего модуля добавьте зависимость:

    dependencies {
    ...
    implementation "io.naviar:vps-sdk:0.7.0"
    }
  3. Синхронизируйте проект с файлами Gradle

Пример

Пример приложения можно найти в репозитории. Склонируйте репозиторий и сбилдите, как обычное приложение для Android. Убедитесь, что целевое устройство поддерживает ARCore.

Видео инструкция по запуску тестового проекта:

Выбор локации

В данной версии сервиса VPS вам доступно 7 тестовых локаций. Для переключения между ними в example проекте используйте поле location в SceneFragment

Choose location android

Использование

Android Manifest

Добавьте в AndroidManifest.xml эту строку, если android min sdk меньше 24:

<uses-sdk tools:overrideLibrary="io.naviar.vps_sdk, com.google.ar.sceneform.ux" />

По умолчанию VPS SDK имеет ограниченную видимость в Google Play Store для устройств с поддержкой ARCore

<uses-feature
android:name="android.hardware.camera.ar"
android:required="true" />

Чтобы переопределить видимость, добавьте следующие строки в AndroidManifest.xml вашего приложения

<uses-feature
android:name="android.hardware.camera.ar"
android:required="false"
tools:replace="android:required" />

Использование VpsArFragment

Вы можете использовать встроенный VpsArFragment. Вы можете добавить его в xml или в коде:

res/layout/main_activity.xml

<androidx.fragment.app.FragmentContainerView
android:id="@+id/vFragmentContainer"
android:name="io.naviar.vps_sdk.ui.VpsArFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />

или

src/main/java/…/MainActivity.kt

supportFragmentManager.beginTransaction()
.replace(R.id.vFragmentContainer, VpsArFragment())
.commit()

Установка VpsService

Создайте конфигурацию для VpsService:

val vpsConfig = VpsConfig.getIndoorConfig(<locationIds>)

или

val vpsConfig = VpsConfig.getOutdoorConfig(<locationIds>)

Установите VpsService:

val vpsService = vpsArFragment.vpsService

vpsService.setVpsConfig(vpsConfig)

//optional
vpsService.setVpsCallback(object : VpsCallback {
override fun onSuccess() {
}

override fun onFail() {
}

override fun onStateChange(state: State) {
}

override fun onError(error: Throwable) {
}
})

Для запуска VpsService:

vpsService.startVpsService()

Для остановки VpsService:

vpsService.stopVpsService()

VpsService в пользовательском ArFragment

Для инициализации VPS SDK в классе вашего приложения добавьте следующий код:

VpsSdk.init(this)

Создание нового instance для VpsService:

VpsService.newInstance(): VpsService

Вам также потребуется синхронизировать жизненный цикл VpsService с жизненным циклом вашего ArFragment:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
vpsService.bindArSceneView(arSceneView)
}

override fun onResume() {
super.onResume()
vpsService.resume()
}

override fun onPause() {
super.onPause()
vpsService.pause()
}

override fun onDestroy() {
super.onDestroy()
vpsService.destroy()
}

После этого вы можете использовать VpsService, как указано выше.

Размещение 3D моделей

Вы можете добавлять свои 3D модели используя worldNode в VpsService

vpsService.worldNode

Все объекты, размещенные под worldNode, будут иметь правильную глобальную позицию после локализации.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.