技術(shù)詳解:如何開發(fā)一個iOS小程序并且通過NFC標(biāo)簽觸發(fā)(小程序 ios nfc)
現(xiàn)今,商家與客戶互動有了一種新的方式 —— App Clip(蘋果小程序)和NFC標(biāo)簽。這個功能讓用戶可以在手機操作系統(tǒng)上運行小程序,無需到應(yīng)用商店下載安裝軟件。小程序只是在屏幕上彈出信息,此功能為開發(fā)新的客戶關(guān)系創(chuàng)造了機會。例如,咖啡店可以提供更實用的積分卡,零售商可以讓虛擬錢包更好用。商家可以通過多種方式觸發(fā)小程序,其中一種是指向某一個URL地址的NFC標(biāo)簽。當(dāng)用戶iPhone靠近標(biāo)簽時,手機會自動發(fā)現(xiàn)URL并啟動小程序。原理簡單的同時成本也低廉。下面我們探討一下商家使用小程序都需要些什么。
App Clip是什么?
App Clip被稱為“輕量版的手機應(yīng)用軟件”。這種小軟件壓縮前二進制代碼量小于10 MB,并且主要提供應(yīng)用程序的一小部分功能。例如,一家咖啡公司的完整應(yīng)用可以提供咖啡店的名錄、近期促銷活動、銷量排序以及積分卡,但App Clip小程序只會顯示積分卡。這些功能確保用戶獲得即時體驗,即使手機移動網(wǎng)速很低,用戶也能獲得實時體驗。用戶還能獲得簡便快捷的使用體驗。通過手機靠近NFC標(biāo)簽啟動小程序,可以減少很多使用障礙,為不太熟悉手機應(yīng)用的新客戶打開了數(shù)字互動的大門。下面來看一下ST的iOS應(yīng)用開發(fā)者Vincent Latorre的小程序開發(fā)經(jīng)驗。
App Clip:客戶端或NFC配置
1. 準(zhǔn)備ST25-TAG-BAG-U套件
ST25-TAG-BAG-U 標(biāo)簽套件包含: 1. ST25TV02K, 2. ST25TA02KB, 3. ST25TV02K HC, 4. ST25TV512, 5. ST25TA64K
在整個配置過程中,最容易的環(huán)節(jié)是創(chuàng)建一個NFC標(biāo)簽,在標(biāo)簽內(nèi)寫入指向小程序的URL。這個過程非常簡單,簡單到創(chuàng)建一個正常工作的演示軟件,連一行代碼都不用寫。出于演示目的,我們將使用兩個ST25TV02K NFC標(biāo)簽,其中一個用于存放小程序的URL地址,另一個將用作概念驗證,講解可以在操作系統(tǒng)中存儲的或緩存的功能容器。
如果想開發(fā)一個以App Clip小程序為主的演示,第二個標(biāo)簽是不需要的,開發(fā)者可以只用第一個標(biāo)簽。但是,我們想借此機會講解演示如何寫存儲區(qū)塊,并提供具體證據(jù)證明ST的小程序確實在工作,而不是給大家看一個展示的屏幕。這兩個標(biāo)簽都是ST25-TAG-BAG-U套件中的小圓標(biāo)簽。用戶必須到應(yīng)用商店下載我們的NFC Tap應(yīng)用,才能讀寫標(biāo)簽。
寫URL
我們拿出第一個ST25TV02K標(biāo)簽。以下演示假設(shè)標(biāo)簽是空白標(biāo)簽。第一步是在主屏上選擇Read Tag,然后將手機靠近標(biāo)簽,屏幕上將出現(xiàn)ST25TV02K的信息。下一步,點擊屏幕右下方的…圖標(biāo) ,然后選擇Areas Content Editor選項,最后,用手機掃描標(biāo)簽。如果是空白標(biāo)簽,則會出現(xiàn)一個對話框,顯示存儲器大?。ɡ?56字節(jié)),并提示No NDEF message。
在寫入一條NDEF消息前,用戶需要點擊提示No NDEF message的對話框,隨后在屏幕上將出現(xiàn)一個白色方框和藍色箭頭。向左滑動白色方框,將會彈出一個菜單,其中包含Add、 Edit、Insert和 Exec選項。在選擇 Add后,
1. 選擇NdefUriRecord
2. 輸入https://www.myst25.com/clip。務(wù)必選擇https,否則小程序?qū)⒉粫⒓达@示。
3. 按Validate按鈕,然后寫標(biāo)簽
了解功能容器
第二個ST25TV02K是我們的測試標(biāo)簽,我們還可以通過它了解Type-5標(biāo)簽中NDEF支持功能。這個演示證明ST的小程序正在讀取標(biāo)簽,而不是在展示一個手機屏幕。為了增加演示的趣味性,我們效仿我們關(guān)于NDEF管理的應(yīng)用筆記中的方法。事實上,那篇文章講解的是如何將ST25TV標(biāo)簽配置成支持NDEF消息的NFC Type-5標(biāo)簽,簡而言之,就是在第一個存儲塊中寫入一個有效的功能容器(CC)。那篇文章給用戶詳解了整個設(shè)置過程,我們可以在ST25TV02K的第一個存儲塊內(nèi)直接寫入四字節(jié)CC:E1 40 20 01h。
寫測試標(biāo)簽
在執(zhí)行寫標(biāo)簽操作前,打開NFC Tap iOS應(yīng)用,然后
1. 選擇Read Tag,然后掃描第二個ST25TV02K標(biāo)簽
2. 檢查CC File部分,確保標(biāo)簽是空白的。如果Magic Number是0x00,則表示標(biāo)簽內(nèi)不含任何信息。
現(xiàn)在,我們激活NDEF消息傳輸支持功能,然后寫入一小條消息。
1. 選擇屏幕底部的More ,然后選擇Areas Content Editor。這時軟件將會讓你掃描標(biāo)簽,然后,發(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按鈕,然后將手機靠近標(biāo)簽,寫入NDEF消息。
測試App Clip
只有當(dāng)手機上沒有安裝完整的應(yīng)用軟件時,小程序才會彈出。因此,在掃描第一個有小程序URL地址的ST25TV02K標(biāo)簽前,如果安裝了NFC Tap軟件,必須刪除軟件。當(dāng)手機檢測到第一個標(biāo)簽時,就會在觸屏上顯示小程序卡片,詢問用戶是否要打開小程序或從應(yīng)用商店下載應(yīng)用。打開小程序后會顯示一個精簡版的NFC Tap應(yīng)用軟件,其中Read NDEF 是灰色不可用,但Read Tag 可用。選擇讀取標(biāo)簽選項,然后掃描第二個ST25TV02K標(biāo)簽,證明小程序讀取我們的標(biāo)簽數(shù)據(jù)。向下滾動屏幕,我們看到Magic Number是 0xE1,證明小程序正在掃描我們剛才配置的標(biāo)簽。
后臺或應(yīng)用開發(fā)和Web服務(wù)器配置
Xcode項目
對于希望了解更多信息的開發(fā)人員,第一步是下載我們的iOS應(yīng)用程序的源代碼(STSW-ST25IOS001)。工程師只需在Apple IDE開發(fā)環(huán)境中打開下載的文件,即可開始研究我們的實現(xiàn)方法。首先要注意的是,在應(yīng)用程序中充當(dāng)小程序的代碼段是一個特定目標(biāo)。為輔助開發(fā)者開發(fā)小程序,蘋果提供了專用的App Clip模板,小程序可以與Apple Pay配合使用,并可以用蘋果賬號登錄軟件。這個新系統(tǒng)還得益于一個特殊的通知和地理位置定位系統(tǒng)。此外,一個iOS軟件可以有多個App Clip。在Xcode中,開發(fā)人員應(yīng)注意Signing & Capabilities 選項卡,并記住團隊名稱和捆綁標(biāo)識。
下一步是使用App Store Connect Web界面創(chuàng)建App Clip小程序。在此處,開發(fā)人員將上傳圖片,該圖片將顯示在iOS卡片上,吸引用戶啟動小程序。點擊Advanced App Clip Experience 將打開一個新菜單,設(shè)置指向小程序的URL地址。此外,開發(fā)人員還可以請求操作系統(tǒng)檢查移動設(shè)備的地理位置,商家可以選擇使用此功能將小程序與商鋪或特定地點關(guān)聯(lián)。
服務(wù)器端
Web服務(wù)器配置非常簡單。在Xcode和App Store Connect內(nèi)定義的URL中,例如http://www.myst25.com/clip,必須有一個index.html 文件,而且其元標(biāo)記必須包含應(yīng)用程序ID和小程序捆綁ID。如下所示,文件正文可以是空白的,最重要的地方是元標(biāo)記本身。
文件名為 apple-app-site-association的文件是在網(wǎng)絡(luò)服務(wù)器的根文件夾(例如/ www)中必須存在的第二個重要文件。該文件僅列出下面的數(shù)組:
"appclips" : {
"apps": ["TEAM_NAME.BUNDLE_ID (e.g., UL3MK8FNMR.com.st.st25ncf.clip)"],
"paths": ["DESTINATION (e.g., path/*)"]
}