ユーザー情報を利用する
このページでは、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;
// 国の情報を使った処理を実行
}