顧客があなたのWebサイトにどこからアクセスしたのかを知り、IPに基づいてユーザーエクスペリエンスをカスタマイズできれば、アプリケーションに強力な機能が加わります。 ipstackは、正確な位置データを検索し、危険なIPアドレスから発生するセキュリティの脅威を評価できる強力なリアルタイムIP to geolocation APIを提供します。結果は、JSONまたはXML形式でミリ秒以内に配信されます。 ipstack APIを使用すれば、Webサイトの訪問者を瞬時に認識し、それに応じてユーザーエクスペリエンスやアプリケーションを調整することができます。
In this article, we will see how fast and easy it is to use Windowsアプリケーション開発ツールto 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.
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応答が表示されます。
IpStack APIを使用してFiremonkeyマルチデバイス(Windows / MacOSデスクトップまたはAndroid / iOSモバイル)アプリケーションを構築する方法
ローコードアプリ開発は今日ますます人気があり、それには正当な理由があります。それは、ソフトウェアの需要とそれを作成することの難しさを物語っています。多くの点で、Delphiはローコード革命を主導しました。ビジュアルデザイナでコンポーネントを接続してソフトウェアを構築するRADは、ローコードです。多くのローコードソリューションの鍵は拡張性です。従来のコード化されたアプリに拡張できないローコードには、機能の厳しい上限があります。あなたが技術顧問であるならば、あなたはあなたのクライアントまたは会社を制限する何かを推薦したくありません。ローコードを対象とする最高の開発ソリューションは、成長と拡張の手段を提供します。これでも、Delphiは優れています。
最近までDelphiでは、必ず新規プロジェクトを作成してから、フォームや画面を自分で作成する必要がありました。強力な機能を実装するために記述しなければならないコードがいくら少なくても、この一連の手順が必要だったのです。これについて、10.4.2のアドオンで新たに対応がなされました。 RAD Studio / Delphiを実行し、メインメニューで[ツール]> [GetItパッケージマネージャー]をクリックします。 10.4.2以降のバージョンのGetItで、クロスプラットフォームアプリケーション向けのテクノロジーである「FireMonkey用のローコードアプリウィザード」を検索します。
FireMonkey用のローコードアプリウィザードをインストールし、REST DebbugerでAPI呼び出しを正常に構成およびテストできたので、REST Debbugerに戻り、[コンポーネントのコピー] ボタンをクリックします。 RAD Studio / Delphiを開き、メインメニューで[ファイル]> [新規]> [マルチデバイスアプリケーションDelphi]をクリックし、以下に示すようにFireMonkeyテンプレートアプリを選択し、いくつかの簡単なウィザード手順に従ってローコードアプリケーションを作成します。
その結果、完全に機能するクロスプラットフォームアプリケーションが作成されます。このアプリケーションには、すべてのモバイルアプリに必要な基本機能がすでに含まれており、アプリをそのまま実行して使用できます。さらに、フックを使用してさらにビルドし、非常にクリーンなアプリケーション開発のベストプラクティスを示します。ローコードで画面を追加するための拡張可能な設計に加えて、カスタマイズ時にアプリが高品質を維持することを確認するための一連のテスト。
ローコードウィザードで作成したアプリのカスタマイズ
Delphiが作成するアプリは、ウィザードを使用して構成でき、次の任意のセットを選択できます。
- ユーザーアカウント:サインアップ、サインイン、および独自の認証用のフックを備えたプロファイル画面
- 設定画面(アプリのテーマ(明るいまたは暗い)を変更できるほか、再利用または拡張できる設定例がいくつかあります)
- 連絡先画面
- 利用規約、概要、プライバシーポリシーの画面。自分のデータに合わせて簡単に構成できます。
- データベースレイヤー:Interbaseを使用して、アプリにデータを保存します
- テンプレートまたは新しい機能を追加するための例として使用できる新しい画面の例
ご覧のとおり、ウィザードは、コードを実装する準備ができている多くのフォームを含む完全なプロジェクトを作成するため、多くの時間を節約できます。最近作成したNewFormFrameを開き、Ctrl + Vを押して、RESTDebbugerからコピーしたコンポーネントを貼り付けます。このアクセスにより、RESTClient1、RESTRequest1、RESTResponse1のフォームに3つのコンポーネントが追加されます。
次に、非常に単純なコードをTButton OnClickイベントに追加して、すべてが正しく構成されていることを確認します。 5分でIpStackAPIの最初の呼び出しを行い、必要なパラメーターのJSON応答を受信できるようになりました。
プロシージャTNewFormFrame.Button1Click(送信者:TObject);
begin
遺伝性の;
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に即座にアクセスするために、IpStackAPIにサインアップする方法を見てきました。 RAD Studio REST Debuggerを使用してエンドポイントに接続し、そのコードを実際のアプリケーションにコピーする方法を見てきました。そして最後に、RAD Studio DelphiとFireMonkey用のローコードアプリウィザードを使用して、APIに接続して取得する実際のマルチデバイス(Windows / MacOSデスクトップまたはAndroid / iOSモバイル)アプリケーションを作成するのがいかに簡単で高速かを確認しました。データを繰り返す準備ができました!
このデモアプリケーションの完全なソースコードは、こちらからダウンロードできます。 https://github.com/checkdigits/ipstackApp_MediaStackAPI_example