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