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