顧客があなたのWebサイトにどこからアクセスしたのかを知り、IPに基づいてユーザーエクスペリエンスをカスタマイズできれば、アプリケーションに強力な機能が加わります。 ipstackは、正確な位置データを検索し、危険なIPアドレスから発生するセキュリティの脅威を評価できる強力なリアルタイムIP to geolocation APIを提供します。結果は、JSONまたはXML形式でミリ秒以内に配信されます。 ipstack APIを使用すれば、Webサイトの訪問者を瞬時に認識し、それに応じてユーザーエクスペリエンスやアプリケーションを調整することができます。

この記事では、RAD StudioとDelphiを使用して、RESTクライアントライブラリに加えてLowCodeウィザードを使用してFiremonkeyマルチデバイスアプリケーションを作成し、ipStack APIを利用して、IP to geolocatoinの応答をJSON形式でリアルタイムに取得することが、いかに迅速で簡単かを説明します。

ipstack APIは、大規模なISPと長年にわたってパートナーシップを結んでおり、1年中いつでも正確で一貫性のあるデータを保証し、世界中の20万を超える都市の200万を超える固有の場所をカバーしています。

RAD StudioおよびDelphiアプリケーションは、APIを呼び出して、指定したパラメーターの名前に基づいて情報を要求できるようになります。

IpStack APIを設定する方法

