Siri może wywołać funkcję w twojej aplikacji. Co udostępnić jako pierwsze?
Listopadowa wersja dla deweloperów łączy Siri AI z App Intents. Sprawdzanie przesyłki pokazuje, jak projektować działania z czytelnym kontekstem, potwierdzeniem i wynikiem.
Przesyłka się spóźnia. Klient chce wiedzieć, czy dotrze do biura przed jego wyjściem, ale odpowiedź jest ukryta za ekranem logowania, listą zamówień i stroną śledzenia. Polecenie w języku naturalnym może skrócić tę drogę, jeśli aplikacja da asystentowi jasno określony sposób odnalezienia właściwej przesyłki.
3 listopada Apple udostępniło deweloperom wersję testową Siri AI dla App Intents w oprogramowaniu beta, między innymi w iOS 27.3. Deweloperzy mogą połączyć aplikacje z poleceniami, które uwzględniają kontekst użytkownika, informacje na ekranie i powiązane działania. Apple zamierza udostępnić integrację klientom później, a zgłoszeń do App Store spodziewa się na wiosnę. Deweloperzy mogą dopracować zachowanie działania, zanim ludzie zaczną na nim polegać.

Siri w 2014 roku. Fotografia Kārlisa Dambrānsa. Wykadrowana i przeskalowana, CC BY 2.0. Źródło zdjęcia · Licencja.
Daj asystentowi jedno zadanie z rozpoznawalnym wynikiem
Odczyt przez App Intent. Autorska ilustracja Telli.sh.
App Intent reprezentuje operację, którą aplikacja potrafi wykonać. Aplikacja przewoźnika może udostępnić sprawdzanie statusu przesyłki. Na wejściu może przyjąć obiekt reprezentujący przesyłkę, którą potrafi rozpoznać, a w wyniku podać identyfikator przesyłki, jej aktualny status i czas aktualizacji. Aplikacja zarządza danymi i określa, co zalogowane konto może zobaczyć.
Takie rozwiązanie skraca rozmowę i pozwala udzielić konkretnej odpowiedzi. Jeżeli na jednym koncie są trzy przesyłki w drodze, asystent musi mieć informacje wystarczające do ich rozróżnienia. Numer śledzenia, krótka etykieta lub znane użytkownikowi miejsce docelowe mogą ułatwić wybór. Przy niejednoznacznym określeniu „moja paczka” i kilku pasujących przesyłkach warto poprosić o doprecyzowanie.
| Polecenie | Czego potrzebuje aplikacja | Co powinien otrzymać użytkownik |
|---|---|---|
| Gdzie jest moje zamówienie? | Dane konta i identyfikator przesyłki | Status, czas aktualizacji i link do szczegółów |
| Czy mam jutro rezerwację? | Konto, data i właściwa strefa czasowa | Godzina, miejsce i aktualny stan rezerwacji |
| Przenieś rezerwację na 19.00 | Rezerwacja, żądana zmiana i dostępność | Jasne potwierdzenie i ostateczny wynik |
| Złóż jeszcze raz to samo zamówienie | Produkt, cena, adres i uprawnienia konta | Podsumowanie i warunki zamówienia przed jego złożeniem |
Pierwsze dwa wiersze to dobry punkt wyjścia. Zazwyczaj można udzielić przydatnej odpowiedzi bez wykonywania transakcji. Zmiana rezerwacji ma inne warunki. Wybrana godzina może być niedostępna, lokal może pobrać opłatę, a przeliczenie strefy czasowej może zmienić datę. Takie warunki powinny znaleźć odzwierciedlenie w działaniu aplikacji i jej odpowiedzi.
Sprawdzaj uprawnienia w chwili wykonania działania
Zapis przez App Intent. Autorska ilustracja Telli.sh.
Asystent może zinterpretować wypowiedź i wskazać możliwe działanie. Aplikacja nadal musi sprawdzić, kto je zleca, do którego obiektu ma dostęp i czy operację można wykonać. Przenieś do tej ścieżki te same kontrole, które obowiązują w istniejącym interfejsie. Polecenie może przyjść, gdy osoba korzysta z innego konta, urządzenie jest zablokowane lub sesja wygasła.
Przed podjęciem zobowiązania finansowego trzeba pokazać ostateczną kwotę i wskazać, kto zostanie obciążony. Przy zmianie dostawy należy wyświetlić miejsce docelowe przed potwierdzeniem. Jeśli serwer nie może ustalić, czy operacja się udała, aplikacja powinna zwrócić stan, który użytkownik może wyjaśnić, bez nakłaniania do ponownego wysłania identycznego żądania. Osoby, które tworzyły formularz zakupowy, znają te zasady. W rozmowie głosowej lub na czacie tę samą jasność trzeba czasem osiągnąć na znacznie mniejszej przestrzeni.
Weźmy prosty przykład. Użytkownik prosi o ponowne zamówienie paczki kawy. Pierwotne zamówienie mogło obejmować czasową zniżkę, wybrany adres dostawy mógł się zmienić, a produkt może występować w kilku rozmiarach. Przed złożeniem zamówienia aplikacja może podać aktualny produkt, rozmiar, cenę i adres. Po wszystkim może też ułatwić odnalezienie potwierdzenia.
Kontekst użytkownika pomaga znaleźć właściwy punkt wyjścia. Powinno być jasne, które elementy tego kontekstu aplikacja wykorzystała. Potwierdzenie „zamówienie widoczne na ekranie” wystarczy, gdy widać tylko jedno. Jeśli na ekranie jest kilka pozycji, nazwij konkretną pozycję. Pozwól użytkownikowi poprawić interpretację przed wykonaniem działania.
Sekwencja działań potrzebuje uczciwej informacji o wyniku
Apple opisuje też funkcje skills, które łączą kilka działań, oraz obsługę obiektów w indeksie semantycznym Spotlight. Razem mogą skrócić drogę od polecenia do wyniku. Drobny błąd w pojedynczej operacji nabiera znaczenia, gdy jej wynik staje się wejściem kolejnego działania.
Wyobraź sobie prośbę o znalezienie nadchodzącej rezerwacji i zmianę godziny. Wyszukanie może się udać, a zmiana zakończyć niepowodzeniem. Pokaż oba wyniki. Informacja, że rezerwacja została znaleziona i zachowała pierwotną godzinę, daje użytkownikowi przydatną odpowiedź i jasny następny krok. Ogólny komunikat o sukcesie ukryłby niepowodzenie, a ogólny błąd pominąłby udane wyszukanie.
W praktycznej sekwencji często potrzeba kilku rodzajów wyniku. Pierwszy krok może zwrócić pasujący obiekt. Następny może poprosić o wybór lub potwierdzenie. Ostatni może zwrócić potwierdzenie wykonania albo stan oczekiwania. Testując połączone działania, uwzględnij sytuację, w której użytkownik zmienia zdanie w połowie, oraz wywołanie sieciowe trwające dłużej, niż użytkownik może wygodnie czekać.
Wewnętrznie stosuj stabilny identyfikator rekordu. Nazwy w języku naturalnym się zmieniają, a różne pozycje mogą mieć podobną etykietę. Stabilne identyfikatory pozwalają stwierdzić, czy aplikacja działała na właściwym obiekcie, i wciąż zwrócić zrozumiały opis. Zachowaj link do rekordu, aby użytkownik potrzebujący kontekstu mógł ponownie otworzyć aplikację na odpowiednim ekranie.
Wypróbuj wersję testową na działaniu, które można sprawdzić ręcznie
- Sprawdź w ogłoszeniu dla deweloperów, które wersje beta systemów, urządzenia i języki Apple obsługuje. Użyj konta i danych testowych. Apple wymienia język koreański i opisuje ograniczenia dotyczące urządzeń i regionów.
- Wybierz jedną operację odczytu, którą użytkownicy już wykonują regularnie. Zapisz zwykłą ścieżkę w interfejsie i dokładną odpowiedź, jakiej oczekujesz po udanej operacji.
- Skorzystaj z dokumentacji App Intents, aby opisać działanie i obiekt, którego dotyczy. Ustal, co ma się stać, gdy polecenie pasuje do zera, jednego lub kilku rekordów.
- Przetestuj działanie w przypadkach zwykłych i niejednoznacznych. Uwzględnij brak konta, wygasłą sesję, zduplikowane etykiety i brak połączenia. Porównaj każdy wynik z bieżącym ekranem aplikacji.
- Przy późniejszym działaniu zapisu zanotuj, gdzie użytkownik widzi obiekt, warunki i wynik. Dodaj test, który ponawia polecenie po przekroczeniu limitu czasu i sprawdza reakcję aplikacji.
- Traktuj udostępnienie klientom i wersję testową dla deweloperów jako osobne etapy. Przy planowaniu wydania w App Store ponownie sprawdź aktualne zasady i informacje o zgłoszeniach.
To dobra okazja do sprawdzenia różnych sformułowań. Aplikacja dostawcza może zacząć od wyrażeń używanych przez klientów w zgłoszeniach. W jednych pojawia się data, w innych sklep, a w kolejnych miejsce dostawy. Sprawdź, jak działanie prosi o brakujący szczegół, gdy wypowiedź jest niepełna. Dobre pytanie doprecyzowujące przybliża użytkownika do odpowiedzi.
Dopasuj sposób prezentacji do wyniku
Apple rozróżnia obiekty aplikacji w Spotlight, działania specyficzne dla aplikacji, fragmenty interfejsu i funkcje skills łączące działania. Aplikacja przewoźnika może dobrać formę do konkretnego pytania. Obiekt w wynikach wyszukiwania pomaga rozpoznać zamówienie. Działanie może rozwiązać polecenie w kontekście bieżącego konta. Karta pozwala odczytać wynik jednym spojrzeniem. Sekwencja przydaje się, gdy znalezienie zamówienia to dopiero pierwszy krok.
W karcie statusu można pokazać miejscowość docelową, aktualny stan i czas ostatniej aktualizacji przewoźnika. Właściwy poziom szczegółowości zależy od tego, gdzie karta się pojawia i czy urządzenie jest zablokowane. Sprawdź ekran bez zakładania, że użytkownik usłyszy informację głosową. Sprawdź wersję głosową bez polegania na ekranie przy przekazywaniu istotnego ostrzeżenia. Te same dane źródłowe powinny mieć sens w obu formach.
Przewodnik Apple opisuje też, jak asystent wybiera aplikację. Niestandardowe działanie wymaga nazwy aplikacji działającej w tle, z uwzględnieniem wyjątków opisanych dalej. Kontekst może dać aplikacja otwarta na pierwszym planie, aktywna funkcja Live Activity lub rozmowa, w której aplikacja została już nazwana. Najpierw przetestuj wyraźne wywołanie, żeby potwierdzić, że działanie w ogóle działa. Potem wydaj to samo polecenie z ekranu początkowego, gdy widać inną aplikację, i podczas trwającej rozmowy. Zapisz, jaki wynik otrzymujesz w każdym kontekście.
Testuj dystrybucję jako osobny etap
Przewodnik opisuje testy na urządzeniach z kompilacją podpisaną dewelopersko oraz testy w wewnętrznym TestFlight. Zewnętrzny TestFlight i wersje dystrybuowane przez App Store nie pozwalają testować integracji z tej wersji próbnej. Ma to znaczenie, gdy menedżer produktu prosi o pilotaż z klientami. Udana demonstracja na kompilacji deweloperskiej nie przesądza, że klient będzie mógł włączyć funkcję w wersji sklepowej.
Apple podaje, że potrzebny jest sprzęt zgodny z Apple Intelligence i że obsługuje sześć języków, w tym koreański. Obowiązują także ograniczenia regionalne, wiekowe i serwerowe. Dla Siri AI Apple wymienia wersje beta 27.3 systemów iOS, iPadOS, macOS, watchOS i visionOS. W opisie początkowej wersji testowej dla aplikacji zewnętrznych podaje iOS, iPadOS, macOS i visionOS. Rozróżnij te zakresy przy przydzielaniu testerów. Precyzyjny raport ułatwia kolejnej osobie ustalenie, czy problem dotyczył działania, kanału dystrybucji, czy urządzenia.
W użytecznym teście wewnętrznym jeden wiersz opisuje polecenie, urządzenie, język, kanał dystrybucji i wynik. Zacznij od jednego przypadku, o którym wiadomo, że działa. Dla koreańskiego zapytania o status porównaj krótkie potoczne sformułowanie z poleceniem zawierającym nazwę sprzedawcy lub datę śledzenia. Jeśli oba prowadzą do tego samego rekordu, interakcja poradziła sobie z istotną zmianą językową. Jeśli jedno ujawnia zamówienie innej osoby, przerwij test i napraw autoryzację u źródła.
Na koniec sprawdź zwykłe przekazanie sprawy użytkownikowi. Jeśli działanie może znaleźć rezerwację, ale nie może jej przesunąć, pokaż dostępny termin i otwórz właściwy ekran. Jeśli może wprowadzić zmianę, pokaż wykonany wynik i pozwól później odnaleźć potwierdzenie w aplikacji. W obu przypadkach użytkownik otrzymuje konkretny następny krok.
Skrót zyskuje zaufanie działanie po działaniu
Integracja z Siri AI daje szansę przybliżenia najbardziej użytecznej funkcji aplikacji osobie, która jej potrzebuje. Wąskie, sprawdzalne działanie może przynieść korzyść bez budowania wielkiego katalogu integracji. Firma, która potrafi wiarygodnie pokazać właściwy status dostawy, ma dobry punkt wyjścia.
Przy dodawaniu kolejnych działań stosuj ten sam standard. Użytkownik powinien wiedzieć, co aplikacja znalazła, o jaką zgodę poprosiła i co stało się później. Ta jasność nabiera znaczenia, gdy polecenie przechodzi przez kilka usług lub użytkownik w ogóle nie otwiera pierwotnego okna aplikacji.
Źródła
- Komunikat Apple Developer z 3 listopada o wersji testowej Siri AI
- Dokumentacja App Intents firmy Apple
- Przewodnik Apple po konfiguracji i testowaniu wersji dla deweloperów
- Dokumentacja Apple dotycząca Spotlight i App Intents
Jeśli chcesz przechowywać rozmowy i decyzje związane z pracą w formie, którą można przeszukiwać, załóż konto Telli.sh.