Visualizzazione post con etichetta Android API Key. Mostra tutti i post
Visualizzazione post con etichetta Android API Key. Mostra tutti i post

venerdì 15 marzo 2013


HABEMUS MBC!


 HOW TO CREATE AN ANDROID PROJECT USING GOOGLE MAPS API V2
-
COME CREARE UN PROGETTO ANDROID USANDO LE GOOGLE MAPS API V2

Aaaaaaall right, folks.
This evening I decide to explain you how to create an Android Project using Google Maps API V2.
First of all let me say that using V2 API
  1. it's a bit harder then V1 API, cause the libs for Maps are not contained in a .jar archive, but must be imported as a project library;
  2. make your life easier while you programming your app's activities. The listeners have been optimezed, most of the logic has already been implemented, so the benefits are greater difficulties.
Let's start.

So you're already an Android Dev, you paid your life-long-fee, and you get your API KEY from your API CONSOLE.

Then open Eclipse, click on "Android SDK Manager", then check that "Google play services" is installed. If not, download it

1.1 How to check if you have Google Play Services
Ok, now you've got all you need to use maps.

- Create a new Android Project,

call it "Gennarino", or "Francis_FROM_Coppola" if you like it. Or "PrjBase" if you're indescribably boring. 

- Then go to your "androidManifest.xml" 

and add the highlighted strings, like in the pics below...

1.2 androidManifest.xml - ADDING PERMISSIONS AND OTHER SETTINGS

1.3 androidManifest.xml  - ADDING API KEY

... from which all of you can understand how boring I am... ;)
By the way, let's stop a moment for explaining.
  • <permission       
    android:name="prjbase.main.permission.MAPS_RECEIVE"
            android:protectionLevel="signature" />
    It means that you ask to your OS the permission for receiving MAPS, using a "signature" (your API KEY);
  •  <uses-feature     android:glEsVersion="0x00020000"
  •      android:required="true" />

  • That's indicates the openGL ES version (in this case the 2, look in the middle of 0), and if it's required;
  • <uses-permission ...../>Those strings are simples, and are similar to permission in the use; they indicate which permission this app is authorized to use;
  •  <meta-data           
    android:name="com.google.android.maps.v2.API_KEY"
                android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />      
  • Here you must put your API KEY V2 instead of xxx...

- LET'S MODIFY OUR map.xml VIEW

adding a fragment that will contain our map. Google ha decided to use MapFragments instead of MapView, probably for increasing performances. However that is, so do like in the pic

1.4 Adapting you map view

Ok, we have updated the manifest, and added the fragment to the view. Now we have to

- IMPORT google-play-services_lib AS A PROJECT LIB

First of all we have to right click on the white space of our package explorer, then select import and choose "EXISTING ANDROID CODE INTO WORKSPACE"; 

BE CAREFUL: DON'T "EXISTING PROJECT INTO WORKSPACE"!!!


Then browse into you android-sdk directory, and go into

<your_android-sdk_DIRECTORY>\extras\google\google_play_services\libproject

 and click on finish.

1.5 How to import google-play-services_lib as project lib

Wow! You're great! That was the worst! Now let's see how 

- ADD THIS LIB INTO OUR PROJECT 

Yes, OUR, not YOUR, cause I've teached you how to make it, and your project is mine too!
So right click on OUR project, click on Properties, then Android tab. Go down after your list of Android devices, and finally you've reached the Library section.
Click on "Add" button, and select "google-play-services_lib", then OK.

1.6 Add google-play-services_lib into our project

WELL DONE, DELTA!
Now we must only

- LOAD OUR MAP FRAGMENT INTO OUR ACTIVITY

simply using this commenda, right after setContentView(R.layout.map);

map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map_view)).getMap();

Let me say that the map is a private GoogleMap map; put outside the method onCreate(), into the Activity. Here is the code of map Activity

mercoledì 13 marzo 2013

Non è possibile visualizzare le mappe dopo la pubblicazione su Google Play - Can't see maps after publishing App on Google Play

HABEMUS MBC!

 PILLOLE DI PROGRAMMAZIONE -  INFORMATICA - TECNOLOGIA - TRUCCHI DEL MESTIERE & CO!
-
PROGRAMMING TRICKS - INFOMATICS- TECHNOLOGY- TRICKS OF THE TRADE & CO!

Benvenuti + Non è possibile visualizzare le mappe dopo la pubblicazione su Google Play
-
Welcome + Can't see maps after publishing App on Google Play

Ciao a tutti ragazzi, con questo post dichiaro ufficialmente aperto il mio blog. Proprio oggi che hanno eletto il Papa io decido di ritagliarmi il mio spazio di notorietà sul web.
Megalomane? Megalomane, esatto.
Ad ogni modo, di tanto in tanto posterò la soluzione a dei problemi informatici che mi hanno fatto impazzire, o a qualche tecnica di scommessa, comunque tenterò di scrivere sempre qualcosa di utile, ovviamente sia in italiano che in inglese e, per quanto riguarda la traduzione, nei limiti della mia ignoranza.
Ma con una differenza rispetto a questo post: l'ordine sarà invertito.
Ciò mi serve ad ottenere più visibilità e, comunque, se siete programmatori credetemi: almeno saperlo leggere vi servirà come l'aria, quindi prima vi abituate e meglio è!

