Ícone do site Aprenda Delphi

Como construir um IP definitivo para o aplicativo de geolocalização

Não seria bom saber de onde seus clientes acessam seu site e personalizar as experiências do usuário com base em IP ?! O ipstack oferece um IP poderoso em tempo real para a API de geolocalização, capaz de pesquisar dados de localização precisos e avaliar ameaças de segurança originadas de endereços IP de risco. Os resultados são entregues em milissegundos no formato JSON ou XML. Usando a API ipstack, você poderá localizar os visitantes do site à primeira vista e ajustar a experiência do usuário e o aplicativo de acordo.

In this article, we will see how fast and easy it is to use windows app development toolsto create a Firemonkey multi-device application using the LowCode Wizard in addition to a REST client library to take advantage of ipStack API and retrieve a JSON format response for IP to geolocation in real-time.

A API ipstack tem anos de parceria com grandes ISPs que garantem dados precisos e consistentes em qualquer dia do ano e cobre mais de 2 milhões de locais exclusivos em mais de 200.000 cidades ao redor do mundo.

Nossos aplicativos RAD Studio e Delphi serão capazes de chamar a API e solicitar informações com base no nome dos parâmetros que você fornecer.

Como faço para configurar a API IpStack?

Certifique-se de consultar o site da API IpStack (https://IpStack.com/) e e Cadastre-se para o Plano gratuito fornecendo apenas seu e-mail e algumas informações básicas (não é necessário cartão de crédito). Assim que estiver no site, você será redirecionado para um painel do guia de início rápido e sua chave de acesso de API será fornecida. A chave de acesso é exclusiva, pessoal e necessária para autenticação com a API. Mantenha-o seguro!

Como faço para chamar pontos de extremidade da API IpStack?

Agora tudo o que precisamos fazer é chamar a URL base da API (http://api.ipStack.com/) por meio de um método HTTP POST sem a necessidade de corpo de solicitação JSON e alguns poucos parâmetros solicitados adicionados ao endereço URL, dependendo do ednpoint que escolhemos chamar. Isso pode ser feito usando as bibliotecas REST Client disponíveis em várias linguagens de programação.

ipStack oferece dois endpoints de API para escolher:

Nossa demonstração se concentrará no Pesquisa Padrão endpoint, mas todos os outros seguem uma lógica semelhante, mas com parâmetros diferentes passados. Para uma lista completa e detalhada de endpoints e seus parâmetros, certifique-se de consultar o guia de início rápido do IpStack (https://ipStack.com/quickstart)

// Pesquisa de IP padrão - procure os dados por trás de um endereço IP
http://api.ipstack.com/134.201.250.155
? access_key = YOUR_ACCESS_KEY
// parâmetros opcionais:
& fields = ip, localização, segurança
& hostname = 1
& security = 1
& idioma = en
& callback = MY_CALLBACK
& output = json
// mais parâmetros disponíveis, consulte a documentação da API (https://ipStack.com/documentation)

O que o endpoint da API IpStack retorna?

Após a chamada, os principais resultados serão os mostrados abaixo.

{"ip": "35.208.128.246",
"tipo": "ipv4",
"continent_code": "NA",
"continent_name": "América do Norte",
"country_code": "US",
"country_name": "Estados Unidos",
"region_code": "IA",
"region_name": "Iowa",
"cidade": "Council Bluffs",
"zip": "51501",
"latitude": 41.23295974731445,
"longitude": - 95.87735748291016,
"local": {"geoname_id": 4852832,
"capital": "Washington DC",
"idiomas": [{"código": "en",
"nome": "inglês",
"inglês nativo"}],
"country_flag": "https://assets.ipstack.com/flags/us.svg",
"country_flag_emoji": "",
"country_flag_emoji_unicode": "U + 1F1FA U + 1F1F8",
"código_de_chamadas": "1",
"is_eu": false}}

Como faço para conectar meus aplicativos à API do IpStack?

Depois de seguir as etapas básicas para configurar a API IpStack, precisamos nos certificar de que podemos nos conectar e nos comunicar com ela antes de começar a escrever algum código.

O RAD Studio Delphi e o C ++ Builder facilitam muito a conexão com APIs, já que você pode REST Debugger para criar automaticamente os componentes REST e colá-los em seu aplicativo.

No Delphi todo o trabalho é feito usando 3 componentes para fazer a chamada API. Eles são TRESTClient, TRESTRequest e TRESTResponse. Depois de conectar o REST Debugger com sucesso, copie e cole os componentes, você notará que a URL da API está configurada na BaseURL de TRESTClient. No componente TRESTRequest, você verá que o tipo de solicitação está definido como rmPOST, o ContentType está definido como ctAPPLICATION_JSON e que contém um corpo de solicitação para o POST.

Execute seu RAD Studio Delphi e no menu principal clique em Tools> REST Debbuger. Configure o REST Debugger da seguinte forma, marcando o tipo de conteúdo como application / json e adicionando a url POST, o corpo da solicitação JSON e a chave API que você criou. Depois de clicar no botão Enviar solicitação, você verá a resposta JSON, assim como demonstramos abaixo.

Como faço para construir um aplicativo Firemonkey Multidevice (desktop Windows / MacOS ou Android / iOS mobile) usando a API IpStack?

O desenvolvimento de aplicativos de baixo código é cada vez mais popular hoje, e por um bom motivo: ele atende à demanda por software associada à dificuldade de criá-lo. De muitas maneiras, Delphi liderou a revolução de baixo código: RAD, onde você constrói software conectando componentes em um designer visual, é baixo código. A chave com muitas soluções de baixo código é a extensibilidade: o código baixo que não pode ser estendido para um aplicativo codificado tradicionalmente tem um limite superior rígido de funcionalidade. Se você é um consultor de tecnologia, não quer recomendar algo que limitará seu cliente ou empresa. As melhores soluções de desenvolvimento voltadas para baixo código fornecem uma avenida para crescer e se expandir. Também nisso a Delphi se destaca.

Até recentemente, no Delphi, você ainda tinha que criar um novo projeto e criar os formulários ou telas você mesmo - não importa quão pouco código você precise escrever para obter uma funcionalidade poderosa quando o fez. Isso é algo que agora abordamos com um complemento para 10.4.2. Execute seu RAD Studio Delphi e no menu principal clique em Ferramentas> Gerenciador de Pacotes GetIt. No GetIt para 10.4.2 e posterior, pesquise “Low Code App Wizard for FireMonkey”, nossa tecnologia para aplicativos de plataforma cruzada. 

Agora que você instalou o Low Code App Wizard para FireMonkey e foi capaz de configurar e testar com sucesso suas chamadas de API no REST Debbuger, volte para o REST Debbuger e clique no botão Copiar Componentes. Abra o RAD Studio Delphi e no menu principal clique em File> New> Multi-Device Application Delphi, selecione o Firemonkey Template App como mostrado abaixo e siga alguns passos simples do Wizard para criar seu aplicativo Low Code.

O resultado será um aplicativo de plataforma cruzada totalmente funcional, que já contém a funcionalidade básica que todo aplicativo móvel precisará - você pode executar e usar o aplicativo como está - e ganchos para construir mais, além de demonstrar as melhores práticas de desenvolvimento de aplicativos com uma design extensível para adicionar mais telas com baixo código, além de um conjunto de testes para garantir que seu aplicativo permaneça de alta qualidade enquanto você o personaliza.

Posso personalizar o aplicativo criado pelo Low Code Wizard?

O aplicativo que o Delphi constrói para você pode ser configurado por meio do assistente e você pode escolher qualquer um dos seguintes:

Como você pode ver, o Assistente economiza muito tempo, pois cria um projeto completo com muitos formulários prontos para você implementar o código. Abra o NewFormFrame criado recentemente e pressione Ctrl + V para colar os componentes que você copiou do REST Debbuger. Esta ação resultará em três componentes adicionados ao formulário RESTClient1, RESTRequest1 e RESTResponse1.

Agora vamos simplesmente adicionar um código muito simples a um evento TButton OnClick para ter certeza de que tudo está configurado corretamente e pronto! Em cinco minutos, fizemos nossa primeira chamada para a API IpStack e podemos receber uma resposta JSON para qualquer parâmetro que quisermos.

procedimento TNewFormFrame.Button1Click (Sender: TObject);
começar
herdado;
memo1.Lines.text: = '';
RESTClient1.ResetToDefaults;
RESTClient1.Accept: = 'application / json, text / plain; q = 0,9, texto / html; q = 0,8, ';
RESTClient1.AcceptCharset: = 'UTF-8, *; q = 0,8';
RESTClient1.BaseURL: = 'http://api.ipstack.com/' + edit2.text;
RESTClient1.HandleRedirects: = True;
RESTClient1.RaiseExceptionOn500: = False;
// aqui é onde passamos a access_key e os parâmetros adicionais
RESTRequest1.Resource: = Format ('? Access_key = %s', [edit1.Text]);
RESTRequest1.Client: = RESTClient1;
RESTRequest1.Response: = RESTResponse1;
RESTRequest1.SynchronizedEvents: = False;
RESTResponse1.ContentType: = 'application / json';
RESTRequest1.Execute;
memo1.Lines.text: = RESTResponse1.Content;
fim;

Qual é a aparência do exemplo de aplicativo de geolocalização por IP?

O aplicativo de amostra apresenta um TEdit como um lugar para colar na chave de acesso e TEdit adicional para cada parâmetro, um TMemo para exibir os resultados JSON da chamada API REST. Agora você tem tudo de que precisa para interagir com os dados de resposta e fazer com que sua inscrição processe as informações e apresente-as visualmente da maneira que melhor se adapte às suas necessidades!

Nesta postagem do blog, vimos como se inscrever na API IpStack para obter acesso instantâneo a IP estruturado e legível para dados de geolocalização. Vimos como usar o RAD Studio REST Debugger para se conectar ao terminal e copiar esse código em um aplicativo real. E finalmente vimos como é fácil e rápido usar o RAD Studio Delphi e o Low Code App Wizard para FireMonkey para criar um aplicativo Multidispositivo real (desktop Windows / MacOS ou Android / iOS mobile) que se conecta à API e recupera o dados prontos para você iterar!

Acesse e baixe o código-fonte completo para este aplicativo de demonstração: https://github.com/checkdigits/ipstackApp_MediaStackAPI_example

Sair da versão mobile