Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

Atlas App Services에 연결 - Kotlin SDK

이 페이지의 내용

  • 전제 조건
  • 앱 클라이언트 초기화
  • 기본 앱 클라이언트
  • 구성된 앱 클라이언트
  • 앱 클라이언트 구성
  • 동기화 연결 공유
  • 동기화 시간 초과 구성
  • 앱 메타데이터 암호화
  • 사용자 지정 HTTP headers설정
  • 플랫폼 네트워킹 활성화
  • 앱 클라이언트 닫기

이 페이지에서는 코틀린 SDK (Kotlin SDK) 를 사용하여 앱 클라이언트 를 초기화하고 Atlas App Services 백엔드 에 연결하는 방법을 설명합니다.

앱 클라이언트 는 App Services 백엔드 에 대한 클라이언트 사이드 인터페이스입니다. App Services App 과 상호 작용 수 있으며 다음을 포함한 App Services 기능에 대한 액세스 를 제공합니다.

  • 앱 사용자 인증

  • Device Sync 를 사용하여 Atlas 백엔드 와 클라이언트 앱 간에 데이터 동기화

  • Atlas 함수 호출

각 앱 클라이언트 는 단일 앱 ID 와 연결됩니다. App Services UI 에서 앱 ID 를 찾는 방법을 학습 보려면 App Services 문서에서 앱 ID 찾기 를 참조하세요.

Atlas App Services에 연결하려면 먼저 앱 ID가 있는 App Services App이 필요합니다.

시작하려면 App Services 문서에서 앱 만들기 를 참조하세요.

코틀린 SDK (Kotlin SDK)는 인터페이스를 사용하여 App 클라이언트에 액세스합니다.

App 클라이언트 는 단일 앱 ID 와 연결됩니다. 여러 앱에 연결하는 여러 앱 클라이언트 인스턴스를 가질 수 있지만 동일한 앱 ID 를 주식 하는 모든 앱 클라이언트 인스턴스는 동일한 기본 연결을 사용합니다.

다음 메서드 중 하나를 호출하여 앱 클라이언트 를 초기화할 수 있습니다.

  • .create(): 기본값 구성 값으로 앱을 초기화합니다.

  • .build(): AppConfiguration 객체를 통해 전달된 사용자 지정 구성 값을 사용하여 앱을 초기화합니다.

앱을 초기화한 후에는 App 인스턴스 를 사용하여 App Services 기능에 액세스 수 있습니다.

기본값 구성 값으로 앱을 초기화하려면 App Services App 의 앱 ID 를 App.create() 메서드에 전달합니다.

// Creates an App with default configuration values
val app = App.create(YOUR_APP_ID) // Replace with your App ID

AppConfiguration 인터페이스를 사용하면 선택적 인수를 사용하여 앱 클라이언트 를 구성하여 로컬 암호화 를 위한 사용자 지정 요청 헤더 및 키와 같은 앱 연결 세부 정보를 보다 세밀하게 제어할 수 있습니다.

구성 옵션을 제어하려면 AppConfiguration.Builder 를 사용하고 .build() 메서드를 호출하여 구성 객체 를 전달합니다.

// Creates an App with custom configuration values
AppConfiguration.Builder(YOUR_APP_ID)
// Specify your custom configuration values
.appName("my-app-name")
.appVersion("1.0.0")
.baseUrl("http://localhost:9090")
.build()

버전 1.14.0에서 변경됨: baseUrl 이(가) AppConfiguration에 캐시되지 않았습니다.

앱 클라이언트 를 초기화하면 구성이 내부적으로 캐시됩니다.

동일한 프로세스 내에서 구성이 변경된 앱을 닫았다가 다시 열려고해도 아무런 효과가 없습니다. 클라이언트는 캐시된 구성을 계속 사용합니다.

코틀린 SDK ( 코틀린 SDK (Kotlin SDK) ) 버전 1.14.0 부터 baseUrl()더 이상 AppConfiguration 에 캐시되지 않습니다. 즉, baseUrl 을 변경할 수 있으며 앱 클라이언트 는 업데이트된 구성을 사용합니다. 이전 SDK 버전에서는 캐시된 앱 구성의 baseUrl 변경 사항이 적용되지 않았습니다.

다음 섹션에서는 특정 속성을 사용하여 AppConfiguration 클라이언트 를 빌드 하는 방법을 설명합니다.

참고

Atlas Device Sync 에 적용됩니다.

이 구성 옵션은 Atlas Device Sync를 사용하는 앱에만 적용됩니다. Kotlin SDK에서 Device Sync를 사용하는 방법에 대한 자세한 내용 은 앱에 Device Sync 추가 - Kotlin SDK를 참조하세요.

버전 1.13.0에 추가 되었습니다.

기본적으로 SDK는 동기화된 각 Realm에 대해 서버에 대한 별도의 연결을 엽니다. Kotlin v1.13.0 이상에서는 세션 멀티플렉싱 을 활성화할 수 있습니다. 활성화되면 SDK는 단일 Atlas App Services 사용자로 열린 모든 동기화 영역에 대해 서버 연결을 공유합니다. 여러 세션에서 연결을 공유하면 리소스가 줄어들고 성능이 향상될 수 있습니다.

