技術情報ブログ
NFCタグ
2025.04.16

Power Apps で NFC タグを使ってみる

Power Apps で NFC タグを使ってみる
みやみや

こんにちは、みやみやです。

普段は「バス予報」という弊社サービスのシステム開発のマネジメントをしているのですが、時々現実逃避して別の技術を触って遊んでいて、本記事も業務では使っていない技術を試してみた系の記事になります

以前からですが、仕事とか Power Platform とか関係なく、NFC タグを試してみたかったので、購入してみて色々試していました

折角なので、Power Apps でも軽く動作確認をしてみたいと思います
(2024 年 12 月現在作成)

 

用意したもの

  • NFC タグ
  • 特定の商品を紹介するのを避けるため、商品名は伏せさせていただきますが、 10 枚 800 円程度のものをネットで購入しました

    NFCタグ
  • NFC に対応した Android 端末
  • ・手元にある Google Pixel 6 を使います

  • Android 端末に下記 2 つのアプリをインストール
  • 1. Power Apps
    2. NFC タグに情報を書き込むアプリ
      特定のアプリを紹介するのを避けるため、アプリ名は伏せさせていただきます

 

NFC タグに書き込んだ情報を読み込んでみる

早速ですが、Android の NFC アプリを使って、NFC タグに下記情報を書き込んでみました

レコードの種類

テキスト文字

1 件目のテキスト文字

テキスト文字

2 件目のテキスト文字

テキスト文字

3 件目のテキスト文字

URL/URI

http://3.112.238.159

この状態で NFC タグにスマホをかざすと、下記のような表示がされます

収集された新しいタグ

Microsoft Learn にある、ReadNFC 関数を参考にして、こちらの情報を読み込むアプリを Power Apps で作っていきます

1. Power Appsで、作成 -> 空のアプリ -> 空のキャンパスアプリと開き、下記のように設定して 作成ボタンをクリックします

キャンバスアプリ作成画面

  • アプリ名 : ReadNFC Example
  • 形式 : 電話

2. 上部メニューから、+ 挿入 -> ボタンを選択してボタンを追加します

3. ボタン名を変更し、 OnSelectの値に公式サンプルのコードを貼り付けます

OnSelectの値を編集

念の為コード例をこちらにも記載しておきます

With(ReadNFC(),
    Set(id, Coalesce(Identifier, "No ID"));
    ForAll(NDEFRecords, Collect(tagRecords, {ID: id, Value: Coalesce(Text, URI)})))

4. 上部メニューから、+ 挿入 -> 垂直ギャラリーを選択してギャラリーを追加します

5. ギャラリーのレイアウトを変更し、配置とサイズを調整、Itemsの値にtagRecordsと設定します

Itemsの値をtagRecordsと設定

6. 公開するのを忘れずに行う

アプリの公開

所要時間数分!これでアプリは完成です!

続いて、NFC タグを読み込んでみます

1. 早速、Google Pixel 6 でこのアプリを開きます

GooglePixel6でアプリを開いた画面

2. ReadNFC()ボタンをタップします

スキャンの準備ができました

3. NFC タグを読み込んでみます

NFCタグ読込結果

登録した通りの情報が読み込めました!

 

NFC タグを読み込んで Power Apps アプリを起動してみる

次に思いついたのは、NFC タグを読み込むことで、Power Apps アプリを起動することはできるかな?ということでした

作成した Power Apps アプリを見ると、固有のWeb リンクが作られているようなので、そちらを NFC タグに書き込めば大丈夫そうです

1. Power Appsで、Power Appsアプリをクリックして、先ほど作成したアプリの クリック、続いて 詳細をクリックします

詳細画面への行き方

2. 詳細にある Web リンクを NFC タグに書き込みます

Webリンクが記載された詳細画面

3. Google Pixel 6 を NFC タグにかざすと、リンクを起動するアプリを聞かれるので、アプリを開くをタップします

アプリを開く画面

