{"id":2232,"date":"2024-04-23T07:34:02","date_gmt":"2024-04-23T07:34:02","guid":{"rendered":"https:\/\/nfc-readers.com\/?p=2232"},"modified":"2024-04-23T07:34:02","modified_gmt":"2024-04-23T07:34:02","slug":"how-to-develop-an-ios-applet-and-trigger-it-with-nfc-tags","status":"publish","type":"post","link":"https:\/\/nfc-readers.com\/vi\/how-to-develop-an-ios-applet-and-trigger-it-with-nfc-tags\/","title":{"rendered":"C\u00e1ch ph\u00e1t tri\u1ec3n m\u1ed9t applet iOS v\u00e0 k\u00edch ho\u1ea1t n\u00f3 b\u1eb1ng th\u1ebb NFC"},"content":{"rendered":"<p>Ng\u00e0y nay, c\u00e1c doanh nghi\u1ec7p c\u00f3 m\u1ed9t c\u00e1ch m\u1edbi \u0111\u1ec3 t\u01b0\u01a1ng t\u00e1c v\u1edbi kh\u00e1ch h\u00e0ng \u2013 App Clip v\u00e0 th\u1ebb NFC. T\u00ednh n\u0103ng n\u00e0y cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng ch\u1ea1y c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf tr\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u1ee7a \u0111i\u1ec7n tho\u1ea1i m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i v\u00e0o c\u1eeda h\u00e0ng \u1ee9ng d\u1ee5ng \u0111\u1ec3 t\u1ea3i xu\u1ed1ng v\u00e0 c\u00e0i \u0111\u1eb7t ph\u1ea7n m\u1ec1m. C\u00e1c ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf ch\u1ec9 \u0111\u01a1n gi\u1ea3n l\u00e0 hi\u1ec3n th\u1ecb th\u00f4ng tin tr\u00ean m\u00e0n h\u00ecnh, m\u1ed9t t\u00ednh n\u0103ng t\u1ea1o ra c\u01a1 h\u1ed9i \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed1i quan h\u1ec7 kh\u00e1ch h\u00e0ng m\u1edbi. V\u00ed d\u1ee5, c\u00e1c qu\u00e1n c\u00e0 ph\u00ea c\u00f3 th\u1ec3 cung c\u1ea5p th\u1ebb kh\u00e1ch h\u00e0ng th\u00e2n thi\u1ebft h\u1eefu \u00edch h\u01a1n v\u00e0 c\u00e1c nh\u00e0 b\u00e1n l\u1ebb c\u00f3 th\u1ec3 l\u00e0m cho v\u00ed \u1ea3o d\u1ec5 s\u1eed d\u1ee5ng h\u01a1n. C\u00e1c th\u01b0\u01a1ng gia c\u00f3 th\u1ec3 k\u00edch ho\u1ea1t applet theo m\u1ed9t s\u1ed1 c\u00e1ch, m\u1ed9t trong s\u1ed1 \u0111\u00f3 l\u00e0 th\u1ebb NFC tr\u1ecf \u0111\u1ebfn \u0111\u1ecba ch\u1ec9 URL. Khi iPhone c\u1ee7a ng\u01b0\u1eddi d\u00f9ng \u1edf g\u1ea7n nh\u00e3n, \u0111i\u1ec7n tho\u1ea1i s\u1ebd t\u1ef1 \u0111\u1ed9ng t\u00ecm URL v\u00e0 kh\u1edfi ch\u1ea1y applet. Nguy\u00ean t\u1eafc r\u1ea5t \u0111\u01a1n gi\u1ea3n v\u00e0 chi ph\u00ed th\u1ea5p. Ch\u00fang ta h\u00e3y c\u00f9ng xem c\u00e1c doanh nghi\u1ec7p c\u1ea7n g\u00ec \u0111\u1ec3 s\u1eed d\u1ee5ng applet.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-2233\" src=\"https:\/\/nfc-readers.com\/wp-content\/uploads\/2024\/04\/0af4f6e971824a6790b6822a516411f5-300x125.png\" alt=\"\" width=\"429\" height=\"179\" srcset=\"https:\/\/nfc-readers.com\/wp-content\/uploads\/2024\/04\/0af4f6e971824a6790b6822a516411f5-300x125.png 300w, https:\/\/nfc-readers.com\/wp-content\/uploads\/2024\/04\/0af4f6e971824a6790b6822a516411f5.png 587w\" sizes=\"auto, (max-width: 429px) 100vw, 429px\" \/><br \/>\nApp Clip l\u00e0 g\u00ec? App Clip \u0111\u01b0\u1ee3c m\u00f4 t\u1ea3 l\u00e0 &quot;phi\u00ean b\u1ea3n nh\u1eb9 c\u1ee7a \u1ee9ng d\u1ee5ng di \u0111\u1ed9ng&quot;. Ph\u1ea7n m\u1ec1m nh\u1ecf n\u00e0y ch\u1ee9a \u00edt h\u01a1n 10 MB m\u00e3 nh\u1ecb ph\u00e2n \u0111\u01b0\u1ee3c n\u00e9n tr\u01b0\u1edbc v\u00e0 ch\u1ee7 y\u1ebfu cung c\u1ea5p m\u1ed9t ph\u1ea7n nh\u1ecf ch\u1ee9c n\u0103ng c\u1ee7a \u1ee9ng d\u1ee5ng. V\u00ed d\u1ee5: \u1ee8ng d\u1ee5ng \u0111\u1ea7y \u0111\u1ee7 c\u1ee7a m\u1ed9t c\u00f4ng ty c\u00e0 ph\u00ea c\u00f3 th\u1ec3 cung c\u1ea5p danh m\u1ee5c c\u00e1c qu\u00e1n c\u00e0 ph\u00ea, ch\u01b0\u01a1ng tr\u00ecnh khuy\u1ebfn m\u00e3i g\u1ea7n \u0111\u00e2y, b\u1ea3ng x\u1ebfp h\u1ea1ng doanh s\u1ed1 v\u00e0 th\u1ebb kh\u00e1ch h\u00e0ng th\u00e2n thi\u1ebft, nh\u01b0ng \u1ee9ng d\u1ee5ng App Clip ch\u1ec9 hi\u1ec3n th\u1ecb th\u1ebb kh\u00e1ch h\u00e0ng th\u00e2n thi\u1ebft. C\u00e1c t\u00ednh n\u0103ng n\u00e0y \u0111\u1ea3m b\u1ea3o tr\u1ea3i nghi\u1ec7m t\u1ee9c th\u1eddi cho ng\u01b0\u1eddi d\u00f9ng, ngay c\u1ea3 khi t\u1ed1c \u0111\u1ed9 Internet di \u0111\u1ed9ng th\u1ea5p. Ng\u01b0\u1eddi d\u00f9ng c\u0169ng c\u00f3 th\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c tr\u1ea3i nghi\u1ec7m ng\u01b0\u1eddi d\u00f9ng \u0111\u01a1n gi\u1ea3n v\u00e0 nhanh ch\u00f3ng. Vi\u1ec7c kh\u1edfi ch\u1ea1y ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf th\u00f4ng qua \u0111i\u1ec7n tho\u1ea1i g\u1ea7n th\u1ebb NFC c\u00f3 th\u1ec3 gi\u1ea3m nhi\u1ec1u r\u00e0o c\u1ea3n khi s\u1eed d\u1ee5ng, m\u1edf ra c\u00e1nh c\u1eeda t\u01b0\u01a1ng t\u00e1c k\u1ef9 thu\u1eadt s\u1ed1 cho nh\u1eefng kh\u00e1ch h\u00e0ng m\u1edbi \u00edt quen thu\u1ed9c v\u1edbi \u1ee9ng d\u1ee5ng di \u0111\u1ed9ng. Sau \u0111\u00e2y l\u00e0 c\u00e1i nh\u00ecn v\u1ec1 kinh nghi\u1ec7m c\u1ee7a nh\u00e0 ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng iOS c\u1ee7a ST, Vincent Latorre, trong vi\u1ec7c ph\u00e1t tri\u1ec3n ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf.<br \/>\nApp Clip: C\u1ea5u h\u00ecnh m\u00e1y kh\u00e1ch ho\u1eb7c NFC<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-2234\" src=\"https:\/\/nfc-readers.com\/wp-content\/uploads\/2024\/04\/4a62df137985462aa0c83f2022369d38-287x300.png\" alt=\"\" width=\"447\" height=\"467\" srcset=\"https:\/\/nfc-readers.com\/wp-content\/uploads\/2024\/04\/4a62df137985462aa0c83f2022369d38-287x300.png 287w, https:\/\/nfc-readers.com\/wp-content\/uploads\/2024\/04\/4a62df137985462aa0c83f2022369d38.png 303w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><br \/>\n1. Chu\u1ea9n b\u1ecb g\u00f3i ST25-TAG-BAG-U<br \/>\nB\u1ed9 th\u1ebb ST25-TAG-BAG-U bao g\u1ed3m: 1.ST25TV02K, 2.ST25TA02KB, 3.ST25TV02K HC, 4.ST25TV512, 5.ST25TA64K<br \/>\nPh\u1ea7n d\u1ec5 nh\u1ea5t c\u1ee7a to\u00e0n b\u1ed9 qu\u00e1 tr\u00ecnh c\u1ea5u h\u00ecnh l\u00e0 t\u1ea1o m\u1ed9t th\u1ebb NFC v\u00e0 ghi URL v\u00e0o applet b\u00ean trong th\u1ebb. Qu\u00e1 tr\u00ecnh n\u00e0y \u0111\u01a1n gi\u1ea3n nh\u01b0 t\u1ea1o m\u1ed9t b\u1ea3n demo ho\u1ea1t \u0111\u1ed9ng m\u00e0 kh\u00f4ng c\u1ea7n vi\u1ebft m\u1ed9t d\u00f2ng m\u00e3 n\u00e0o. V\u1edbi m\u1ee5c \u0111\u00edch tr\u00ecnh di\u1ec5n, ch\u00fang t\u00f4i s\u1ebd s\u1eed d\u1ee5ng hai th\u1ebb NFC ST25TV02K, m\u1ed9t th\u1ebb \u0111\u1ec3 gi\u1eef \u0111\u1ecba ch\u1ec9 URL c\u1ee7a applet v\u00e0 th\u1ebb c\u00f2n l\u1ea1i l\u00e0m b\u1eb1ng ch\u1ee9ng kh\u00e1i ni\u1ec7m \u0111\u1ec3 gi\u1ea3i th\u00edch c\u00e1c container ch\u1ee9c n\u0103ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef ho\u1eb7c l\u01b0u v\u00e0o b\u1ed9 nh\u1edb \u0111\u1ec7m trong h\u1ec7 \u0111i\u1ec1u h\u00e0nh.<br \/>\nN\u1ebfu b\u1ea1n mu\u1ed1n ph\u00e1t tri\u1ec3n m\u1ed9t b\u00e0i thuy\u1ebft tr\u00ecnh d\u1ef1a tr\u00ean applet App Clip, th\u00ec kh\u00f4ng c\u1ea7n TAB th\u1ee9 hai, nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 ch\u1ec9 c\u1ea7n s\u1eed d\u1ee5ng TAB \u0111\u1ea7u ti\u00ean. Nh\u01b0ng thay v\u00ec hi\u1ec3n th\u1ecb cho b\u1ea1n m\u1ed9t m\u00e0n h\u00ecnh, ch\u00fang t\u00f4i mu\u1ed1n nh\u00e2n c\u01a1 h\u1ed9i n\u00e0y \u0111\u1ec3 ch\u1ec9 cho b\u1ea1n c\u00e1ch vi\u1ebft c\u00e1c kh\u1ed1i b\u1ed9 nh\u1edb v\u00e0 cung c\u1ea5p b\u1eb1ng ch\u1ee9ng c\u1ee5 th\u1ec3 r\u1eb1ng applet c\u1ee7a ST th\u1ef1c s\u1ef1 ho\u1ea1t \u0111\u1ed9ng. C\u1ea3 hai th\u1ebb n\u00e0y \u0111\u1ec1u l\u00e0 th\u1ebb tr\u00f2n nh\u1ecf trong b\u1ed9 ST25-TAG-BAG-U. Ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i v\u00e0o App Store v\u00e0 t\u1ea3i xu\u1ed1ng \u1ee9ng d\u1ee5ng NFC Tap c\u1ee7a ch\u00fang t\u00f4i \u0111\u1ec3 \u0111\u1ecdc v\u00e0 vi\u1ebft th\u1ebb.<\/p>\n<p>Vi\u1ebft URL<\/p>\n<p>Ch\u00fang t\u00f4i l\u1ea5y ra th\u1ebb ST25TV02K \u0111\u1ea7u ti\u00ean. B\u1ea3n tr\u00ecnh b\u00e0y sau \u0111\u00e2y gi\u1ea3 \u0111\u1ecbnh r\u1eb1ng nh\u00e3n l\u00e0 nh\u00e3n tr\u1ed1ng. B\u01b0\u1edbc \u0111\u1ea7u ti\u00ean l\u00e0 ch\u1ecdn \u0110\u1ecdc th\u1ebb tr\u00ean m\u00e0n h\u00ecnh ch\u00ednh, sau \u0111\u00f3 gi\u1eef \u0111i\u1ec7n tho\u1ea1i g\u1ea7n th\u1ebb v\u00e0 th\u00f4ng b\u00e1o ST25TV02K s\u1ebd xu\u1ea5t hi\u1ec7n tr\u00ean m\u00e0n h\u00ecnh. Ti\u1ebfp theo, nh\u1ea5p v\u00e0o bi\u1ec3u t\u01b0\u1ee3ng g\u00f3c d\u01b0\u1edbi b\u00ean ph\u1ea3i c\u1ee7a m\u00e0n h\u00ecnh\u2026, sau \u0111\u00f3 ch\u1ecdn t\u00f9y ch\u1ecdn Areas Content Editor v\u00e0 cu\u1ed1i c\u00f9ng, qu\u00e9t nh\u00e3n b\u1eb1ng \u0111i\u1ec7n tho\u1ea1i c\u1ee7a b\u1ea1n. N\u1ebfu \u0111\u00f3 l\u00e0 nh\u00e3n tr\u1ed1ng, m\u1ed9t h\u1ed9p tho\u1ea1i s\u1ebd xu\u1ea5t hi\u1ec7n v\u1edbi k\u00edch th\u01b0\u1edbc b\u1ed9 nh\u1edb (v\u00ed d\u1ee5: 256 byte) v\u00e0 th\u00f4ng b\u00e1o No NDEF.<br \/>\nTr\u01b0\u1edbc khi vi\u1ebft tin nh\u1eafn NDEF, ng\u01b0\u1eddi d\u00f9ng c\u1ea7n nh\u1ea5p v\u00e0o h\u1ed9p tho\u1ea1i c\u00f3 n\u1ed9i dung Kh\u00f4ng c\u00f3 tin nh\u1eafn NDEF, v\u00e0 m\u1ed9t h\u1ed9p m\u00e0u tr\u1eafng v\u00e0 m\u0169i t\u00ean m\u00e0u xanh lam s\u1ebd xu\u1ea5t hi\u1ec7n tr\u00ean m\u00e0n h\u00ecnh. Vu\u1ed1t h\u1ed9p m\u00e0u tr\u1eafng sang tr\u00e1i, v\u00e0 m\u1ed9t menu s\u1ebd b\u1eadt l\u00ean v\u1edbi c\u00e1c t\u00f9y ch\u1ecdn Th\u00eam, Ch\u1ec9nh s\u1eeda, Ch\u00e8n v\u00e0 Th\u1ef1c thi. Sau khi ch\u1ecdn Th\u00eam,<br \/>\n1. Ch\u1ecdn NdefUriRecord<\/p>\n<p>2. https:\/\/www.myst25.com\/clip. H\u00e3y ch\u1eafc ch\u1eafn ch\u1ecdn https, n\u1ebfu kh\u00f4ng applet s\u1ebd kh\u00f4ng hi\u1ec3n th\u1ecb ngay l\u1eadp t\u1ee9c.<\/p>\n<p>3. Nh\u1ea5n n\u00fat X\u00e1c th\u1ef1c v\u00e0 vi\u1ebft nh\u00e3n<br \/>\nT\u00ecm hi\u1ec3u v\u1ec1 c\u00e1c container ch\u1ee9c n\u0103ng<\/p>\n<p>ST25TV02K th\u1ee9 hai l\u00e0 th\u1ebb th\u1eed nghi\u1ec7m c\u1ee7a ch\u00fang t\u00f4i v\u00e0 ch\u00fang t\u00f4i c\u0169ng c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u00f3 \u0111\u1ec3 t\u00ecm hi\u1ec3u v\u1ec1 h\u1ed7 tr\u1ee3 NDEF trong th\u1ebb Type-5. B\u1ea3n demo n\u00e0y ch\u1ee9ng minh r\u1eb1ng applet c\u1ee7a ST \u0111ang \u0111\u1ecdc nh\u00e3n ch\u1ee9 kh\u00f4ng ph\u1ea3i hi\u1ec3n th\u1ecb m\u00e0n h\u00ecnh \u0111i\u1ec7n tho\u1ea1i. \u0110\u1ec3 b\u1ea3n demo th\u00fa v\u1ecb h\u01a1n, ch\u00fang t\u00f4i s\u1ebd l\u00e0m theo c\u00e1ch ti\u1ebfp c\u1eadn trong ghi ch\u00fa \u1ee9ng d\u1ee5ng c\u1ee7a m\u00ecnh v\u1ec1 qu\u1ea3n l\u00fd NDEF. Tr\u00ean th\u1ef1c t\u1ebf, b\u00e0i vi\u1ebft \u0111\u00f3 \u0111\u00e3 gi\u1ea3i th\u00edch c\u00e1ch c\u1ea5u h\u00ecnh th\u1ebb ST25TV th\u00e0nh th\u1ebb NFC Type-5 h\u1ed7 tr\u1ee3 tin nh\u1eafn NDEF, n\u00f3i t\u00f3m l\u1ea1i l\u00e0 vi\u1ebft m\u1ed9t h\u00e0m ch\u1ee9a h\u1ee3p l\u1ec7 (CC) trong kh\u1ed1i l\u01b0u tr\u1eef \u0111\u1ea7u ti\u00ean. B\u00e0i vi\u1ebft \u0111\u00f3 gi\u1ea3i th\u00edch quy tr\u00ecnh thi\u1ebft l\u1eadp cho ng\u01b0\u1eddi d\u00f9ng v\u00e0 ch\u00fang t\u00f4i c\u00f3 th\u1ec3 vi\u1ebft b\u1ed1n byte CC: E1 40 20 01h tr\u1ef1c ti\u1ebfp v\u00e0o kh\u1ed1i l\u01b0u tr\u1eef \u0111\u1ea7u ti\u00ean trong ST25TV02K.<br \/>\nVi\u1ebft th\u1ebb ki\u1ec3m tra<\/p>\n<p>Tr\u01b0\u1edbc khi th\u1ef1c hi\u1ec7n thao t\u00e1c ghi th\u1ebb, h\u00e3y m\u1edf \u1ee9ng d\u1ee5ng NFC Tap iOS v\u00e0<br \/>\n1. Ch\u1ecdn \u0110\u1ecdc th\u1ebb v\u00e0 qu\u00e9t th\u1ebb ST25TV02K th\u1ee9 hai<br \/>\n2. Ki\u1ec3m tra ph\u1ea7n T\u1ec7p CC \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o nh\u00e3n tr\u1ed1ng. N\u1ebfu S\u1ed1 ma thu\u1eadt l\u00e0 0x00, th\u1ebb kh\u00f4ng ch\u1ee9a b\u1ea5t k\u1ef3 th\u00f4ng tin n\u00e0o.<br \/>\nB\u00e2y gi\u1edd ch\u00fang ta k\u00edch ho\u1ea1t h\u1ed7 tr\u1ee3 truy\u1ec1n tin nh\u1eafn NDEF v\u00e0 vi\u1ebft m\u1ed9t tin nh\u1eafn nh\u1ecf.<br \/>\n1. Ch\u1ecdn More \u1edf cu\u1ed1i m\u00e0n h\u00ecnh, sau \u0111\u00f3 ch\u1ecdn Areas Content Editor. Sau \u0111\u00f3, ph\u1ea7n m\u1ec1m s\u1ebd y\u00eau c\u1ea7u b\u1ea1n qu\u00e9t th\u1ebb v\u00e0 t\u00ecm v\u00f9ng c\u00f3 th\u1ec3 ghi 256 byte kh\u00f4ng c\u00f3 n\u1ed9i dung.<br \/>\n2. Nh\u1ea5p v\u00e0o Khu v\u1ef1c 1<br \/>\n3. Th\u00f4ng b\u00e1o No NDEF Record xu\u1ea5t hi\u1ec7n tr\u00ean m\u00e0n h\u00ecnh. Vu\u1ed1t h\u1ed9p tho\u1ea1i sang tr\u00e1i v\u00e0 m\u1ed9t menu xu\u1ea5t hi\u1ec7n, ch\u1ecdn Add.<br \/>\n4. Nh\u1ea5p v\u00e0o NdefTextRecord, x\u00f3a v\u0103n b\u1ea3n hi\u1ec7n c\u00f3 v\u00e0 nh\u1eadp Hello World!<br \/>\n5. Nh\u1ea5n n\u00fat X\u00e1c th\u1ef1c, sau \u0111\u00f3 \u0111\u1eb7t \u0111i\u1ec7n tho\u1ea1i g\u1ea7n nh\u00e3n v\u00e0 vi\u1ebft tin nh\u1eafn NDEF.<br \/>\nKi\u1ec3m tra App Clip<\/p>\n<p>C\u00e1c ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf ch\u1ec9 b\u1eadt l\u00ean khi ph\u1ea7n m\u1ec1m \u1ee9ng d\u1ee5ng \u0111\u1ea7y \u0111\u1ee7 kh\u00f4ng \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t tr\u00ean \u0111i\u1ec7n tho\u1ea1i. Do \u0111\u00f3, tr\u01b0\u1edbc khi qu\u00e9t th\u1ebb ST25TV02K \u0111\u1ea7u ti\u00ean c\u00f3 \u0111\u1ecba ch\u1ec9 URL c\u1ee7a applet, b\u1ea1n ph\u1ea3i x\u00f3a ph\u1ea7n m\u1ec1m NFC Tap n\u1ebfu n\u00f3 \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t. Khi \u0111i\u1ec7n tho\u1ea1i ph\u00e1t hi\u1ec7n TAB \u0111\u1ea7u ti\u00ean, n\u00f3 s\u1ebd hi\u1ec3n th\u1ecb th\u1ebb applet tr\u00ean m\u00e0n h\u00ecnh c\u1ea3m \u1ee9ng, h\u1ecfi ng\u01b0\u1eddi d\u00f9ng xem h\u1ecd c\u00f3 mu\u1ed1n m\u1edf applet hay t\u1ea3i xu\u1ed1ng \u1ee9ng d\u1ee5ng t\u1eeb c\u1eeda h\u00e0ng \u1ee9ng d\u1ee5ng kh\u00f4ng. M\u1edf applet s\u1ebd hi\u1ec3n th\u1ecb phi\u00ean b\u1ea3n r\u00fat g\u1ecdn c\u1ee7a \u1ee9ng d\u1ee5ng NFC Tap, trong \u0111\u00f3 Read NDEF c\u00f3 m\u00e0u x\u00e1m v\u00e0 kh\u00f4ng kh\u1ea3 d\u1ee5ng, nh\u01b0ng Read Tag th\u00ec kh\u1ea3 d\u1ee5ng. Ch\u1ecdn t\u00f9y ch\u1ecdn Read tag r\u1ed3i qu\u00e9t th\u1ebb ST25TV02K th\u1ee9 hai \u0111\u1ec3 ch\u1ee9ng minh r\u1eb1ng applet \u0111\u1ecdc d\u1eef li\u1ec7u th\u1ebb c\u1ee7a ch\u00fang ta. Cu\u1ed9n xu\u1ed1ng m\u00e0n h\u00ecnh, ch\u00fang ta th\u1ea5y Magic Number l\u00e0 0xE1, ch\u1ee9ng t\u1ecf applet \u0111ang qu\u00e9t nh\u00e3n m\u00e0 ch\u00fang ta v\u1eeba c\u1ea5u h\u00ecnh.<\/p>\n<p>N\u1ec1n t\u1ea3ng ho\u1eb7c ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng v\u00e0 c\u1ea5u h\u00ecnh m\u00e1y ch\u1ee7 Web<br \/>\n\u0110\u1ed1i v\u1edbi c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n mu\u1ed1n t\u00ecm hi\u1ec3u th\u00eam, b\u01b0\u1edbc \u0111\u1ea7u ti\u00ean l\u00e0 t\u1ea3i xu\u1ed1ng m\u00e3 ngu\u1ed3n cho \u1ee9ng d\u1ee5ng iOS c\u1ee7a ch\u00fang t\u00f4i (STSW-ST25IOS001). C\u00e1c k\u1ef9 s\u01b0 c\u00f3 th\u1ec3 ch\u1ec9 c\u1ea7n m\u1edf t\u1ec7p \u0111\u00e3 t\u1ea3i xu\u1ed1ng trong m\u00f4i tr\u01b0\u1eddng ph\u00e1t tri\u1ec3n Apple IDE v\u00e0 b\u1eaft \u0111\u1ea7u l\u00e0m vi\u1ec7c tr\u00ean ph\u01b0\u01a1ng ph\u00e1p tri\u1ec3n khai c\u1ee7a ch\u00fang t\u00f4i. \u0110i\u1ec1u \u0111\u1ea7u ti\u00ean c\u1ea7n l\u01b0u \u00fd l\u00e0 m\u1ed9t \u0111o\u1ea1n m\u00e3 ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf trong \u1ee9ng d\u1ee5ng l\u00e0 m\u1ed9t m\u1ee5c ti\u00eau c\u1ee5 th\u1ec3. \u0110\u1ec3 h\u1ed7 tr\u1ee3 c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n ph\u00e1t tri\u1ec3n c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf, Apple cung c\u1ea5p m\u1ed9t m\u1eabu App Clip chuy\u00ean d\u1ee5ng, c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng v\u1edbi Apple Pay v\u00e0 b\u1ea1n c\u00f3 th\u1ec3 \u0111\u0103ng nh\u1eadp v\u00e0o ph\u1ea7n m\u1ec1m b\u1eb1ng t\u00e0i kho\u1ea3n Apple c\u1ee7a m\u00ecnh. H\u1ec7 th\u1ed1ng m\u1edbi c\u0169ng \u0111\u01b0\u1ee3c h\u01b0\u1edfng l\u1ee3i t\u1eeb h\u1ec7 th\u1ed1ng th\u00f4ng b\u00e1o v\u00e0 \u0111\u1ecbnh v\u1ecb \u0111\u1ecba l\u00fd \u0111\u1eb7c bi\u1ec7t. Ngo\u00e0i ra, m\u1ed9t ph\u1ea7n m\u1ec1m iOS c\u00f3 th\u1ec3 c\u00f3 nhi\u1ec1u App clip. Trong Xcode, c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n n\u00ean ch\u00fa \u00fd \u0111\u1ebfn TAB Signing &amp; Capabilities v\u00e0 ghi nh\u1edb t\u00ean nh\u00f3m v\u00e0 m\u00e3 \u0111\u1ecbnh danh g\u00f3i.<br \/>\nB\u01b0\u1edbc ti\u1ebfp theo l\u00e0 t\u1ea1o applet App Clip b\u1eb1ng giao di\u1ec7n Web App Store Connect. T\u1ea1i \u0111\u00e2y, nh\u00e0 ph\u00e1t tri\u1ec3n s\u1ebd t\u1ea3i l\u00ean m\u1ed9t h\u00ecnh \u1ea3nh, h\u00ecnh \u1ea3nh n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb tr\u00ean th\u1ebb iOS, thu h\u00fat ng\u01b0\u1eddi d\u00f9ng kh\u1edfi ch\u1ea1y applet. Nh\u1ea5p v\u00e0o Advanced App Clip<br \/>\nTr\u1ea3i nghi\u1ec7m s\u1ebd m\u1edf m\u1ed9t menu m\u1edbi v\u00e0 thi\u1ebft l\u1eadp URL \u0111\u1ec3 tr\u1ecf \u0111\u1ebfn applet. Ngo\u00e0i ra, nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 y\u00eau c\u1ea7u h\u1ec7 \u0111i\u1ec1u h\u00e0nh ki\u1ec3m tra v\u1ecb tr\u00ed \u0111\u1ecba l\u00fd c\u1ee7a thi\u1ebft b\u1ecb di \u0111\u1ed9ng v\u00e0 ng\u01b0\u1eddi b\u00e1n c\u00f3 th\u1ec3 ch\u1ecdn s\u1eed d\u1ee5ng t\u00ednh n\u0103ng n\u00e0y \u0111\u1ec3 li\u00ean k\u1ebft applet v\u1edbi m\u1ed9t c\u1eeda h\u00e0ng ho\u1eb7c m\u1ed9t v\u1ecb tr\u00ed c\u1ee5 th\u1ec3.<br \/>\nPh\u00eda m\u00e1y ch\u1ee7<br \/>\nC\u1ea5u h\u00ecnh m\u00e1y ch\u1ee7 Web r\u1ea5t \u0111\u01a1n gi\u1ea3n. Trong Xcode v\u00e0 App Store Connect \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a trong URL, http:\/\/www.myst25.com\/clip, ch\u1eb3ng h\u1ea1n, ph\u1ea3i c\u00f3 m\u1ed9t ch\u1ec9 m\u1ee5c. T\u1ec7p HTML v\u00e0 c\u00e1c th\u1ebb meta ph\u1ea3i bao g\u1ed3m ID \u1ee9ng d\u1ee5ng v\u00e0 ID g\u00f3i \u1ee9ng d\u1ee5ng nh\u1ecf. Nh\u01b0 \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb b\u00ean d\u01b0\u1edbi, ph\u1ea7n th\u00e2n c\u1ee7a t\u1ec7p c\u00f3 th\u1ec3 \u0111\u1ec3 tr\u1ed1ng, v\u1edbi v\u1ecb tr\u00ed quan tr\u1ecdng nh\u1ea5t l\u00e0 ch\u00ednh th\u1ebb meta.<br \/>\nT\u1ec7p c\u00f3 t\u00ean apple-app-site-association l\u00e0 t\u1ec7p quan tr\u1ecdng th\u1ee9 hai ph\u1ea3i t\u1ed3n t\u1ea1i trong th\u01b0 m\u1ee5c g\u1ed1c c\u1ee7a m\u00e1y ch\u1ee7 web, ch\u1eb3ng h\u1ea1n nh\u01b0\/www. T\u1ec7p n\u00e0y ch\u1ec9 li\u1ec7t k\u00ea c\u00e1c m\u1ea3ng sau:<br \/>\n\u201c\u1ee9ng d\u1ee5ng\u201d: {<br \/>\n\u201c\u1ee9ng d\u1ee5ng\u201d: [\u201cTEAM_NAME.BUNDLE_ID (v\u00ed d\u1ee5: UL3MK8FNMR.com.st.st25ncf.clip)\u201d],<br \/>\n\u201c\u0111\u01b0\u1eddng d\u1eabn\u201d: [\u201c\u0110I\u1ec2M \u0110\u1ebeN (v\u00ed d\u1ee5: \u0111\u01b0\u1eddng d\u1eabn\/*)\u201d]","protected":false},"excerpt":{"rendered":"<p>Ng\u00e0y nay, c\u00e1c doanh nghi\u1ec7p c\u00f3 m\u1ed9t c\u00e1ch m\u1edbi \u0111\u1ec3 t\u01b0\u01a1ng t\u00e1c v\u1edbi kh\u00e1ch h\u00e0ng \u2013 App Clip v\u00e0 th\u1ebb NFC. T\u00ednh n\u0103ng n\u00e0y cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng ch\u1ea1y c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf tr\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u1ee7a \u0111i\u1ec7n tho\u1ea1i m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i v\u00e0o c\u1eeda h\u00e0ng \u1ee9ng d\u1ee5ng \u0111\u1ec3 t\u1ea3i xu\u1ed1ng v\u00e0 c\u00e0i \u0111\u1eb7t ph\u1ea7n m\u1ec1m. C\u00e1c ch\u01b0\u01a1ng tr\u00ecnh nh\u1ecf ch\u1ec9 c\u1ea7n b\u1eadt th\u00f4ng tin l\u00ean m\u00e0n h\u00ecnh, m\u1ed9t t\u00ednh n\u0103ng [\u2026]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,44],"tags":[],"class_list":["post-2232","post","type-post","status-publish","format-standard","hentry","category-uncategorized","category-ntag-card"],"_links":{"self":[{"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/posts\/2232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/comments?post=2232"}],"version-history":[{"count":1,"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/posts\/2232\/revisions"}],"predecessor-version":[{"id":2235,"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/posts\/2232\/revisions\/2235"}],"wp:attachment":[{"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/media?parent=2232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/categories?post=2232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nfc-readers.com\/vi\/wp-json\/wp\/v2\/tags?post=2232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}