Is it possible to run the google maps native app inside of my app, or does it have to be launched separately? I want to give the appearance of only one app running, mine. If the first answer is yes, what sort of control or method could I look up and use?
You cannot embed the Google Maps app into your app. You can embed native Google Maps into your app via the Play Services SDK.
You need to integrate the Google Maps SDK into your app. Here's a link to that SDK:
https://developers.google.com/maps/documentation/ios-sdk/start
I would recommend installing via CocoaPods. Here's a tutorial on how to get started with CocoaPods:
http://www.raywenderlich.com/97014/use-cocoapods-with-swift
Once you've installed the Google Maps SDK via CocoaPods, you'll need to get an API key and integrate it into your app:
To use the Google Maps SDK for iOS, you must register your app project on the Google Developers Console and get a Google API key which you can add to your app. Note: There are various types of API keys. You need an iOS key, not a browser key.
If you're using the standard API, you need an iOS key set up in a project of your choice.
Here's more information on that:
https://developers.google.com/maps/documentation/ios-sdk/get-api-key
Related
I have written a Cordova app that uses Google Maps. It is currently available in both appstores. Google recently started to warn users about using Google Maps without an API Key...
"Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys"
This implies they will soon enforce the use of API Keys. I followed the instructions in the Google Developer Console to create an API Key for each platform my app supports...
Desktop/Mobile browsers (browser api key with *.mydomain.com for
referrer)
IOS (IOS api key with specific bundle ID)
Android (Android api key with package name and sha-1 fingerprint)
The Browser API Key works fine for desktop browsers when the app is deployed from my domain. However, the IOS or Android API Keys do NOT work when my app is packaged as a Cordova app and run on phones. I get an invalid api key message in the console and my app does not load.
If I use the Browser API Key everywhere, it works as long as the referrer list is empty, which is required for Cordova apps which load from a local file: URL. But this is not a solution. Anyone who got the API Key could use it freely and I would incur their usage on my account. I want to use the IOS/Android API Keys as they provide options to lockdown the usage of the API Key to just my app.
QUESTION: Is there a way to convince Google that my Maps instance running in a Cordova webview is really running on Android or IOS and accept my respective API Keys?
There are Cordova plugins for Google Maps that accept IOS/Android keys and it apparently works. However, I'm loading Google Maps directly and would rather not have to use a plugin in the middle. I think the problem is that Google Maps thinks it's running in a browser, when it's really running inside a Cordova app on Android or IOS. Surely there must be a way to make this work, perhaps using config.xml or AndroidManifest.xml.
I have gone through some of the links that difference between the Google API and android API.I have not got clear explanation.Anyone Can you help me please?
Answer for your question is below
The google API includes
->Maps and other Google-specific libraries.
The Android one only includes
->core android libraries.
There is a huge set of google apis for using all google web services !
google maps
google search
google app engine
google signin
... (see google products: https://developers.google.com/products/?csw=1)
Android API is part of the Android SDK (software development kit) and is to develop android applications.
You can note that Android API may be considered as a part of google APIs because it authored by google.
Google API is for developing Google-based services such as Google Maps.
Android API is for developing Android apps.
google API:-
it uses all google specific libraries like google map,search engine,sign in.
Android API:-
it is also a part of google API.
it uses all core android libraries.
Android sdk holds Android API.
refenter link description here
So I have downloaded source code(AOSP) for Android 4.4.2, built it and of course there is no Google APIs or Google Play Servicies, but I want to include there Android app using Google App Engine Cloud Storage and Google Account authentification system.
Is it somehow possible?
Or is it possible to get Android 4.4.2 source code (for personal use only) with Google APIs from google inc.?
Do you know about Auth with Endpoints? https://developers.google.com/appengine/docs/python/endpoints/auth
I hope this help you.
Can you explain more about "personal use only"
I m confused about google API and android platform SDK API. are they same ? if not, What are the each used for?
Android is developed by Google, but can also be used without any Google services. So the Android platform SDK can be used for developing Android applications. If you however want to use any Google services in your Android Application, you should use the Google API Java Client library.
Google api is used for using google specific services like google map or google admob or google fusion. These generally contact google server to fetch data.
However, android platform sdk api is not google specific. It provides interface for application development. These may or may not require internet(depending on what you use it for)
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.