PieceJSON Keys

Piece JSON

JSON Key 必須 更新 制約 説明
title titleObject 30文字以内 Pieceのタイトル。
言語毎に設定することができる。
英語の設定は必須。
わかりやすい名前になる様に心がけましょう。
description descriptionObject Pieceの説明。
言語毎に設定することができる。
Pieceの動作に必要な処理や制約などもここに記載する。
英語の設定は必須。
ユーザーが実際にみる説明文です。端的に何をするものなのか?制約事項や特記事項があればここに記述しておくと親切です。
vendorId String × SDKを利用してpieceCoreを作成する場合に、開発者登録したときに割り振られたVendor IDを入力 ベンダーを識別するためのId。
指定がない場合は”none”を指定する。
deviceId String × SDKを利用してpieceCoreを作成する場合に、Riiiver側にデバイス登録したときに割り振った番号を入力 Pieceを動作させるのに必要なデバイスのId。
指定がない場合は”none”を指定する。
categoryIds String[] × カテゴリマスタに登録されているものから1〜2つ選択 Pieceの属するカテゴリを識別するためのId。
osType String × “iOS”、”Android”、”none”の中から1つ選択 Pieceの動作を保証できるスマートフォンのOSを指定する
全てのOSに対応している場合は”none”を選択する
version String 初回は”1.0.0″を指定する
バージョンアップする場合は必ずインクリメントすること
メジャーバージョンアップとマイナーバージョンアップの選択は自由
Pieceのバージョン
sdkVersion String 公開されているRiiiverSDKのバージョンの中から選択する Pieceの動作が保証されているRiiiverSDKの最低バージョン
RiiiverSDKに依存しないものであれば”1.0.0″を指定すること
blockType String × “trigger”、”service”、”action”の中から1つ選択 Pieceのタイプ
このPieceがT(trigger)、S(service)、A(action)の内のどれに属するかを指定すること
executor String × クライアントアプリが持つ、実際にPieceを動作させるクラス(モジュール)名
permissionList Object × × Pieceの動作に必要な端末依存情報の中で、クライアントアプリのOSに対してデータアクセス許可が必要な物のパーミッションリスト
preferences preferenceObject × ユーザから設定してもらうPieceの設定項目
ユーザの設定値によって処理を分けたい場合などに指定する
input inputObject × inputに指定できる項目は1つのみ Pieceが入力(前Pieceの出力)として受け取るデータの型、フォーマットなどを指定する
output outputObject × outputに指摘できる項目は1つのみ Pieceが出力(次Pieceの入力)として受け渡すデータの型、フォーマットなどを指定する
serviceProxy serviceProxyObject × × PeiceがServiceProxyを利用する場合に記述する
ProxyCoreの動作に必要なデータが格納されている

titleObject

JSON Key 必須 更新 制約 説明
en String 英語のpieceタイトル
ja String × 日本語のpieceタイトル
it String × イタリア語のpieceタイトル
fr String × フランス語のpieceタイトル
es String × スペイン語のpieceタイトル
de String × ドイツ語のpieceタイトル
pt-PT String × ポルトガル語のpieceタイトル
zh-Hans String × 中国語(簡体字)のpieceタイトル
zh-Hant String × 中国語(繁体字)のpieceタイトル

descriptionObject

JSON Key 必須 更新 制約 説明
en String 英語の説明
ja String × 日本語の説明
it String × イタリア語の説明
fr String × フランス語の説明
es String × スペイン語の説明
de String × ドイツ語の説明
pt-PT String × ポルトガル語の説明
zh-Hans String × 中国語(簡体字)の説明
zh-Hant String × 中国語(繁体字)の説明

permissionList

JSON Key 必須 更新 制約 説明
ios String[] “location”: 端末の位置情報にアクセスする場合に指定する
“mediaLibrary”: 端末のメディアライブラリにアクセスする場合に指定する
クライアントアプリのOSがiOSの場合に必要となるパーミッションリスト
android String[] “location”: 端末の位置情報にアクセスする場合に指定する
“mediaStore”: 端末のメディアストアにアクセスする場合に指定する
クライアントアプリのOSがAndroidの場合に必要となるパーミッションリスト