멀티플렉싱은 기본적으로 비활성화되어 있습니다. .enableSessionMultilexing() 을 사용하여 AppConfiguration 에서 활성화할 수 있습니다. 메서드로, 부울 값을 허용합니다.

val config = AppConfiguration.Builder(YOUR_APP_ID)
.enableSessionMultiplexing(true)
.build()

활성화되면 모든 세션이 닫힐 때 공유 연결이 즉시 닫히지 않습니다. 대신 connectionLingerTime 동안 열린 상태로 유지되며 기본값은 30 초입니다. AppConfigurationSyncTimeoutOptions.connectionLingerTime() 에 새 값을 전달하여 이 기간을 재정의할 수 있습니다.

val configCustomLingerTime = AppConfiguration.Builder(YOUR_APP_ID)
.enableSessionMultiplexing(true)
.syncTimeouts {
connectionLingerTime = 10.seconds // Overrides default 30 secs
}
.build()

자세한 내용은 이 페이지의 동기화 시간 초과 구성 섹션을 참조하세요.

참고

Atlas Device Sync 에 적용됩니다.

이 구성 옵션은 Atlas Device Sync를 사용하는 앱에만 적용됩니다. Kotlin SDK에서 Device Sync를 사용하는 방법에 대한 자세한 내용 은 앱에 Device Sync 추가 - Kotlin SDK를 참조하세요.

버전 1.13.0에 추가 되었습니다.

코틀린 (Kotlin) v1.13.0 이상에서는 Atlas 백엔드 와 클라이언트 앱 간에 데이터를 동기화할 때 사용되는 기본값 시간 제한 설정을 재정의할 수 있습니다.

.syncTimeout() 을 사용하여 AppConfiguration 에서 다양한 동기화 시간 초과 설정하다 을 지정할 수 있습니다. 메서드. 재정의하려는 특정 시간 초과 속성 값을 전달합니다. 구성된 제한 시간은 앱 의 모든 동기화 세션에 적용 됩니다.

val config = AppConfiguration.Builder(YOUR_APP_ID)
.syncTimeouts {
connectTimeout = 1.minutes
connectionLingerTime = 15.seconds
pingKeepalivePeriod = 30.seconds
pongKeepalivePeriod = 1.minutes
fastReconnectLimit = 30.seconds
}
.build()

사용 가능한 시간 초과 속성 및 해당 정의의 전체 목록은 SyncTimeoutOptionsBuilder API 참조를 참조하세요.

App Services 에 연결하면 Realm 은 기기에 추가 메타데이터 파일을 생성합니다. 이러한 메타데이터 파일에 대한 자세한 내용은 코틀린 (Kotlin) 용 Atlas Device SDK 를 참조하세요.

동기화된 Realm 암호화와 유사하게 Atlas App Services가 클라이언트 기기에 저장하는 메타데이터를 암호화할 수 있습니다.

앱 메타데이터를 암호화하려면 앱을 초기화할 때 암호화 키를 encryptionKey 속성에 전달합니다.

val config =
AppConfiguration.Builder(YOUR_APP_ID)
// Specify the encryption key
.encryptionKey(myEncryptionKey)
.build()

버전 1.11.0의 새로운 기능.

프록시 설정 과 함께 App Services 또는 Device Sync 를 사용하는 경우 사용자 지정 HTTP headers 를 설정하다 해야 할 수 있습니다. 코틀린 SDK ( 코틀린 SDK (Kotlin SDK) )는 앱에서 사용자 지정 HTTP headers 설정을 지원합니다. 이러한 헤더는 함수 호출을 포함하여 App Services App 에 대한 모든 요청 에 추가됩니다.

앱을 초기화할 때 다음을 전달할 수 있습니다.

AppConfiguration.Builder(YOUR_APP_ID)
.authorizationHeaderName("MyApp-Authorization")
.customRequestHeaders { put("X-MyApp-Version", "1.0.0") }
.build()

버전 1.14.0에 추가 되었습니다.

Atlas Device SDK의 플랫폼 네트워킹 을 사용하면 Device Sync 트래픽에 기본값 WebSocket 클라이언트 대신 플랫폼의 네트워킹 스택 을 사용할 수 있습니다.

활성화하면 Android 및 JVM ( Java Virtual Machine) 플랫폼에서 실행 되는 애플리케이션이 OkHttp 를 통해 managed WebSocket을 사용하도록 구성할 수 있습니다. . 관리형 WebSocket은 인증 이 필요한 프록시 및 방화벽에 대한 고급 구성 지원 을 제공합니다.

플랫폼 네트워킹은 기본값 비활성화되어 있습니다. AppConfiguration.usePlatformNetworking() 을 사용하여 AppConfiguration 에서 활성화 할 수 있습니다. 메서드로, 부울 값을 허용합니다.

val config =
AppConfiguration.Builder(YOUR_APP_ID)
.usePlatformNetworking(true)
.build()

참고

Android 및 JVM 플랫폼만 해당

이 기능 은 현재 Android 및 JVM ( Java Virtual Machine) 플랫폼에서만 사용할 수 있습니다.

App.close() 메서드를 사용하여 앱 인스턴스를 수동으로 닫고 모든 기본 리소스를 해제할 수 있습니다.

app.close()

수동으로 닫지 않으면 앱 인스턴스 가 가비지 수집될 때 리소스가 해제됩니다.

돌아가기

Atlas에 연결