ユーザー情報を利用する
このページでは、Lambdaを使ったPieceで扱えるユーザ情報の利用方法について紹介します。
Pieceに渡るデータevent.json
内には、前のPieceからのInputやPreference設定以外にも、利用可能ないくつかの値があります。
- Preference
- Input
- Parameters
- userData
これらの情報を利用して、ユーザーの環境を考慮した動作をすることができます。event.json
(Pieceに入力される情報 = Lambda実行時に渡ってくる情報)は以下のようなJSON形式のデータになります。
{ "serviceProxy": "pieceCore_Sample", "properties": { "preferences": { "cityName": "Tokyo" }, "parameters": {}, "input": {} }, "userData": { "date": "2020-03-27T13:09:18+0900", "languageCode": "ja", "countryCode": "JP" } }
Parameters
スマートフォンの情報を取得することができます。現時点ではスマートフォンの現在位置情報の座標を取得できます。
現在の位置情報を使用する
この機能ではiiidea実行時のスマートフォンの位置情報またはユーザーがmapで指定した座標を取得する事ができます。
Piece JSONへの記載
詳細な使用例については、Preference使用例の位置情報を利用するを参照してください。
ProxyCoreで現在位置を取得
PieceJSONにserviceProxy.parameters
を追加するとProxyCore
(.jsファイル内)で以下のように位置情報(緯度・経度)を取得できます。
※いずれの精度を指定していても以下のコードで取得できます。
exports.handler = async event => { const latitude = event.properties.parameters.location.latitude; const longitude = event.properties.parameters.location.longitude; // 位置情報を使った処理を実行 }
userData
ユーザーのスマートフォン上での設定項目がuserData
として渡されます。
userDataの中に以下の項目が含まれています。
- date - ユーザーのスマートフォンのローカルタイムを取得できます。
- languageCode - ユーザーがスマートフォンで利用している言語が取得できます。
- countryCode - ユーザーがスマートフォンに設定している国を取得できます。
実行日時を使用する
Piece
を作るときに、iiideaの実行日時を使用したい場合があります。(スプレッドシートに実行日時と共にデータを書き込みたい、メールの文面に使用したいなど)
その場合は、以下の手順でPiece
を作成すると実行日時を取得することができます。
Piece JSONへの記載
必要ありません。ProxyCore実行時に自動で生成されます。
Proxy Coreで実行日時を取得
ProxyCore
(.jsファイル内)で以下の様にiiidea実行日時を取得できます。フォーマットは yyyy-MM-dd'T'HH:mm:ssZZZです。例)2020-08-01T19:43:18+0900
exports.handler = async event => { const date = event.userData.date; // 実行日時を使った処理を実行 }
言語情報を使用する
Piece
を作るときに、ユーザーの言語情報を使用したい場合があります。(メッセージの出し分けをしたいなど)
その場合は、以下の手順でPiece
を作成すると言語情報を取得することができます。
Piece JSONへの記載
必要ありません。ProxyCore実行時に自動で生成されます。
Proxy Coreで実行日時を取得
ProxyCore
(.jsファイル内)で以下の様にiiidea言語情報を取得できます。
exports.handler = async event => { const date = event.userData.languageCode; // 言語情報を使った処理を実行 }
国情報を使用する
Piece
を作るときに、ユーザーの国の情報を使用したい場合があります。(メッセージの出し分けをしたいなど)
その場合は、以下の手順でPiece
を作成するとカントリーコードを取得することができます。
Piece JSONへの記載
必要ありません。ProxyCore実行時に自動で生成されます。
Proxy Coreで実行日時を取得
ProxyCore
(.jsファイル内)で以下の様に国の情報を取得できます。
exports.handler = async event => { const date = event.userData.countryCode; // 国の情報を使った処理を実行 }