4. アプリが起動します

アプリ起動

思ったよりあっさりできちゃいました!

 

NFC タグを読み込んで Power Apps アプリを起動してみる 2

もう少し調べると、 Power Apps モバイル アプリとのディープリンクを使用する – キャンバスアプリでサポートされている URL パラメーターというのがあり、こちらでも試してみたいと思います

フォーマットは次の通りのようです

ms-apps:///providers/Microsoft.PowerApps/apps/<appID>?tenantId=<tenantId>&restartApp=true

1. 先ほどの Web リンクを確認したときの詳細情報をみてみるとアプリ ID とテナント ID が確認できます

アプリIDとテナントIDを確認

2. 先に確認したアプリ ID とテナント ID を使って、ディープリンクを生成します ※一部マスキングしています

ms-apps:///providers/Microsoft.PowerApps/apps/803xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx9be?tenantId=267xxxxx-xxxx-xxxx-xxxx-xxxxxxxx1f4f&restartApp=true

3. ディープリンクを NFC タグに書き込みます

4. Google Pixel 6 を NFC タグにかざすと、書き込んだディープリンクが表示されますのでタップします

ディープリンクの表示

5. アプリが起動しました

アプリの起動

こちらもあっさりできちゃいました!

 

考察

実際に動かしてみると判るのですが、1 度 Power Apps が起動してからアプリに遷移するのが少し残念で、直接アプリを起動できるようになると良さそうです

NFC タグの利活用については、インターネットで検索すると大量にでてくるので、「こういうのできるかな?」っとアイディアが湧くまで色々と見てみるのはどうでしょうか?

次回は、NFC タグでアプリを起動することと、前から試してみたかったカメラ機能を使って、少しリアリティのある Power Apps アプリを作ってみようと思います

miyamiya

みやみや

ビジュアル系プログラマー、ビジュアル系 PM を自称して 20 年近くが経ちました

弊社 MaaS 製品全般で、開発・運用側のマネジメントをしながら、時々開発もしています

シェアする
記事カテゴリ
最新記事
2025.04.30

Power Apps, Power Automate で作る NFC タグを活用したアプリ例

2025.04.16

Power Apps で NFC タグを使ってみる

2025.04.02

Copilot Studioで作成したコパイロットをTeams に追加する方法

2025.03.19

SharePoint リストで主キーを実装し、比較してみた

2025.03.12

SharePointのデザインをもっとおしゃれに!(X-SP Design | SharePoint デザイン拡張サービスのご紹介)(4) サンプルの紹介その2

AccessCSSBreakpointObserverSet承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSharePoint Framework転職InfoPathxUnitメディアクエリForAllform差出人アプリdesignconcat関数ファイル勉強表示SPFx主キーMatTable.Net Core 3.1スマホUpdateContextエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替サンプルCopilot StudioAngular MaterialVSCodePCロードマップインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者samplePowerAppsデータ構造.Net Core Test Explorerレスポンシブ技術カスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列X-SPNFCタグモデル駆動型アプリSortByColumns関数Dataverse for Teams入門ItcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StylePowerAutomatePower AppsTypeScriptitem関数初心者情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者StudioPower PlatformHTMLGoogle Maps中級者メッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日AISharePointEF CoreMarker Clustererキャンバスアプリメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更生成系AIExcelマイグレーションRANK()関数DatePickerfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBCopilotPower AutomateFramework CoreDynamics 365 SalesDropdownnest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携licenseC#Attribute directivesMicrosoft Translatorview入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続添付ファイルコントロールattributeO/Rマッパーマーカークラスタリングライブラリビュー動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローファイルサイズvalidationazure sql databasetailwindcssアクセス制限collectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binフルリモートワークローコードCase式マルチテナント承認コレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールごみ箱アーティサンAngularHTTP Requestドロップダウンメニューリマインド複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseアクセス許可Artisan
PageTop
ページトップに戻る