Google Play 서비스 구성 요소 및 NuGet 통합Unifying Google Play Services Components and NuGet

기록History

여러 Google Play 서비스 구성 요소 및 NuGet 패키지를 사용 있습니다.There used to be several Google Play Services Components and NuGet packages:

  • Google Play 서비스 (Froyo)Google Play Services (Froyo)
  • Google Play 서비스 (Gingerbread)Google Play Services (Gingerbread)
  • Google Play 서비스 ICS)Google Play Services (ICS)
  • Google Play 서비스 (JellyBean)Google Play Services (JellyBean)
  • Google Play 서비스 (KitKat)Google Play Services (KitKat)

Google Play 서비스에 대 한 Google 실제로 두 배.jar 파일:Google actually only ships two .jar files for Google Play Services:

  • google-play-services-froyo.jar
  • google-play-services.jar

이 도구가 제대로 하지 않았기 때문에 불일치가 존재 aapt.exe 지정된 된 앱에 사용할을 하는 최대 리소스 API 수준입니다.The discrepancy existed because our tooling didn't properly tell aapt.exe what the maximum resource API Level was to be used for a given app. 즉, Gingerbread 같은 낮은 API 수준에서 Google Play 서비스 (KitKat) 바인딩을 사용 하는 것이 노력 하는 경우 컴파일 오류가 발생 했습니다.This meant, we received compile errors if we tried using the Google Play Services (KitKat) binding on a lower API level like Gingerbread.

Google Play 서비스를 통합합니다.Unifying Google Play Services

Xamarin.Android의 최신 버전에서는 이제 알려줍니다 aapt.exe 우리 회사에이 문제가 계속 되므로 사용 하려면 최대 리소스 버전입니다.In more recent versions of Xamarin.Android, we now tell aapt.exe what maximum resource version to use, so this problem goes away for us.

그러나 즉, 이유는 없습니다 실제 Gingerbread/ICS/JellyBean/KitKat (에서는 여전히 필요는 별도 바인딩을 Froyo 용 이므로 다른.jar 파일을 모두)에 대 한 별도 패키지가 있어야 합니다.This means, there's no real reason to have separate packages for Gingerbread/ICS/JellyBean/KitKat (however we do still need a separate binding for Froyo since it's a different .jar file altogether).

쉽게 하려면 개발자를 위한,에서는 했으므로 이제 통합이 구성 요소 및 NuGet 패키지를 두 개:To make things easier for developers, we've now unified our Components and NuGet packages into two:

  • Google Play 서비스 (Froyo) (바인딩합니다 google-play-services-froyo.jar)Google Play Services (Froyo) (Binds google-play-services-froyo.jar)
  • Google Play 서비스 (바인딩합니다 google-play-services.jar)Google Play Services (Binds google-play-services.jar)

어떤 것을 사용 해야Which one should be used?

거의 모든 경우 Google Play 서비스를 사용 해야 합니다.In almost every case, Google Play Services should be used. (Froyo) 패키지를 사용 하는 유일한 이유는 적극적으로 Froyo를 대상으로 하는 경우.The only reason to use the (Froyo) package is if you are actively targeting Froyo. Froyo 장치의 몇 퍼센트 이므로 별도.jar 파일이 Google에서이 유일한 이유는,이.jar 파일 Google Play Services의 고정 된, 지원 되지 않는 스냅숏 이므로, 지원 하지 않기로 자체가 합니다.The only reason this separate .jar file exists from Google is since Froyo is on such a small percentage of devices, they themselves have decided to stop supporting it, so this .jar file is a frozen, unsupported snapshot of Google Play Services.

Gingerbread에 대 한 정보Note about Gingerbread

Gingerbread 기본적으로 지원 되는 조각 없고이 인해 바인딩에 클래스 중 일부를 사용할 수 없습니다 Gingerbread 장치에서 런타임 시 앱에서.Gingerbread does not have Fragment support by default, and because of this, some of the classes in the binding will not be usable in an app at runtime on a Gingerbread device. 같은 클래스 MapFragment Gingerbread에서 작동 하지 않으며 해당 지원 variant를 대신 사용 해야 SupportMapFragment합니다.Classes like MapFragment will not work on Gingerbread, and their Support variant should be used instead SupportMapFragment. 알고 사용 하는 개발자에 게 됩니다.It's up to the developer to know which to use. 이러한 비 호환성은 Google에서가 Google Play Services 설명서에 기록 됩니다.This incompatibility is noted by Google in their Google Play Services documentation.

이전 구성 요소/NuGet의 되나요?What happens to the old Components/NuGet's?

더 이상 필요 하므로 사용 안 함/Delisted 다음 구성 요소/Nuget 없습니다.Since they are no longer needed, we have Disabled/Delisted the following Components/NuGets:

  • Google Play 서비스 (Gingerbread)Google Play Services (Gingerbread)
  • Google Play 서비스 (JellyBean)Google Play Services (JellyBean)
  • Google Play 서비스 (KitKat)Google Play Services (KitKat)

기존 Google Play Services ICS () 구성 요소/Nuget로 바뀌었습니다 Google Play Services 및 최신 상태로 계속 유지 됩니다.The existing Google Play Services (ICS) Component/Nuget has been renamed to Google Play Services and will be kept up to date going forward. 사용 안 함/Delisted 패키지 중 하나를 참조 하는 모든 프로젝트는이 사용 하도록 업데이트 되어야 합니다.All projects referencing one of the Disabled/Delisted packages should be updated to use this one.

비활성화 된 구성 요소 존재 하며 해당 손상을 방지 하기 위해에서는 여전히 참조 되는 프로젝트에 대 한 복원 가능 해야 합니다.The disabled Components still exist and should be restorable for projects they are still referenced in, to avoid breaking them. 마찬가지로 delisted NuGet 패키지를 계속 존재 하 고 복원할 수 있습니다.Similarly the delisted NuGet packages still exist and can be restored. 이러한 업데이트 되지 않습니다 앞으로 이동 합니다.They will not be updated going forward.