micomia株式会社のエンジニア 西村です。
今回は、QRコードを読み取り、読み取ったサイトを自動的に開く機能を実装する方法を解説します。
1.実装方法

まずは、QRコード読み取り画面を起動するためのボタンと、確認用に、読み取ったURLを表示するテキストを配置します。

ボタンにActionsを設定します。今回設定したAction Flowはこちらです。

Scan Barcode/QR Codeの、Action Output Variable Nameというところは、読み取った文字列を保存する場所の名前になります。今回はcodeValueとしています。

Launch URLでは、URL Value TypeでFrom Variableを選択します。

From Variableの下に出てくるオレンジ色の欄をクリックすると、画像のような表示が出ます。その中から、Action Outputsの中の、先ほど決めた文字列の保存場所の名前、ここではcodeValueを選択します。

ボタンに設定するActionsはこれで完了です。

次に、テキストに読み取った結果を表示させましょう。
Textのオレンジのマークをクリックすると、画像のような画面が表示されるので、Launch URLの時と同じように、Action Outputsの中の、読み取った文字列の保存場所の名前を選択します。

コードを読み取っていないときに入るデフォルトの文字列、Default Variable Valueを設定します。
これでQRコード読み取り機能の実装は完了です。
2.実際の動き
実際にこのアプリを動かしてみましょう。

Code Scan Buttonを押すと、コードを読み取る画面が起動します。

起動するとこのような画面になります。
この画面でQRコードを読み取ってみましょう。

今回はこの画像を読み込みます。

読み込むとサイトが開き、画面に表示されました。

アプリの画面に戻ってみると、URLが表示されています。
3.注意点
FlutterFlowにあるこのScan Barcode/QR Codeのアクションは、ブラウザでは起動できません。Webアプリを作成する際には使えないので、ご注意ください。
テストする際も、TestFlightやAPK、エミュレーターなどを使ってテストしてください。
4.まとめ
今回はFlutterFlowでQRコード読み取り機能を実装する方法を解説しました。
micomia株式会社では他にもFlutterFlowの解説を行なっていますのでぜひ他の記事もご覧ください。


.webp%3Falt%3Dmedia%26token%3D44d272c7-1e7a-46d7-86de-dc2bec67a3e4&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dbc168691-5281-4eab-8c08-ed7fe5624582&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8f9453ad-d017-4640-8b7b-4c5d55391f46&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D904686c4-e792-4c6a-b5ce-e7648fd53404&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8db330f1-3fab-48b7-8dcf-dd8c6f47836a&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Ddef3da75-721c-4e42-8cd8-f06795bb771f&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8fec979d-a6dc-4d03-960f-330f997108a7&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D6bddee16-071d-41fd-8a4b-f2026bcff617&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D9ba70870-6b39-4eab-b9c2-e126ef08cb09&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D8a795f56-e8a9-4be1-937b-65c1a89922b3&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dbe65d589-2f4c-4ad8-82a1-7ddb73af2620&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D0aa104f5-928b-4ddf-a535-d8574b7667a8&w=3840&q=75)

.webp%3Falt%3Dmedia%26token%3D45131e3d-4777-421a-a556-bcc8d462dfe1&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D09daf923-4a62-4c31-af6f-f3d99a9f635b&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D0e63e93b-1558-48a5-8b24-d1ae7cfa487f&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D240fcc34-b7e7-4c86-b294-fdfc2a66db21&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Db288c602-2902-4f93-8eca-903ec8f86440&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D6040f2d9-1a54-476c-9999-5e0aeb8e8a74&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D3c4b1b17-9fec-405e-9e02-8d34961b6f16&w=3840&q=75)