《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 解決方案 > 技術詳解:如何開發(fā)一個iOS小程序并且通過NFC標簽觸發(fā)

技術詳解:如何開發(fā)一個iOS小程序并且通過NFC標簽觸發(fā)

2021-07-09
來源:意法半導體
關鍵詞: iOS NFC

36.jpg

  現(xiàn)今,商家與客戶互動有了一種新的方式 -- App Clip(蘋果小程序)和NFC標簽。這個功能讓用戶可以在手機操作系統(tǒng)上運行小程序,無需到應用商店下載安裝軟件。小程序只是在屏幕上彈出信息,此功能為開發(fā)新的客戶關系創(chuàng)造了機會。例如,咖啡店可以提供更實用的積分卡,零售商可以讓虛擬錢包更好用。商家可以通過多種方式觸發(fā)小程序,其中一種是指向某一個URL地址的NFC標簽。當用戶iPhone靠近標簽時,手機會自動發(fā)現(xiàn)URL并啟動小程序。原理簡單的同時成本也低廉。下面我們探討一下商家使用小程序都需要些什么。

  App Clip是什么?

       App Clip 被稱為“ 輕量版的手機應用軟件”。這種小軟件壓縮前二進制代碼量小于10 MB,并且主要提供應用程序的一小部分功能。例如,一家咖啡公司的完整應用可以提供咖啡店的名錄、近期促銷活動、銷量排序以及積分卡,但App Clip小程序只會顯示積分卡。這些功能確保用戶獲得即時體驗,即使手機移動網(wǎng)速很低,用戶也能獲得實時體驗。用戶還能獲得簡便快捷的使用體驗。通過手機靠近NFC標簽啟動小程序,可以減少很多使用障礙,為不太熟悉手機應用的新客戶打開了數(shù)字互動的大門。下面來看一下ST的iOS應用開發(fā)者Vincent Latorre的小程序開發(fā)經(jīng)驗。

  App Clip:客戶端或NFC配置

  1. 準備ST25-TAG-BAG-U套件

 q.jpg

  ST25-TAG-BAG-U 標簽套件包含: 1. ST25TV02K, 2. ST25TA02KB, 3. ST25TV02K HC, 4. ST25TV512, 5. ST25TA64K

  在整個配置過程中,最容易的環(huán)節(jié)是創(chuàng)建一個NFC標簽,在標簽內(nèi)寫入指向小程序的URL。這個過程非常簡單,簡單到創(chuàng)建一個正常工作的演示軟件,連一行代碼都不用寫。出于演示目的,我們將使用兩個ST25TV02K NFC標簽,其中一個用于存放小程序的URL地址,另一個將用作概念驗證,講解可以在操作系統(tǒng)中存儲的或緩存的功能容器。

  如果想開發(fā)一個以App Clip小程序為主的演示,第二個標簽是不需要的,開發(fā)者可以只用第一個標簽。但是,我們想借此機會講解演示如何寫存儲區(qū)塊,并提供具體證據(jù)證明ST的小程序確實在工作,而不是給大家看一個展示的屏幕。這兩個標簽都是ST25-TAG-BAG-U 套件中的小圓標簽。用戶必須到應用商店下載我們的NFC Tap應用,才能讀寫標簽。

  寫URL

  我們拿出第一個ST25TV02K標簽。以下演示假設標簽是空白標簽。第一步是在主屏上選擇Read Tag,然后將手機靠近標簽,屏幕上將出現(xiàn)ST25TV02K的信息。下一步,點擊屏幕右下方的…圖標 ,然后選擇Areas Content Editor選項,最后,用手機掃描標簽。如果是空白標簽,則會出現(xiàn)一個對話框,顯示存儲器大小(例如256字節(jié)),并提示No NDEF message。

  在寫入一條NDEF消息前,用戶需要點擊提示No NDEF message的對話框,隨后在屏幕上將出現(xiàn)一個白色方框和藍色箭頭。向左滑動白色方框,將會彈出一個菜單,其中包含Add、 Edit、Insert 和 Exec選項。在選擇 Add后,

  1.選擇NdefUriRecord

  2.輸入<https://www.myst25.com/clip>。務必選擇https,否則小程序?qū)⒉粫⒓达@示。

  3.按Validate按鈕,然后寫標簽

  了解功能容器

  第二個ST25TV02K是我們的測試標簽,我們還可以通過它了解Type-5標簽中NDEF支持功能。這個演示證明ST的小程序正在讀取標簽,而不是在展示一個手機屏幕。為了增加演示的趣味性,我們效仿我們關于NDEF管理的應用筆記中的方法。事實上,那篇文章講解的是如何將ST25TV標簽配置成支持NDEF消息的NFC Type-5標簽,簡而言之,就是在第一個存儲塊中寫入一個有效的功能容器(CC)。那篇文章給用戶詳解了整個設置過程,我們可以在ST25TV02K的第一個存儲塊內(nèi)直接寫入四字節(jié)CC:E1 40 20 01h。

  寫測試標簽

  在執(zhí)行寫標簽操作前,打開NFC Tap iOS應用,然后

  1.選擇Read Tag,然后掃描第二個ST25TV02K標簽

  2.檢查CC File部分,確保標簽是空白的。如果Magic Number是0x00,則表示標簽內(nèi)不含任何信息。

  現(xiàn)在,我們激活NDEF消息傳輸支持功能,然后寫入一小條消息。

  1.選擇屏幕底部的More ,然后選擇Areas Content Editor。這時軟件將會讓你掃描標簽,然后,發(fā)現(xiàn)一個256字節(jié)的可寫區(qū),里面沒有內(nèi)容。

  2.點擊Area 1

  3.在屏幕上出現(xiàn)No NDEF Record的提示信息。向左滑動對話框,然后出現(xiàn)一個菜單,選擇 Add。

  4.點擊NdefTextRecord,清除現(xiàn)有文本,然后輸入Hello World!

  5.按Validate按鈕,然后將手機靠近標簽,寫入NDEF消息。

  測試App Clip

  只有當手機上沒有安裝完整的應用軟件時,小程序才會彈出。因此,在掃描第一個有小程序URL地址的ST25TV02K標簽前,如果安裝了NFC Tap軟件,必須刪除軟件。當手機檢測到第一個標簽時,就會在觸屏上顯示小程序卡片,詢問用戶是否要打開小程序或從應用商店下載應用。打開小程序后會顯示一個精簡版的NFC Tap應用軟件,其中Read NDEF 是灰色不可用,但Read Tag 可用。選擇讀取標簽選項,然后掃描第二個ST25TV02K標簽,證明小程序讀取我們的標簽數(shù)據(jù)。向下滾動屏幕,我們看到Magic Number是 0xE1,證明小程序正在掃描我們剛才配置的標簽。

  后臺或應用開發(fā)和Web服務器配置

  Xcode項目

  對于希望了解更多信息的開發(fā)人員,第一步是下載我們的iOS應用程序的源代碼(STSW-ST25IOS001) 。工程師只需在Apple IDE開發(fā)環(huán)境中打開下載的文件,即可開始研究我們的實現(xiàn)方法。首先要注意的是,在應用程序中充當小程序的代碼段是一個特定目標。為輔助開發(fā)者開發(fā)小程序,蘋果提供了專用的App Clip模板,小程序可以與Apple Pay配合使用,并可以用蘋果賬號登錄軟件。這個新系統(tǒng)還得益于一個特殊的通知和地理位置定位系統(tǒng)。此外,一個iOS軟件可以有多個App Clip。在Xcode中,開發(fā)人員應注意Signing & Capabilities 選項卡,并記住團隊名稱和捆綁標識。

  下一步是使用App Store Connect Web界面創(chuàng)建App Clip小程序。在此處,開發(fā)人員將上傳圖片,該圖片將顯示在iOS卡片上,吸引用戶啟動小程序。點擊Advanced App Clip Experience 將打開一個新菜單,設置指向小程序的URL地址。此外,開發(fā)人員還可以請求操作系統(tǒng)檢查移動設備的地理位置,商家可以選擇使用此功能將小程序與商鋪或特定地點關聯(lián)。

  服務器端

  Web服務器配置非常簡單。 在Xcode和App Store Connect內(nèi)定義的URL中,例如http://www.myst25.com/clip,必須有一個index.html 文件,而且其元標記必須包含應用程序ID和小程序捆綁ID。如下所示,文件正文可以是空白的,最重要的地方是元標記本身。

  <html>

  <head>

  <meta name=“apple-itunes-app” content=“app-id=THEAPPID, app-clip-bundle-id=THEAPPBUNDLEID”>

  </head>

  <body>

  </body>

  </html>

  文件名為 apple-app-site-association的文件是在網(wǎng)絡服務器的根文件夾(例如/ www)中必須存在的第二個重要文件。該文件僅列出下面的數(shù)組:

  “appclips” : {

  “apps”: [“TEAM_NAME.BUNDLE_ID (e.g., UL3MK8FNMR.com.st.st25ncf.clip)”],

  “paths”: [“DESTINATION (e.g., path/*)”]

  }



微信圖片_20210517164139.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。