ソフトウェアアップデート
THINKLET向けに開発したソフトウェア(apkパッケージ)は、同一のアプリケーションに所属するTHINKLETに対して、CWS APIよりオンラインにて配布できます。
THINKLETにソフトウェアを配布するには、あらかじめCWS APIを利用可能としておく必要があります。
CWS APIの利用にあたっての準備は、利用準備を参照してください。
ソフトウェアの配布手順
THINKLETにソフトウェアを配布する手順は、次の通りです。
1. THINKLETに配布するソフトウェア(apkパッケージ)を作成する
THINKLET向けのソフトウェア(apkパッケージ)を作成します。 作成にあたっては、次のドキュメント等を参照してください。
CWS APIで配布可能なソフトウェア(apkパッケージ)のファイルサイズは、5GB以内としてください。
既に配布済みのソフトウェアをアップデートする場合は、次の点に注意してください。
アップデート用のソフトウェア(apkパッケージ)では、THINKLETにインストール済みのバージョンより大きいVersionCodeを設定する必要があります。VersionCodeが同一かそれより古い場合、THINKLETへのインストールは失敗します。
2. THINKLETに配布するソフトウェアの情報をCWS APIに登録する
CWS APIのソフトウェアをアップロードするためのURLを作成するにて、THINKLETに配布するソフトウェアの情報(package、version、fileSize)をCWS APIに登録します。
レスポンスデータとして、THINKLETに配布するソフトウェアをCWS APIにアップロードするためのURLが返却されます。
ここで返却されたURLは次の手順で使用します。
URLの有効期限は60分です。
CWS APIに登録済みのpackageとversionを指定した場合は、登録済みのソフトウェアを上書きアップロードするためのURLが返却されます。
CWS APIにソフトウェアの情報を登録する際は、次の点に注意してください。
CWS APIに登録したversionと、登録するソフトウェア(apkパッケージ)のVersionNameは一致させてください。異なる場合、THINKLETへのインストールは実施されますが、アップデート指示時に指定したバージョンとインストール後のバージョンが一致しないため、エラーとして通知されます。
3. THINKLETに配布するソフトウェアをCWS APIにアップロードする
前の手順で取得した、THINKLETに配布するソフトウェアをCWS APIにアップロードするためのURLに、THINKLETに配布するソフトウェア(apkパッケージ)をアップロードします。
このURLは、Amazon S3のPresigned URLです。
アップロードを実施する際は、Content-Typeにapplication/vnd.android.package-archiveを指定してください。
アップロードを実施するコマンド例は、次の通りです。
curl -X PUT '{CWS APIから取得したアップロードURL}' \
--header 'Content-Type: application/vnd.android.package-archive' \
--upload-file '{apkファイルへのパス}'
4. CWS APIよりTHINKLETにソフトウェアを配信する
CWS APIのソフトウェアをすぐにアップデートさせるを実行します。
指定したデバイスがオンラインの場合、ソフトウェアが配信されます。
指定したデバイ スがオフラインの場合は、デバイスがオンラインになったタイミングで指定したソフトウェアが配信されます。
デバイスへのソフトウェアのインストール状況は、トランザクション結果通知(ソフトウェア/ファームウェアのアップデート)で確認できます。
THINKLETにインストールされているソフトウェアと同一か、それより古いVersionCodeを持つソフトウェアを配信した場合、THINKLETへのインストールは失敗します。
CWS APIに登録されているソフトウェア(apkパッケージ)の情報を参照する
CWS APIの配信可能なソフトウェアとバージョンの一覧を取得するを実行し ます。