help please connecting arduino uno to an android phone using GSM

Hello
I'm new to arduino , and I want to connect my arduino uno r3 to an android phone application ( arduino is attached to a car) , I want them to be able to communicate over somehow a long distance , like wherever I'm I should be able to control my car.
I searched & found that the GSM shield is the best for this situation. But I don't understand how to do this ?Is SIM on the shield has its own ip address or like the 3/4G sim we use in our smartphone , subscribe to an Internet package and done? Or do i need to use server and website ?
Any other suggestions if there is a better way

Thanks in advance

The SIM obtain a IP address when connects to GPRS, this IP address is a private IP if you use a M2M SIM (as BlueVia SIM included with shield). You can use a SIM from the operator that you prefer. If you want to use BlueVia SIM included, you have to visit arduinoshield.tid.es to buy a internet package. For some operation with the shield, you haven't to visit any site.

Thank you very much for replying
I will purchase it and try that , I hope it works ,
thanks again

davidgoth:
The SIM obtain a IP address when connects to GPRS, this IP address is a private IP if you use a M2M SIM (as BlueVia SIM included with shield). You can use a SIM from the operator that you prefer. If you want to use BlueVia SIM included, you have to visit arduinoshield.tid.es to buy a internet package. For some operation with the shield, you haven't to visit any site.

ok if I'm using this GSM do I need special code on the phone application or the same as using wifi , I mean does the code on the application differs if I used the GSM from when using wifi. ?.

ha1234567:

davidgoth:
The SIM obtain a IP address when connects to GPRS, this IP address is a private IP if you use a M2M SIM (as BlueVia SIM included with shield). You can use a SIM from the operator that you prefer. If you want to use BlueVia SIM included, you have to visit arduinoshield.tid.es to buy a internet package. For some operation with the shield, you haven't to visit any site.

ok if I'm using this GSM do I need special code on the phone application or the same as using wifi , I mean does the code on the application differs if I used the GSM from when using wifi. ?.

I don't get what do you want to say. Could you explain more deeply?

Sorry for being late , what I mean is , Is the code used with wifi connection will work when using GSM or there is a specific code for GSM,
I know it looks like I did not do any search but actually I did and the only code I found the one in the arduino site, I'm confused very much because I never worked with electronics or arduino this semester is the first time to hear about them
sorry again
thanks