Ne serait-il pas agréable de savoir d'où vos clients accèdent à votre site Web et de personnaliser les expériences utilisateur en fonction de l'IP ? ! ipstack offre une puissante API de géolocalisation IP en temps réel capable de rechercher des données de localisation précises et d'évaluer les menaces de sécurité provenant d'adresses IP à risque. Les résultats sont fournis en quelques millisecondes au format JSON ou XML. En utilisant l'API ipstack, vous pourrez localiser les visiteurs du site Web au premier coup d'œil et ajuster votre expérience utilisateur et votre application en conséquence.
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.
L'API ipstack a des années de partenariat avec de grands FAI pour garantir des données précises et cohérentes tous les jours de l'année et couvre plus de 2 millions d'emplacements uniques dans plus de 200 000 villes à travers le monde.
Nos applications RAD Studio et Delphi pourront appeler l'API et demander des informations en fonction du nom des paramètres que vous fournissez.
Table des matières
Comment configurer l'API IpStack ?
Assurez-vous de vous référer au site Web de l'API IpStack (https://IpStack.com/) et et Inscrivez-vous au forfait gratuit en fournissant uniquement votre e-mail et quelques informations de base (aucune carte de crédit requise). Une fois que vous êtes sur le site Web, vous serez redirigé vers un tableau de bord du guide de démarrage rapide et votre clé d'accès API vous sera fournie. La Clé d'accès unique, personnelle et est nécessaire pour s'authentifier auprès de l'API. Protégez-le!
Comment appeler les points de terminaison de l'API IpStack ?
Il ne nous reste plus qu'à appeler l'URL de base de l'API (http://api.ipStack.com/) via une méthode HTTP POST sans corps de requête JSON nécessaire et quelques paramètres demandés ajoutés à l'adresse URL en fonction du point de terminaison que nous choisissons d'appeler. On peut le faire en utilisant les bibliothèques clientes REST disponibles sur plusieurs langages de programmation.
ipStack propose deux points de terminaison d'API parmi lesquels choisir :
- Recherche standard : recherchez les données derrière une adresse IP.
- Recherche en masse : recherchez les données derrière plusieurs adresses IP à la fois.
- Recherche du demandeur : recherchez les données derrière l'adresse IP d'où provient votre demande d'API.
Notre démo se concentrera sur le Recherche standard point final mais tous les autres suivent une logique similaire mais avec des paramètres différents passés. Pour une liste complète et détaillée des points de terminaison et de ses paramètres, assurez-vous de vous référer au guide de démarrage rapide d'IpStack (https://ipStack.com/quickstart)
// Recherche IP standard - recherche les données derrière une adresse IP
http://api.ipstack.com/134.201.250.155
? access_key = YOUR_ACCESS_KEY
// paramètres optionnels :
& champs = ip, emplacement, sécurité
& nom d'hôte = 1
& sécurité = 1
& langue = fr
& rappel = MY_CALLBACK
& sortie = json
// plus de paramètres disponibles, veuillez vous référer à la documentation de l'API (https://ipStack.com/documentation)
Que renvoie le point de terminaison de l'API IpStack ?
Après l'appel, les principaux résultats seront comme indiqué ci-dessous.
{"ip":"35.208.128.246",
"type":"ipv4",
"continent_code":"NA",
"continent_name": "Amérique du Nord",
"country_code":"US",
"country_name":"États-Unis",
"region_code":"IA",
"region_name":"Iowa",
"city": "Conseil Bluffs",
"zip":"51501",
"latitude":41.23295974731445,
"longitude":-95.87735748291016,
"emplacement":{"geoname_id":4852832,
"capital": "Washington DC",
"langues":[{"code":"fr",
"name":"Anglais",
"native":"Anglais"}],
"country_flag": "https://assets.ipstack.com/flags/us.svg",
"country_flag_emoji":" ",
"country_flag_emoji_unicode":"U+1F1FA U+1F1F8",
"calling_code":"1",
"is_eu":false}}
Comment connecter mes applications à l'API IpStack ?
Une fois que vous avez suivi les étapes de base pour configurer l'API IpStack, nous devons nous assurer que nous sommes en mesure de nous connecter et de communiquer avec elle avant de commencer à écrire du code.
RAD Studio Delphi et C++Builder facilitent la connexion aux API car vous pouvez utiliser le débogueur REST pour créer automatiquement les composants REST et les coller dans votre application.
Dans Delphi, tout le travail est effectué à l'aide de 3 composants pour effectuer l'appel d'API. Il s'agit de TRESTClient, TRESTRequest et TRESTResponse. Une fois que vous avez connecté le débogueur REST avec succès, copiez et collez les composants, vous remarquerez que l'URL de l'API est définie sur la BaseURL de TRESTClient. Sur le composant TRESTRequest, vous verrez que le type de demande est défini sur rmPOST, le ContentType est défini sur ctAPPLICATION_JSON et qu'il contient un corps de demande pour le POST.
Exécutez votre RAD Studio Delphi et dans le menu principal, cliquez sur Outils > Débogueur REST. Configurez le débogueur REST comme suit en marquant le type de contenu comme application/json et en ajoutant l'url POST, le corps de la demande JSON et la clé API que vous avez créée. Une fois que vous avez cliqué sur le bouton Envoyer la demande, vous devriez voir la réponse JSON, comme nous l'avons démontré ci-dessous.
Comment créer une application Firemonkey Multidevice (bureau Windows/MacOS ou mobile Android/iOS) à l'aide de l'API IpStack ?
Le développement d'applications low code est de plus en plus populaire aujourd'hui, et pour une bonne raison : cela répond à la demande de logiciels associée à la difficulté de les créer. À bien des égards, Delphi a mené la révolution du low code : le RAD, où vous créez un logiciel en connectant des composants dans un concepteur visuel, est du low code. La clé de nombreuses solutions low code est l'extensibilité : le low code qui ne peut pas être étendu à une application traditionnellement codée a une limite supérieure stricte de fonctionnalité. Si vous êtes un conseiller en technologie, vous ne voulez pas recommander quelque chose qui limitera votre client ou votre entreprise. Les meilleures solutions de développement qui ciblent le low code offrent un moyen de se développer et de s'étendre. En cela aussi, Delphi excelle.
Jusqu'à récemment, dans Delphi, vous deviez encore créer un nouveau projet et créer vous-même les formulaires ou les écrans, quel que soit le peu de code que vous deviez écrire pour obtenir des fonctionnalités puissantes lorsque vous le faisiez. C'est quelque chose que nous avons maintenant résolu avec un addon à 10.4.2. Exécutez votre RAD Studio Delphi et dans le menu principal, cliquez sur Outils > Gestionnaire de packages GetIt. Dans GetIt pour 10.4.2 et versions ultérieures, recherchez « Low Code App Wizard for FireMonkey », notre technologie pour les applications multiplateformes.
Maintenant que vous avez installé l'assistant d'application Low Code pour FireMonkey et que vous avez pu configurer et tester avec succès vos appels d'API sur le débogueur REST, revenez au débogueur REST et cliquez sur le bouton Copier les composants. Ouvrez RAD Studio Delphi et dans le menu principal, cliquez sur Fichier > Nouveau > Application multi-périphérique Delphi, sélectionnez l'application modèle Firemonkey comme indiqué ci-dessous et suivez quelques étapes simples de l'assistant pour créer votre application Low Code.
Le résultat sera une application multiplateforme entièrement fonctionnelle, qui contient déjà les fonctionnalités de base dont chaque application mobile aura besoin - vous pouvez exécuter et utiliser l'application telle quelle - et des crochets pour en créer plus, en plus de démontrer les meilleures pratiques de développement d'applications avec un conception extensible pour ajouter plus d'écrans avec un faible code, ainsi qu'un ensemble de tests pour garantir que votre application reste de haute qualité lorsque vous la personnalisez.
Puis-je personnaliser l'application créée par l'assistant Low Code ?
L'application que Delphi crée pour vous est configurable via l'assistant et vous pouvez choisir l'un des ensembles suivants :
- Comptes d'utilisateurs : inscrivez-vous, connectez-vous et un écran de profil, avec des crochets pour votre propre authentification
- Écran des paramètres (où vous pouvez modifier le thème de l'application (clair ou sombre), ainsi que quelques exemples de paramètres que vous pouvez réutiliser ou étendre)
- Écran des contacts
- Écrans des conditions d'utilisation, à propos de et de la politique de confidentialité, facilement configurables pour vos propres données
- Une couche de base de données : à l'aide d'Interbase, stockez les données dans votre application
- Un exemple de nouvel écran que vous pouvez utiliser comme modèle ou exemple pour ajouter de nouvelles fonctionnalités
Comme vous pouvez le voir, l'assistant vous fait gagner beaucoup de temps car il crée un projet complet avec de nombreux formulaires prêts à vous permettre d'implémenter le code. Ouvrez le NewFormFrame récemment créé et appuyez sur Ctrl+V pour coller les composants que vous avez copiés à partir de REST Debbuger. Cette action entraînera l'ajout de trois composants au formulaire RESTClient1, RESTRequest1 et RESTResponse1.
Maintenant, nous allons simplement ajouter un code très simple à un événement TButton OnClick pour nous assurer que tout est configuré correctement et le tour est joué ! En cinq minutes, nous avons effectué notre tout premier appel à l'API IpStack et nous sommes en mesure de recevoir une réponse JSON pour le paramètre que nous voulons.
procedure TNewFormFrame.Button1Click(Sender: TObject);
commencer
hérité;
memo1.Lines.text := '';
RESTClient1.ResetToDefaults;
RESTClient1.Accept := 'application/json, text/plain; q=0,9, texte/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;
//voici où nous passons l'access_key et les paramètres supplémentaires
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;
finir;
À quoi ressemble l'exemple d'application de géolocalisation IP ?
L'exemple d'application comporte un TEdit comme emplacement pour coller la clé d'accès et un TEdit supplémentaire pour chaque paramètre, un TMemo pour afficher les résultats JSON de l'appel de l'API REST. Maintenant, vous avez tout ce dont vous avez besoin pour interagir avec les données de réponse et faire en sorte que votre application traite les informations et les présente visuellement de la manière qui correspond le mieux à vos besoins !
Dans cet article de blog, nous avons vu comment s'inscrire à l'API IpStack afin d'obtenir un accès instantané à des données IP structurées et lisibles pour la géolocalisation. Nous avons vu comment utiliser le débogueur REST de RAD Studio pour se connecter au point de terminaison et copier ce code dans une application réelle. Et enfin, nous avons vu à quel point il est facile et rapide d'utiliser RAD Studio Delphi et l'assistant d'application Low Code pour FireMonkey pour créer une véritable application multipériphérique (bureau Windows/MacOS ou mobile Android/iOS) qui se connecte à l'API et récupère le des données prêtes à être itérées !
Rendez-vous sur et téléchargez le code source complet de cette application de démonstration : https://github.com/checkdigits/ipstackApp_MediaStackAPI_example