こんにちは、SSL須釡です。
2018年9月に発売されたiPhoneXS世代では、NFCまわりの機能に次のようなアップデートがありました。
- バックグラウンドでのNDEFの読み込み
- 予備電力付きエクスプレスカード
今回の記事では、バックグラウンドでのNDEFの読み込みについて詳しくみていきたいと思います。
NDEFとは何か?
まずNFCとNDEFについて軽くおさらいをしておきましょう。FeliCaやTypeA,Bなどの異なる非接触通信の仕組みがいくつかありますが、NFCフォーラムという団体がこれらを共通に扱うための仕様を策定しています。その中にNFCタグとの通信仕様も含まれており、ここで扱う共通データフォーマットがNDEF(NFC Data Exchange Format)と呼ばれるものです。
つまり、NFCタグにNDEF形式でデータを書いておくと、NFCリーダーで読み込めるというわけです。
参考
https://www.sony.co.jp/Products/felica/NFC/forum.html
実際に使ってみる
では、実際にこの新機能のはたらきを確認してみたいと思います。
iOSはCoreNFCとしてNFCの機能を提供しており、現在のところNFCタグからNDEFフォーマットのデータを読みだす機能だけが提供されています。iPhoneX以前のiPhoneではアプリケーション起動中に、システムのダイアログを出して読み込むということだけが可能です。
iPhoneXS世代からはアプリ起動中でなくても、URLタイプのタグを読み込むことができるようになります。NDEFにはデータタイプを表すフィールドがあり、URLの他にもプレーンテキストなども入れておけるのですが、この機能はURLのみが対象です。URLがセットされたタグをiPhoneXSにかざすと通知ウインドウが現れ、URLを開くかどうかが尋ねられます。
UniversalLinkという仕組みでサイトと自分のアプリを紐づけておくと、Safariではなく直接アプリを開くことができます。
決まったURLを開くだけなので、セキュリティなどは何もありません。サイトやアプリを開くためのショートカットとして使うというのがメインの使い方になります。対応端末は少ないですが、検索やQRコードよりは手間が少なくなるのがメリットと言えます。
今後のさらなる展開に注目
今回の記事では、iPhoneXS世代でのバックグラウンドでのNDEFの読み込み機能を見てきました。iOSではまだreader/writerの機能や、P2PのAPIは公開されていません。今後、使い勝手やプライバシー、セキュリティを考慮しながら、どのような形で解放されていくのか注目していきたいと思います。