Per cominciare una chicca per i programmatori Android che si stanno affacciando alle mappe di google. In particolare alle Google MAPS API V2, che rivoluzionano e semplificano notevolmente il lavoro di noi poveri smanettoni.

Vi sarà capitato, subito dopo aver pubblicato la vostra app su Google Play, di non riuscire a visualizzare la mappa.
Ciò accade per il seguente motivo.
Nelle istruzioni che Google offre a noi developer, e in tantissimi forum e tutorial, viene suggerito di inserire, nella schermata 1.1

1.1 Configurare Android Key per API Project

un identificatore che unisce la vostra chiave SHA1 e il nome del package della vostra app.
Questa funzione serve per consentire alle sole applicazioni indicate nel campo di testo di ricevere le mappe. Se da un lato può essere utile, alle volte può provocare il problema di cui sopra.
Quindi, se avete questo problema, togliete l'id univoco che avete inserito dal campo dell'immagine 1.1! In questo modo tutte le app che utilizzeranno quella chiave potranno usufruire delle mappe, senza filtro alcuno.

Ma come MBC, ho fatto come dici, ma non funziona ancora?
In questo caso, escludendo errori di setting del progetto (che potete risolvere seguendo il tutorial di Lars Vogel, che personalmente consiglio caldamente), avete probabilmente adattato un progetto che utilizzava le vecchie API V1 alle API V2 (come ho fatto io per la mia App SCOLACIUM).

In questo caso vi informo di due cose:

  1. Se alla data del 03/03/2013 avete richiesto una chiave per le GMaps API V1, allora potete utilizzare ancora quell'app;
  2. Se non siete così fortunati, e avete realizzato con tanto sudore un'app con le API V1 ma NON AVETE RICHIESTO LA CHIAVE PRIMA DI QUELLA DATA, dovrete riprogrammare il vostro progetto con le nuove API (non è una cosa impossibile né difficile, ma ci vuole un po' di tempo per via di qualche passaggio "non canonico". Comunque tranquilli: tra qualche giorno pubblicherò un breve tutorial a riguardo).

Ciò perché Google ha terminato il supporto alle API V1 il 03/03/2013, e quindi non offre più chiavi per le mappe di questa versione. Però continuerà a supportare le chiavi delle app già assegnate fino a quella data.

Bene, per oggi è tutto.
Spero di avervi restituito un po' di sonno con il vostro progetto GMaps. Se così non fosse, spero di poterlo fare con il tutorial a venire.

Buona serata.
HABEMUS MBC!
_________________________________________________________________________________

Hi everyone, with this post i officially declare open my blog! Just today that new Pope was elected, I've decided to cut out my web-fame-space.
Megalomaniac? Megalomaniac, "right right right".

By the way, sometimes I'll post the solution for some programming problems drive me crazy, or for some betting tecnique... However I'll try to write always something useful, obviously both Italian and English and, regarding the translation, within the limits of my ignorance.
But with a difference to this post: the order will be inverted, first English than Italian.
I need this for obtaining a greater visibility and, however, if you're programmer or computer science engineer believe me: being able to read English will be compulsory for you, so that the faster you get used to the better is!

To begin a tip for those Android programmers that are approaching to google Maps. In particular to the Google MAPS API V2, that revolutionize and significantly simplify our poor geek-work.

So you're reading this post. For this reason, I suppose after publishing your app on Google Play you're not being able to view the map.
This occurs for the following reason.
In the tutorials Google offers us developers, and in many other forums, it's suggested to include into your API CONSOLE an identifier that combines your key SHA1 and the package name of your app, see the screenshot 1.1


1.1 Configure Android Key for API Project
This function is used to allow only applications specified in the text field to receive the maps.
If, by one side, it can be useful, from the other can sometimes cause the problem previously mentioned.
So, if you've this problem, remove the unique id that you have entered into the textfield of image 1.1!
In this way, every app that use that key will be able to obtain maps, without any filter!


But how is it possible, MBC, I've done as you say, but still doesn't work?
In this case, excluding  errors about setting your project (you can solve following this Lars Vogel's tutorial, I personally strongly suggest it), you've probably adapted a project that used the old API V1 to API V2 (like I've done for my app SCOLACIUM).

So i inform you about two things:

  1.  If at the date 2013/03/03 you've requested an GMaps API V1 key, so you can use and release your app yet;
  2. If you're not so lucky, and you've realized with much sweat an app with API V1 but YOU DON'T HAVE REQUESTED THE KEY  BEFORE THAT DATE, you have to reprogramming your project with the new API (it's not something impossible or difficult, but it takes a little time because of some "non-canonical"  passage. By the way stay up: in a few days I'll publish a short tutorial about it).

This is because Google has ended support for V1 API on 03/03/2013, and so it offers no more keys for this version of API maps. However, Google will support the keys for the already assigned app to that date.

Well, that's all, folks!
I hope you've returned a little sleep with your GMaps project. If not, I hope to do with the tutorial to come.

Good evening.
HABEMUS MBC!