まずIpStackAPI Webサイト(https://IpStack.com/)にアクセスし、無料プランにサインアップして、電子メールといくつかの基本情報のみを提供します(クレジットカードは必要ありません)。 Webサイトにアクセスすると、クイックスタートガイドダッシュボードにリダイレクトされ、APIアクセスキーが提供されます。アクセスキーは一意で個人的なものであり、APIで認証するために必要です。この情報は大事に保管してください。

IpStack APIエンドポイントを呼び出す方法

あとはAPIベースURLを呼び出すだけです(http://api.ipStack.com/)。JSONリクエスト本文を必要とすることなく、呼び出すエンドポイントに応じて、いくつかのリクエストされたパラメータをURLアドレスに追加したHTTP POSTメソッドを介して呼び出します。これは、いくつかのプログラミング言語で利用可能なRESTクライアントライブラリを使用して実行できます。

ipStackは、以下の中から選択できる2つのAPIエンドポイントを提供します。

  • Standard IP Lookup:IPアドレスの背後にあるデータをルックアップします。
  • Bulk Lookup:複数のIPアドレスの背後にあるデータを一度に検索します。
  • Requester Lookup:APIリクエストの送信元のIPアドレスの背後にあるデータをルックアップします。

今回のデモでは Standard Lookup エンドポイントを使います。他のすべても同様のロジックに従いますが、渡されるパラメーターは異なります。エンドポイントとそのパラメーターの完全で詳細なリストについては、IpStackクイックスタートガイドをご覧ください。(https://ipStack.com/quickstart)

//標準IPルックアップ-IPアドレスの背後にあるデータをルックアップします
http://api.ipstack.com/134.201.250.155
? access_key = YOUR_ACCESS_KEY
//オプションのパラメータ:
&fields = ip、location、security
&ホスト名= 1
&セキュリティ= 1
&言語= en
&コールバック= MY_CALLBACK
&出力= json
//利用可能なその他のパラメーターは、APIドキュメント(https://ipStack.com/documentation)を参照してください。

IpStack APIエンドポイントが返す値

呼び出し後の主な結果は以下のようになります。

{"ip": "35.208.128.246"、
"type": "ipv4"、
"continent_code": "NA"、
"continent_name": "北米"、
"country_code": "US"、
"country_name": "United States"、
"region_code": "IA"、
"region_name": "アイオワ"、
"city": "カウンシルブラフス"、
"zip": "51501"、
「緯度」:41.23295974731445、
「経度」:-95.87735748291016、
"location":{"geoname_id":4852832、
「首都」:「ワシントンDC」、
"言語":[{"コード": "en"、
"名前": "英語"、
"ネイティブ英語"}]、
"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}}

アプリケーションをIpStack APIに接続する方法

IpStack APIを設定するための基本的な手順を実行したら、コードを記述する前に、IpStackAPIに接続して通信できることを確認する必要があります。

RAD Studio / Delphi / C++Builderを使用すれば、REST DebuggerでRESTコンポーネントを自動的に作成してアプリに貼り付けることができるため、APIへの接続が非常に簡単になります。

Delphiでは、すべての作業は3つのコンポーネントを使用して行われ、API呼び出しが行われます。それらは、TRESTClient、TRESTRequest、およびTRESTResponseです。 REST Debuggerに正常に接続したら、コンポーネントをコピーして貼り付けると、API URLがTRESTClientのBaseURLに設定されていることがわかります。 TRESTRequestコンポーネントで、RequestTypeがrmPOSTに設定され、ContentTypeがctAPPLICATION_JSONに設定され、POSTのリクエスト本文が1つ含まれていることがわかります。

RAD Studio / Delphiを実行し、メインメニューで[ツール]> [REST Debbuger]をクリックします。次のようにREST Debuggerを構成し、コンテンツタイプをapplication / jsonとしてマークし、POST URL、JSONリクエスト本文、および作成したAPIキーを追加します。 [リクエストの送信] ボタンをクリックすると、以下に示すように、JSON応答が表示されます。

ジオロケーションアプリへの究極のIPを構築する方法-RESTデバッガー

IpStack APIを使用してFiremonkeyマルチデバイス(Windows / MacOSデスクトップまたはAndroid / iOSモバイル)アプリケーションを構築する方法

ローコードアプリの開発は今日ますます人気があり、それには正当な理由があります。それは、ソフトウェアの需要と、それを作成することの難しさを物語っています。多くの点で、Delphiはローコード革命を主導しました。ビジュアルデザイナーでコンポーネントを接続してソフトウェアを構築するRAD手法は、まさにローコードです。多くのローコードソリューションの鍵は拡張性です。従来のコード化されたアプリに拡張できないローコードには、機能の厳しい上限があります。あなたが技術顧問であるならば、顧客や自社に制限を加える何かを推薦したくはないでしょう。ローコードを対象とする最高の開発ソリューションは、成長と拡張の手段を提供するものです。この点においても、Delphiは優れています。

最近までDelphiでは、必ず新規プロジェクトを作成してから、フォームや画面を自分で作成する必要がありました。強力な機能を実装するために記述しなければならないコードがいくら少なくても、この一連の手順が必要だったのです。これについて、10.4.2のアドオンで新たに対応がなされました。 RAD Studio / Delphiを実行し、メインメニューで[ツール]> [GetItパッケージマネージャー]をクリックします。 10.4.2以降のバージョンのGetItで、クロスプラットフォームアプリケーション向けのテクノロジーである「FireMonkey用のローコードアプリウィザード」を検索します。 

ジオロケーションアプリへの究極のIPを構築する方法-ローコードアプリウィザード

FireMonkey用のローコードアプリウィザードをインストールし、REST DebbugerでAPI呼び出しを正常に構成およびテストできたので、REST Debbugerに戻り、[コンポーネントのコピー] ボタンをクリックします。 RAD Studio / Delphiを開き、メインメニューで[ファイル]> [新規]> [マルチデバイスアプリケーションDelphi]をクリックし、以下に示すようにFireMonkeyテンプレートアプリを選択し、いくつかの簡単なウィザード手順に従ってローコードアプリケーションを作成します。

ジオロケーションアプリへの究極のIPを構築する方法-テンプレートアプリの作成

その結果、完全に機能するクロスプラットフォームアプリケーションが作成されます。このアプリケーションには、すべてのモバイルアプリに必要な基本機能がすでに含まれており、アプリをそのまま実行して使用できます。アプリケーションには機能を追加することもできますが、このアプリケーション実装は、非常にクリーンなアプリケーション開発のベストプラクティスを提示します。ローコードで画面を追加するための拡張可能な設計に加えて、カスタマイズ時にアプリが高品質を維持することを確認するための一連のテストも追加可能です。

ローコードウィザードで作成したアプリのカスタマイズ

Delphiが作成するアプリは、ウィザードを使用して構成でき、次の任意のセットを選択できます。

  • ユーザーアカウント:サインアップ、サインイン、および独自の認証用のフックを備えたプロファイル画面
  • 設定画面(アプリのテーマ(明るいまたは暗い)を変更できるほか、再利用または拡張できる設定例がいくつかあります)
  • 連絡先画面
  • 利用規約、概要、プライバシーポリシーの画面。自分のデータに合わせて簡単に構成できます。
  • データベースレイヤー:Interbaseを使用して、アプリにデータを保存します
  • テンプレートまたは新しい機能を追加するための例として使用できる新しい画面の例

ご覧のとおり、ウィザードは、コードを実装する準備ができている多くのフォームを含む完全なプロジェクトを作成するため、多くの時間を節約できます。最近作成したNewFormFrameを開き、Ctrl + Vを押して、RESTDebbugerからコピーしたコンポーネントを貼り付けます。このアクセスにより、RESTClient1、RESTRequest1、RESTResponse1のフォームに3つのコンポーネントが追加されます。

次に、非常に単純なコードをTButton OnClickイベントに追加して、すべてが正しく構成されていることを確認します。 5分でIpStackAPIの最初の呼び出しを行い、必要なパラメーターのJSON応答を受信できるようになりました。

プロシージャTNewFormFrame.Button1Click(送信者:TObject);
ベギン
遺伝性の;
memo1.Lines.text:= '';
RESTClient1.ResetToDefaults;
RESTClient1.Accept:= 'application / json、text / plain; q = 0.9、text / 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;
//ここにaccess_keyと追加のパラメータを渡しました
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;
終わり;

サンプルのIPジオロケーションアプリの実行結果

サンプルアプリケーションは、アクセスキーを貼り付ける場所としてのTEditと、各パラメーターの追加のTEdit、REST API呼び出しのJSON結果を表示するためのTMemoを備えています。これで、応答データと相互作用し、アプリケーションに情報を処理させ、ニーズに適した方法で視覚的に提示するために必要なすべてのものが揃いました。

ジオロケーションアプリへの究極のIPを構築する方法RESTの結果

このブログ投稿では、ジオロケーションデータへの構造化された読み取り可能なIPに即座にアクセスするために、IpStackAPIにサインアップする方法を見てきました。 RAD Studio REST Debuggerを使用してエンドポイントに接続し、そのコードを実際のアプリケーションにコピーする方法を見てきました。そして最後に、RAD Studio DelphiとFireMonkey用のローコードアプリウィザードを使用して、APIに接続して取得する実際のマルチデバイス(Windows / MacOSデスクトップまたはAndroid / iOSモバイル)アプリケーションを作成するのがいかに簡単で高速かを確認しました。データを繰り返す準備ができました!

このデモアプリケーションの完全なソースコードは、こちらからダウンロードできます。 https://github.com/checkdigits/ipstackApp_MediaStackAPI_example

閉じる

RAD Studio、Delphi、またはC ++ Builderを使用すると、開発時間を短縮し、より早く市場に投入できます。
設計。コード。コンパイル。デプロイします。
無料トライアルを開始   本日アップグレード

   無料のDelphiコミュニティエディション   無料のC ++ Builder Community Edition