preferences

※ JSON Keyが「–」で始まるものは直前のJSON Keyの中で2階層下で使われることを表す。
例えば –typeは下の様な階層関係になる:

"properties": {
   "cityName": {                    // ここはユーザーが自分で定義した名前のKey
      "type": "string",     // ここがpropertiesから見て、--typeにあたる。
      "x-description": {
        "en": "set the area from which to get the temperature.",
        "ja": "気温を取得する地域を指定します。"
      }
   }
},

↓の表で「– type」は「properties」の下にある。"properties"から2個下の関係で利用することを示す。

JSON Key 必須 更新 制約 説明
type String × 必ず”object”を指定する JSONスキーマのtype
properties Object × 任意のPreference名をKeyとしてPreferenceデータを記述する
— type String × “boolean”、”integer”、”number”、”string”の中から1つ選択する Preferenceに設定するデータの型
— format String × × Preferenceに設定する値が特定のフォーマットに対応している場合は指定する
— x-unit String × × Preferenceに設定する値に単位を定義したい場合に指定する
— enum Enum × × Preferenceに設定する値を固定の候補に制限したい場合に指定する
— x-enum-titles Object × enumに指定した候補値対して言語毎に説明を加えたい場合に指定する
— x-title titleObject × Preferenceに設定する値のタイトル
— x-description descriptionObject × Preferenceに設定する値の説明
— x-input-type String × “drumroll”、”calendar”、”slider”、”radio”、”map”、”text”、”textarea”、”switch”、”time”の中から1つ選択する Preference設定画面での入力タイプ
— default Object × × typeで指定した型と一致する値にすること Preferenceに設定する値のデフォルト値
x-field-order String[] × properties以下で定義した設定項目をUI上で表示する際の順序を指定する

-- typeの更新はできないので、-- typeの変更を伴うx-input-typeの更新はできない。例えば、”drumroll”で”string”/”integer”などを取得するようにしていたところを、”switch”で”boolean”を取得するというような変更はできない。

inputObject

JSON Key 必須 更新 制約 説明
type String × 必ず”object”を指定する JSONスキーマのtype
properties Object × 任意のinput名をKeyとしてinputデータを記述する
— type String × “boolean”、”number”、”string”、”object”、”array”の中から1つ選択する inputとして受け取るデータの型
— x-title titleObject × inputに設定する値のタイトル
— x-description descriptionObject × inputに設定する値の説明
— format String × × inputとして受け取りたい値が特定のフォーマットに対応している場合は指定する
— x-unit String × × inputとして受け取る値に単位を定義したい場合に指定する

outputObject

JSON Key 必須 更新 制約 説明
type String × 必ず”object”を指定する JSONスキーマのtype
properties Object × 任意のoutput名をKeyとしてoutputデータを記述する
— type String × “boolean”、”number”、”string”、”object”、”array”の中から1つ選択する outputとして出力したいデータの型
— x-title titleObject × outputに設定する値のタイトル
— x-description descriptionObject × outputに設定する値の説明
— format String × × outputとして出力したい値が特定のフォーマットに対応している場合は指定する
— x-unit String × × outputとして出力する値に単位を定義したい場合に指定する

serviceProxyObject

JSON Key 必須 更新 制約 説明
service String ラムダ上で動作するServiceProxyCoreの名前
parameters String[] × “location”: 端末の位置情報を使用したい場合に指定する ProxyCoreの動作に必要な端末依存情報
authType String[] × “apiKey”、”oauth2″、”other”の中から選択する
RiiiverSDKが認可処理をサポートしているのは”oauth2″のみである
他を選択する場合はアプリ側で独自に認可処理を実装する必要がある
ProxyCore内で外部サービスを利用し、認可処理を必要とする場合に指定する
認可処理の認証タイプを格納する