アプリ間でクライアント変数を共有する
このドキュメントでは、クライアント変数を使用して2つのアプリの間で値を共有する方法について説明しています。ここでは、ブロックを使用して値を共有していますが、パブリッククライアントアクションを使用して値を共有することもできます。この手順は、リアクティブWebアプリとモバイルアプリに適用されます。
最初のアプリとクライアント変数を作成する
クライアント変数を作成し、その値をモジュールの読み込み時に初期化するには、以下の手順を実行します。
- サンプルリアクティブWebアプリを作成し、「ReactiveAppA」という名前を付けて、Webモジュールを追加します。エディタが開いたら、アプリに画面を追加します。
- [Data]タブに移動し、Client Variablesを右クリックして、[Add Client Variable]を選択します。変数に「MyClientVariable」という名前を付けます。
- [Logic]タブに移動し、Client Actionsを右クリックして、[Add System Event > On Application Ready]を選択します。
- フローにAssignツールをドラッグし、
Client.MyClientVariable = "Value from ReactiveAppA!"
を割り当てます。これにより、アプリの実行が開始すると変数に値が設定されます。 - MainFlowにブロックを追加し、「BlockWithClientVariable」という名前を付けます。ブロックにExpressionウィジェットをドラッグし、ウィジェットのExpression Valueに「
Client.MyClientVariable
」と入力します。 - 画面にBlockWithClientVariableをドラッグします。
- BlockWithClientVariableのPublicプロパティを[Yes]に設定します。
- アプリをパブリッシュし、ブラウザで開きます。
2つ目のアプリを作成してクライアント変数の値を渡す
前のセクションで作成したブロックを再利用して、アプリ間でクライアント変数を共有するには、以下の手順を実行します。
- 別のサンプルリアクティブWebアプリを作成し、「ReactiveAppB」という名前を付けて、Webモジュールを追加します。もう一度アプリに画面を追加します。
- [Manage Dependencies]を開き、プロデューサ内でReactiveAppAを検索して、BlockWithClientVariableを選択します。[Apply]をクリックして参照を追加し、ダイアログを閉じます。
- 画面にBlockWithClientVariableをドラッグします。
- アプリをパブリッシュし、ブラウザで開きます。
従来のWebアプリで値を共有する
従来のWebアプリでは、セッション変数を使用して構成やアプリのコンテキストデータを保持できます。