소비자 SDK 초기화

이 절차를 시작하기 전에 적절한 소비자 SDK와 관련이 있습니다.

소비자 SDK를 초기화하려면 다음 단계를 따르세요.

  1. ConsumerAPI 인스턴스 가져오기
  2. 기본 렌더기를 요청하도록 Maps SDK 초기화하기

ConsumerApi 인스턴스 가져오기

소비자 SDK를 사용하려면 앱에서 싱글톤을 초기화해야 합니다. ConsumerApi를 비동기식으로 처리합니다. 초기화 메서드는 필요한 경우 AuthTokenFactory 클래스를 사용하여 사용자의 새 JWT 토큰을 생성합니다.

providerId는 Google Cloud 프로젝트의 프로젝트 ID입니다. 자세한 내용은 Fleet Engine 프로젝트 만들기에 대한 자세한 내용은 다음을 참조하세요. Fleet Engine 가이드에서 Fleet Engine 프로젝트를 만듭니다.

앱은 소비자 SDK에 설명된 대로 AuthTokenFactory를 구현해야 합니다. 인증.

자바

Task<ConsumerApi> consumerApiTask = ConsumerApi.initialize(
    this, "myProviderId", authTokenFactory);

consumerApiTask.addOnSuccessListener(
  consumerApi -> this.consumerApi = consumerApi);

Kotlin

val consumerApiTask =
  ConsumerApi.initialize(this, "myProviderId", authTokenFactory)

consumerApiTask?.addOnSuccessListener { consumerApi: ConsumerApi ->
  this@YourActivity.consumerApi = consumerApi
}

Maps SDK 및 지도 렌더기

소비자 SDK v2.0.0 이상에서는 Android용 Maps SDK v18.1.0 및 확인할 수 있습니다 다음 표에는 Maps SDK 버전별 기본 렌더기가 요약되어 있습니다. 두 렌더기의 지원 가능성을 고려해야 합니다. 가능하면 최신 렌더러를 사용하세요. 기존 렌더기를 사용해야 하는 경우 MapsInitializer.initialize()를 사용하여 이를 명시적으로 지정합니다.

Maps SDK 버전 최신 렌더기 지원 기존 렌더기 지원 기본 렌더기
V18.1.0 이하 기존*
V18.2.0 최신

* 새 지도 렌더기가 출시됨에 따라 최신 렌더기는 기본값입니다.

기본 렌더기를 사용해야 하는 경우 모든 UI 렌더링 작업을 실행하세요. after OnMapsSdkInitializedCallback는 결과를 반환합니다. UI 렌더링 연산에는 다음 연산이 포함됩니다.

  • GoogleMapView 또는 ConsumerMapView가 포함된 뷰 확장

  • ConsumerMapView에 마커를 배치합니다.

OnMapsSdkInitializedCallback 결과가 나오면 지도 SDK가 대신 기본 렌더기에서 지도뷰를 렌더링합니다.

소비자 SDK를 초기화하기 전에 Maps SDK 초기화

  1. Application 또는 스타트업 Activity 클래스에서 다음을 호출합니다. MapsInitializer.initialize()

  2. 렌더기 요청 결과를 기다린 후 소비자 SDK를 초기화합니다.

자세한 내용은 다음 예시를 참조하세요.

자바

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  initViews();

  MapsInitializer.initialize(getApplicationContext(), Renderer.LATEST,
      new OnMapsSdkInitializedCallback() {
        @Override
        public void onMapsSdkInitialized(Renderer renderer) {
          switch (renderer) {
            case LATEST:
              Log.i("maps_renderer", "LATEST renderer");
              break;
            case LEGACY:
              Log.i("maps_renderer", "LEGACY renderer");
              break;
          }

          initializeConsumerSdk();
        }
      });
}

Kotlin

fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.main)
  initViews()

  MapsInitializer.initialize(
    getApplicationContext(), Renderer.LATEST,
    object : OnMapsSdkInitializedCallback() {
      fun onMapsSdkInitialized(renderer: Renderer?) {
        when (renderer) {
          LATEST -> Log.i("maps_renderer", "LATEST renderer")
          LEGACY -> Log.i("maps_renderer", "LEGACY renderer")
        }
        initializeConsumerSdk()
      }
    })
  }

SSL/TLS 관련 참고사항

내부적으로 소비자 SDK 구현은 SSL/TLS를 사용하여 안전하게 통신합니다. 연결할 수 있습니다 Android API 버전 23 이하에서는 서버와 통신하기 위한 SecurityProvider 패치 Android에서 SSL을 사용하는 방법에 관한 자세한 내용은 보안 GMS 제공업체를 참고하세요. 이 문서에는 보안 프로바이더에 패치를 적용하기 위한 코드 샘플도 포함되어 있습니다.

다음 단계

지도 설정하기