2014-01-03 4 views

ответ

7

Исходя из тех, кто перешел на Google Play Services некоторое время назад, я могу дать вам некоторый опыт:

У меня есть приложение, около 2,5 лет, который использует службы определения местоположения широко. С самого начала, конечно, мы использовали LocationManager, так как это было доступно на платформе Android.

У нас был довольно плохой опыт работы с сервисами местоположения на Android по сравнению с IOS. Он был неудачным, ненадежным и предоставлял менее точные места, чем наше приложение для IOS, плюс, что он разрядил больше батареи. Это было сопротивление.

Поэтому, когда Google обнародовал новый API в июне этого лета, мы прыгнули на него. Это лучше. Несколько вещей:

  1. Это быстрее и надежнее.
  2. это менее багги. Например, в старом API иногда можно получить «старое» исправление с новой меткой времени. Это никогда не бывает. Там больше, но это будет еще более длинный пост.
  3. Это определенно истощает меньше батареи. Например, когда вы открывали карту, GPS постоянно работал, и значок GPS был виден. Это не относится к новой. Это заставило пользователей задаться вопросом, что происходит. Это еще одна проблема.

Итак, когда дело доходит до выхода и работы, все лучше. Но есть некоторые недостатки:

  1. Вы должны иметь Google Play Services установлены, то есть он не будет работать на любом «не Google утвержденных» моделей телефонов, а в некоторых случаях вы должны сообщить пользователям они необходимо установить его.

  2. API сам по себе более сложный IMO, частично из-за пункта 1. В дополнение к «регулярным» обратным вызовам, т.е. ожиданию исправлений местоположения и т. Д. Теперь у вас есть процесс, который принимает участие, прежде чем вы сможете начать, где вы необходимо проверить, что доступны сервисные службы, и «подключить» локатор. Это дополнительный код и немного сложнее понять. Более ошибочные условия, которые необходимо учитывать и в коде (если вас это беспокоит ...)

  3. Служба Google Play сама по себе требует не менее 2,2, чтобы она не работала для более старых устройств, чем это. Нам пришлось рассказать некоторым клиентам, которых они должны были обновить ...

Надеюсь, что это поможет.

+0

Когда вы говорите «подключитесь», вы говорите о добавлении приемников оповещения прокси и их управлении? или? .. просто пытаясь понять, что вы имеете в виду. – uofc

+0

Я имею в виду действие подключения google play locationclient, то есть наличие «канала открыт», чтобы вы могли делать то, что хотите делать, о чем говорите. – Mathias

+0

Mathias - я вижу LocationClient устарел в пользу LocationServices.GeofencingApi - вы использовали новый Api? – InquisitorJax