Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

目次

...

Table of Contents
minLevel1
maxLevel4

...

{
"preferenceVersion" :{"major":"1", "minor":"1"},

"preference": [ {"prefName" :"Pref0",
"prefType" :"Boolean",
"appApiAccess" :"ReadWrite",
"webApiAccess" :"ReadWrite",
"defaultValue" :"TRUE" },


{"prefName" :"Pref1",
"prefType" :"Integer",
"appApiAccess" :"Read",
"webApiAccess" :"None",
"defaultValue" :"0"} ,


{"prefName" :"Pref2",
"prefType" :"String",
"defaultValue" :"This is a ¥"String¥"."} ,


{"prefName" :"Pref3",
"prefType" :"Enumeration",
"enumerationList" : ["Item0", "Item1", "Item2"],
"defaultValue" :"Item0"} ,


{"prefName" :"Pref4",
"prefType" :"Binary",
"defaultValue" :" YWJjZGVmZWZn"}
]
}

Info

パラメータ定義ファイルは、 JSONフォーマットで記述します

アプリパラメータ定義ファイルについて説明します。

...

パラメータ定義ファイルのサイズ制約

...

アプリパラメータ定義ファイル(PrefDefFile:appPrefs.json)は最大64KB
※インストール時に定義ファイルのサイズが64KBを超える場合にはエラーとなる。

アプリパラメータ値内部管理ファイル(PrefValFile:appPrefs.json)は最大128KB
※パラメータ保存時に内部管理ファイルのサイズが128KBを超える場合にはエラーとなる。

・設定時にパラメータ値保存ファイルの最大サイズを128KB以下に抑えることで保存時のサイズエラーをなくすことが可能
・各パラメータの設定値を最大サイズ以下で扱う場合は、最大サイズが128KBを超えるように設定することも可能
・パラメータ保存ファイルのサイズは下記の計算式で計算することが出来る(単位:Byte)

Boolean型:prefNameのサイズ+154+valueのサイズ(true(4)/false(5))+defaultValueのサイズ( true (4)/ false (5) )+ webApiAccessのサイズ(ReadWrite(9)/Read(4)/None(4))+ appApiAccessのサイズ(ReadWrite(9)/Read(4))

Integer型:prefNameのサイズ+154+valueのサイズ+defaultValueのサイズ+ webApiAccessのサイズ(ReadWrite(9)/Read(4)/None(4))+ appApiAccessのサイズ(ReadWrite(9)/Read(4))

String型:prefNameのサイズ+153+valueのサイズ+defaultValueのサイズ+ webApiAccessのサイズ(ReadWrite(9)/Read(4)/None(4))+ appApiAccessのサイズ(ReadWrite(9)/Read(4))

Enumeration型: prefNameのサイズ+ 193 + 154+valueのサイズ+defaultValueのサイズ+ (Enumeration Listの要素のサイズ+ 17) * Enumeration Listの要素数+ webApiAccessのサイズ(ReadWrite(9)/Read(4)/None(4))+ appApiAccessのサイズ(ReadWrite(9)/Read(4))

Binary型:prefNameのサイズ+153+valueのサイズ+defaultValueのサイズ+ webApiAccessのサイズ(ReadWrite(9)/Read(4)/None(4))+ appApiAccessのサイズ(ReadWrite(9)/Read(4))

パラメータ値保存ファイル:各パラメータ保存サイズの合計+109+majorVersionのサイズ+minorVersionのサイズ +各パラメータのprefNameとvalueとenumerationLisの中にあるエスケープ文字の数

アプリアップデート時の設定値の対応

...

インストール済みアプリ(A)のpreferenceVersionとアップデートパッケージ(B)中のpreferenceVersionを比較し、次の動作を行う

1.Majorバージョンが違う場合
アップデートパッケージのアプリパラメータ定義ファイルに置き換え → インストール済みアプリの値は一切利用しない

2.Minorバージョンが違う場合
(A)と(B)の両方に存在するパラメータ : (A)のvalueを設定
・ただし、 その他の属性値は変更される(defaultValueや、appApiAccessなども値を変更される)
・同じパラメータ名で、型が変わる場合は、defaultValueを設定
・EnumerationListの要素にvalueがなければ、defaultValueを設定
(A)のみに存在するパラメータ : そのパラメータを削除
(B)のみに存在するパラメータ : そのパラメータを追加

3.MajorバージョンもMinorバージョンも同じ場合
(A)と(B)のvalue以外の属性値(defaultValue, webApiAccess, appApiAccess, EnumerationList)が一つでも異なっていればエラー
(A)と(B)の全ての属性値が同じ場合 (A)のvalueを設定

アップデート完了後、preferenceVersionは、アップデートパッケージのものに設定される