이 절차를 시작하기 전에 적절한 소비자 SDK와 관련이 있습니다.
소비자 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 초기화
Application
또는 스타트업Activity
클래스에서 다음을 호출합니다. MapsInitializer.initialize()렌더기 요청 결과를 기다린 후 소비자 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 제공업체를 참고하세요.
이 문서에는 보안 프로바이더에 패치를 적용하기 위한 코드 샘플도 포함되어 있습니다.