Pieceの機能を拡張する

目次

このページでは、Lambdaを使ったPieceで扱える機能の拡張方法を紹介します。


現在の位置情報を使用する

Pieceを作るときにユーザーの現在の位置情報を使用したい場合があります。その場合は、以下の手順でPieceを作成すると簡単に位置情報を取得することができます。

Piece JSONへの記載

以下のようにPieceJSON"permissionList"と、PieceJSON"serviceProxy""parameters"を追加します。

"permissionList":{
  "ios":["location"],
  "android":["location"]
},
"serviceProxy":{
  "service":"citizenSample",
  "parameters":["location_accurate"]
}
permissionList

"permissionList"には"ios""android"JSON KeyPiece JSON内の"osType"に応じて記入してください。JSON Keyの値は、いずれも["location"]です。

"osType""ios""android"
"none"
"iOS"×
"Android"×

○:必須、×:不要

parameters

parametersには表のいずれかの項目を記入してください。より良い精度の位置情報を使用すると、位置情報の取得時間が長くなります。

parameters精度(計測誤差)
"location_rough"10 km 程度
"location_normal"100 m 程度
"location_accurate" または "location"一番良い精度
ProxyCoreで現在位置を取得

PieceJSONparametersを追加するとProxyCore(.jsファイル内)で以下のように位置情報(緯度・経度)を取得できます。

※いずれの精度を指定していても以下のコードで取得できます。

exports.handler = async event =>{
  const latitude = event.properties.parameters.location.latitude;
  const longitude = event.properties.parameters.location.longitude;
  // 位置情報を使った処理を実行 

}

実行日時を使用する

Pieceを作るときに、iiideaの実行日時を使用したい場合があります。(スプレッドシートに実行日時と共にデータを書き込みたい、メールの文面に使用したいなど)
その場合は、以下の手順でPieceを作成すると実行日時を取得することができます。

Piece JSONへの記載

必要ありません。ProxyCore実行時に自動で生成されます。

Proxy Coreで実行日時を取得

ProxyCore(.jsファイル内)で以下の様にiiidea実行日時を取得できます。フォーマットは yyyy-MM-dd'T'HH:mm:ssZZZです。

exports.handler = async event => {
  const date = event.userData.date;

  // 実行日時を使った処理を実行

}