Apr 10, 2020 On the Credentials page, click Create credentials API key. The API key created dialog displays your newly created API key. Generate id_rsa pub key west. The new API key is listed on the Credentials page under API keys. (Remember to restrict the API key before using it in production.) Add the API key to your request. You must include an API key with every Maps.
To use the Google Maps functionality in Android, you need toregister for a Maps API key with Google. Until you do this, you willjust see a blank grid instead of a map in your applications. You mustobtain a Google Maps Android API v2 key - keys from the older GoogleMaps Android API key v1 will not work.
Obtaining a Maps API v2 key involves the following steps:
To request a Maps API key from Google, you need to know theSHA-1 fingerprint of the keystore that is used to sign the application.Typically, this means you will have to determine the SHA-1 fingerprintfor the debug keystore, and then the SHA-1 fingerprint for the keystorethat is used to sign your application for release.
By default the keystore that is used to sign debug versions of aXamarin.Android application can be found at the following location:
C:Users[USERNAME]AppDataLocalXamarinMono for Androiddebug.keystore
Information about a keystore is obtained by running the keytool
command from the JDK. This tool is typically found in the Java bindirectory:
C:Program FilesAndroidjdkmicrosoft_dist_openjdk_[VERSION]binkeytool.exe
By default the keystore that is used to sign debug versions of aXamarin.Android application can be found at the following location:
/Users/[USERNAME]/.local/share/Xamarin/Mono for Android/debug.keystore
Information about a keystore is obtained by running the keytool
command from the JDK. This tool is typically found in the Java bindirectory:
/System/Library/Java/JavaVirtualMachines/[VERSION].jdk/Contents/Home/bin/keytool
Run keytool using the following command (using the file paths shownabove):
For the default debug key (which is automatically created for you fordebugging), use this command:
When deploying an app to Google Play, it must besigned with a private key.The keytool
will need to be run with the private key details, and theresulting SHA-1 fingerprint used to create a production Google Maps APIkey. Remember to update the AndroidManifest.xml file with thecorrect Google Maps API key before deployment.
You should see something like the following output in your consolewindow:
You will use the SHA-1 fingerprint (listed after SHA1) later in this guide.
After you have retrieved the SHA-1 fingerprint of the signing keystore, it is necessary to create a new project in the Google APIs console (or add the Google Maps Android API v2 service to an existing project).
In a browser, navigate to the Google Developers Console API & Services Dashboard and click Select a project. Click on a project name or create a new one by clicking NEW PROJECT:
If you created a new project, enter the project name in the New Project dialog that is displayed. This dialog will manufacture a unique project ID that is based on your project name. Next, click the Create button as shown in this example:
After a minute or so, the project is created and you are taken to the Dashboard page of the project. From there, click ENABLE APIS AND SERVICES:
From the API Library page, click Maps SDK for Android. On the next page, click ENABLEto turn on the service for this project:
At this point the API project has been created and Google Maps Android API v2 has been added to it. However, you cannot use this API in your project until you create credentials for it. The next section explains how to create an API key and white-list a Xamarin.Android application so that it is authorized to use this key.
After the Google Developer Console API project has been created, it is necessary to create an Android API key. Xamarin.Android applications must have an API key before they are granted access to Android Map API v2.
In the Maps SDK for Android page that is displayed (after clicking ENABLE in the previous step), go to the Credentials tab and click the Create credentials button:
Click API key:
After this button is clicked, the API key is generated. Next it is necessary to restrict this key so that only your app can call APIs with this key. Click RESTRICT KEY:
Change the Name field from API Key 1 to a name that will help you remember what the key is used for (XamarinMapsDemoKey is used in this example). Next, click the Android apps radio button:
To add the SHA-1 fingerprint, click + Add package name and fingerprint:
Enter your app's package name and enter the SHA-1 certificate fingerprint (obtained via keytool
as explained earlier in this guide). In the following example, the package name for XamarinMapsDemo
is entered, followed by the SHA-1 certificate fingerprint obtained from debug.keystore:
Note that, in order for your APK to access Google Maps, you must include SHA-1 fingerprints and package names for every keystore (debug and release) that you use to sign your APK. For example, if you use one computer for debug and another computer for generating the release APK, you should include the SHA-1 certificate fingerprint from the debug keystore of the first computer and the SHA-1 certificate fingerprint from the release keystore of the second computer. Click + Add package name and fingerprint to add another fingerprint and package name as shown in this example:
Click the Save button to save your changes. Next, you are returned to the list of your API keys. If you have other API keys that you have created earlier, they will also be listed here. In this example, only one API key (created in the previous steps) is listed:
Beginning June,11 2018, the API key will not work if the project is not connected to a billable account (even if the service is still free for mobile apps).
Click the hamburger menu button and select the Billing page:
Link the project to a billing account by clicking Link a billing account followed by CREATE BILLING ACCOUNT on the displayed popup (if you don't have an account, you will be guided to create a new one):
Finally, add this API key to the AndroidManifest.XML file of your Xamarin.Android app. In the following example, YOUR_API_KEY
is to be replaced with the API key generated in the previous steps:
If you want to use Google Maps in your Xamarin.Android app, you will need to obtain an API key. It’s easy to generate an API Key, but we will also want to restrict it’s usage, so that only your app can use it. This alleviates the security concern of placing the API Key in your app, and someone taking it for their own use.
This is your API key that you can use in your Android app.
In your AndroidManifest.xml file, inside the application tag, place your API Key.
This API Key is now available, but can be used with anyone who has access to it. If you are using it Server side, then the security issues aren’t too great. However, if you need to distribute this with your app, then it is best to restrict this, so only your app can use it.
We first need to generate a fingerprint. This is done via the command or terminal line. And is in this format.
For windows, you will find the debug values for your keystore here, and the default path for the Java SDK. You will need to go to this path, in the commandline to run the keytool.
For a Mac, they will be as follows.
The debug values you will also want are
Here is an example, for myself in Windows.
The example output, you will get is.
What you want is the SHA-1 signature.
Now, lets go back to the developer console.
Please note, that this has shown you how to do it, for a debug version. Create a new Fingerprint, against your production Keystore, before you deploy this to the PlayStore.