As I understand application with new maps SDK v2 can be installed only on devices with Google Play services APK.
And v1 keys will not be available after 3/2013, so does it means I can't build today map application which runs on most of Android devices?
As I understand application with new maps SDK v2 can be installed only on devices with Google Play services APK.
The app can be installed on whatever devices you want. Maps V2 will only work on devices with the Play Services Framework APK. This should already exist on most Android 3.0+ devices and should be downloadable to many Android 2.2/2.3 devices.
so does it means I can't build today map application wich runs on most of android devices?
First, Maps V1 works on most Android devices. The fact that you cannot get new API keys starting on 3 March 2013 does not mean that you cannot use Maps V1. Simply make sure that you have a long-lived debug keystore, that you have Maps V1 API keys for that keystore and your production keystore, and that you have a decent backup regimen.
Second, Maps V2 should work on "most Android devices", though dealing with devices that do not presently have the Play Services Framework (but could download it from the Play Store) is a bit annoying.
Third, there are other mapping solutions available, such as OpenStreetMap with OSMDroid, that can run on just about anything.
Android 2.2 is installed on 97.6% of devices, and is the major requirement for Google Play services.
Source: http://developer.android.com/about/dashboards/index.html
Sounds like a "most of Android devices", I think..
Related
I updated SDk for android after 4.4 release. I saw that they have bifurcated Google Play Services and Google Play Services for Froyo. What is the reason behind this? Now suppose I want to use integrate Google Map in app how to use these two services for the Google Map Integration ?
Per the Google Play Services 4.0 announcement:
With over 97% of devices now running Android 2.3 (Gingerbread) or newer platform versions, we’re dropping support for Froyo from this release of the Google Play services SDK in order to make it possible to offer more powerful APIs in the future. That means you will not be able to utilize these new APIs on devices running Android 2.2 (Froyo).
If you use the 'Google Play Services for Froyo', you will not be able to use the new features included in Google Play Service 4.0. For Maps, the 4.0 features include
The Maps API enhances map customization features, letting you specify marker opacity, fade-in effects, and visibility of 3D buildings. It’s also now possible to change ground overlay images.
I have one Android app, which has been servicing on Google Play. Its main feature is using Google Maps. I am trying to port it to Amazon App store for Android. However, it is so confusing to use Maps. I would like to use one source code and support the below devices from Amazon App store.
All non-Amazon Android devices based on my manifest
Kindle Fire
Kindle Fire HD
Kindle Fire HD 8.9
If I use Amazon Maps API, does it support this devices (All non-Amazon Android devices based on my manifest)?? If I use Google Maps API, the Kindle Fire devices can not display maps?? Or should I use both Google Maps API and Amazon Maps API to support all devices, if so, how??
If someone has an experience for this, please give me how to port Google Play app which uses Google Maps API to Amazon App Store to support those above devices at once.
Thanks in advance.
Amazon does not support the Google Maps API of any version.. They use their own API which is nearly identical to the Google Maps v1 but is missing things like traffic and street view. So to answer your question, it is not possible to only build one map solution and work on both Kindle Fire devices and other non-Amazon Androids.
As for what devices the Amazon maps api supports it would be all of their Fire devices minus the first generation Fires which run a forked version of Android based on API 10.
It IS possible to build both an Amazon map and Google map in the same code base and decide at runtime which to utilize. Here is a nice little blog on some things to keep in mind when doing this.
Hope that gives you some direction!
Update: the Amazon Maps API has been updated to v2. Here is an article about how to migrate an app from Google Maps v2.
According to the article, the Amazon Maps API offers interface parity with version 2 of the Google Maps API and most classes and method calls in your Google Maps app work the same on Amazon devices. I will give it a try and see today.
Google Maps API V2 for Android is a big leap forward compared to v1: better rendering, fragment support... But there is one grey area I am trying to clarify about its use.
I look forward to create a map-based application for an Android device that does not have Google Play on it i.e. did not pass Google validation such as a low-end tablet or a car radio, and distrbute it on third-party markets.
Such applications using V1 API are possible.
The V2 has a dependency on Google Play Services, which is available to devices with Google Play only.
Does it mean that the V2 API is definitely unavailable for the aforementioned devices?
I look forward to create a map-based application for an Android device that does not have Google Play on it i.e. did not pass Google validation such as a low-end tablet or a car radio, and distrbute it on third-party markets. Such applications using V1 API are possible.
Only because the makers of those devices pirated the Maps code, as both Maps V1 and Maps V2 are only available for manufacturers who pass validation and license that code.
Does it mean that the V2 API is definitely unavailable for the aforementioned devices?
Barring similar piracy, yes.
You can try manually install the bin files that are required for Google maps, same way as you would do if you wanted to get the emulator running a Google Map API V2.
you can get more information on how it's done from the following blog post I wrote:
link
I don't know if this solution will be applicable for those devices but you can try it.
I can get my android application to have google maps api v2 working on it fine even though I was building my application using API 8, not Google API + Android API 8
so the question is, if I can get google maps to work fine with my android application without needing to compile/build with the Google Api+Android 8, so what is Google API build used for then ?
It's a very confusing thing
Google Maps Android API v1 required the Google API's add-on. V2 doesn't need the add-on and is supported via Google Play Services. This is the new way Google is allowing developers to access their API's. The advantage to this is that Google Play Services can be update via the Google Play Store. I think it is much harder for Google to update the add-on. You can see what else the add-on supports here: https://developers.google.com/android/add-ons/google-apis/. Mainly the maps API plus some USB API's.
Is it possible to use Google Maps Android library in my app in a way, that the app can be installed even on phones without Google Maps? On phones without Google Maps, the maps feature would be disabled.
Is it possible to use Google Maps Android library in my app in a way, that the app can be installed even on
phones without Google Maps?
There is an undocumented android:required="false" flag you can put on the <uses-library> element. I am hopeful that they will document this in a future release. With that set to false, you would need to use reflection to see if Google Maps is loaded (e.g., try to find the MapView class) -- if not, disable whatever would lead the user to a map.
If anybody else has the same problem (I do):
On this Android Developer page it says -- as far as I can tell -- that you can reference the Maps API and thus have e.g. a map activity in your app by using Google Play services:
"The Google Maps Android APIs are not included in the Android
platform, but are available on any device with the Google Play Store
running Android 2.2 or higher, through Google Play
services.
To integrate Google Maps into your app, you need to install the Google
Play services libraries for your Android SDK. For more details, read
about Google Play
services."
Apparently it is an actual app (it is installed on my phone) that updates certain Google stuff.
So it seems it is possible, but only for devices running Android 2.2 (API level 8) and above.
I find the explanation on that site a bit unclear, however, and I have not been able to test this on my own.
In my case, I guess I have to live with the fact that not all devices will be able to install my app, since I target an API < 8.