アプリの最新バージョンを使ってもらいたい・・・でもキャンバスアプリにはそのような強制リロードやバージョンチェック機能が標準でありません。
今回はそういったことを実現する小技を紹介します。
目次
概要
アプリは前回実行したときのキャッシュを先に読み込み、起動速度を上げるように設計されています。
このため、アプリが古いバージョンで実行されてしまうことがあります。
ただし、 Power Apps が最新バージョンを検出した場合は「最新情報に更新してください」という警告は表示されます。
一方で、データソースはアプリ起動時に最新の情報が読み込まれます。
このデータソースは最新情報を取得していることを利用して、アプリとデータソースの値のチェックを行いこの課題を克服します。
手順
データソースの作成
最新のバージョンを定義するデータソースを作成します。今回は SharePoint リスト上に作成します。
AppVersion という SharePoint リストを作成しました。これから作成するアプリの読込時のバージョンと、この値を一致させることで最新バージョンのアプリが読まれているかどうかを判断します。

アプリ起動時にバージョンを読み込む
アプリでは、App > OnStart プロパティを選択します。

バージョンチェック用の Power Fx 式をここに定義します。
Set(IsVersionCheckPass, Not(First({データソース名}).Title = "v1.5.0.0"));バージョン違い時に表示されるコンテナー
もし true と判断されたら冒頭のポップアップの表示の Visible プロパティが true となり更新するように促すポップアップ (ここではコンテナー) が表示されます。

バージョン違いの場合はこちらのコンテナーが表示されます。
以下は画像も入れてこだわったデザインにしていますが、アプリの利用を止めるためだけであれば全画面に表示する、かつ、最上位レイヤーという条件が達成できていれば他のコントロールでもよいでしょう。

以上、ご参考になれば幸いです。
Recent Posts