ユーザー情報を利用する

目次

このページでは、Lambdaを使ったPieceで扱えるユーザ情報の利用方法について紹介します。

Pieceに渡るデータevent.json内には、前のPieceからのInputPreference設定以外にも、利用可能ないくつかの値があります。

これらの情報を利用して、ユーザーの環境を考慮した動作をすることができます。
event.jsonPieceに入力される情報 = 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で現在位置を取得

PieceJSONserviceProxy.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;

  // 国の情報を使った処理を実行

}

この記事は役に立ちましたか?