Przykładowa aplikacja
Jeśli podczas korzystania z interfejsów API Home wystąpią problemy, możesz zebrać dzienniki, aby przeprowadzić dalsze debugowanie. Zbieranie dzienników z urządzenia mobilnego wymaga Xcode. Jeśli potrzebujesz pomocy Google, zbierz dzienniki z urządzenia z iOS i huba, a następnie otwórz zgłoszenie w narzędziu do śledzenia problemów, podając odpowiednie informacje i dzienniki.
Zbieranie dzienników z iOS
Podczas wykonywania wszystkich czynności związanych z Xcode urządzenie mobilne musi być połączone z komputerem lokalnym.
Dzienniki aplikacji i dzienniki pakietu SDK są wyświetlane i zbierane bezpośrednio w konsoli Xcode. Gdy urządzenie mobilne jest połączone z komputerem lokalnym i uruchamiasz aplikację za pomocą Xcode, konsola automatycznie przechwytuje i przesyła dzienniki standardowego wyjścia (stdout) i standardowego błędu (stderr) z warstwy aplikacji i zintegrowanego pakietu SDK Home. Umożliwia to łatwe monitorowanie procesów inicjowania w czasie rzeczywistym, interakcji z interfejsem API i zdarzeń pakietu SDK podczas programowania i debugowania.
Zbieranie dzienników rozszerzeń z Xcode
Jeśli podczas korzystania z interfejsów API Home wystąpią problemy, możesz zebrać dzienniki, aby przeprowadzić dalsze debugowanie.
W Xcode na górnym pasku menu kliknij Debug (Debuguj) i wybierz Attach to Process by PID or Name (Dołącz do procesu według identyfikatora PID lub nazwy).

W sekcji PID or Process Name (Identyfikator PID lub nazwa procesu) wybierz MatterExtension i kliknij Attach (Dołącz).

Jeśli klikniesz w prawym górnym rogu, zobaczysz komunikat Waiting to attach to MatterAddDeviceExtension on iPhone (Czekam na dołączenie do MatterAddDeviceExtension na iPhonie).

Kliknij kartę i wybierz MatterAddExtension.

Konsola zarejestruje dziennik rozszerzenia.
Sherlog: śledzenie zdarzeń w różnych warstwach
Sherlog to usługa śledzenia w czasie rzeczywistym, która zapewnia kompleksowy wgląd w interakcje między infrastrukturą Google a usługami w chmurze partnera.
Wymaganie wstępne: śledzenie wymaga użycia udostępnionego konta koordynowanego przez Google (np. konta zarejestrowanego w GReg lub konta demonstracyjnego).
Główny cel: debugowanie błędów funkcjonalnych i problemów z integracją z chmury do chmury (C2C), np. nieudanych połączeń kont lub nieprawidłowych stanów urządzeń, bez konieczności wprowadzania zmian w kodzie produkcyjnym.
Możliwości: zapewnia pełne wykresy wywołań RPC, ładunki żądań i odpowiedzi oraz metadane dotyczące intencji SYNC, EXECUTE, QUERY i Account Linking.
Dzienniki huba Fuchsia
Za pomocą tej metody możesz zbierać dzienniki z tych hubów Fuchsia: * Google Nest Hub (2 generacji) * Google Nest Hub Max
Aby włączyć hub do pobierania dzienników lokalnych:
- Wyślij e-maila z numerem seryjnym i modelem urządzeń do technicznego menedżera konta Google. Znajdziesz je małymi literami pod urządzeniem.
- Gdy Twoje konto znajdzie się na liście dozwolonych, musisz włączyć tę funkcję, wykonując te czynności:
- Na hubie:
- Przesuń palcem z góry ekranu w dół.
- Kliknij ikonę ustawień .
- Znajdź wersję Fuchsia: na urządzeniu Nest Hub (2 generacji) otwórz Informacje o urządzeniu > Informacje techniczne > Wersja Fuchsia.
- Kliknij „Wersja Fuchsia” 7 razy. Spowoduje to włączenie opcji programisty.
- Wróć do menu najwyższego poziomu.
- Kliknij „Opcje programisty”.
- Kliknij „Logowanie partnera”.
- Ta funkcja będzie włączona przez 24 godziny. Po tym czasie ponownie włącz funkcję logowania, wykonując czynności od kroku 5.
- Na hubie:
- Uzyskaj adres IP huba:
- Na hubie, jeśli ma ekran:
- Przesuń palcem z góry ekranu w dół.
- Kliknij ikonę ustawień .
- Znajdź adres IP urządzenia: na urządzeniu Nest Hub (2 generacji) otwórz Informacje o urządzeniu > Informacje techniczne > Adres IP.
- W aplikacji Google Home na telefonie:
- Kliknij urządzenie, aby otworzyć stronę z informacjami na jego temat.
- Kliknij ikonę ustawień , aby otworzyć stronę ustawień.
- Znajdź adres IP urządzenia: otwórz Informacje o urządzeniu > Informacje techniczne > Adres IP.
- Na hubie, jeśli ma ekran:
- Aby pobrać dzienniki z huba, wyślij żądanie GET HTTP do huba z komputera w tej samej sieci Wi-Fi.
- Zanotuj port i ścieżkę punktu końcowego:
curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file - Połączenie może być otwarte tylko przez minutę, ale dane pobrane z bufora zwykle zawierają zdarzenia z ostatnich 20–30 minut.
- Najlepiej jest wyodrębniać dzienniki za pomocą tej metody natychmiast po zakończeniu procedury testowej, aby mieć pewność, że bufor zawiera treści związane z testem (podobnie jak raporty o błędach w Androidzie).
- Zanotuj port i ścieżkę punktu końcowego:
Automatyzacja
Wykrywanie krawędzi
Automatyzacja w ekosystemie Google Home obejmuje wykrywanie krawędzi, czyli logikę, która sprawdza, czy starter aktywuje się tylko wtedy, gdy nastąpi rzeczywista zmiana stanu, a nie aktualizacja stanu, która po prostu powtarza poprzedni stan urządzenia.
Jeśli na przykład poleceniem inicjującym jest włączenie światła, wykrywanie krawędzi sprawdza, czy polecenie inicjujące aktywuje się tylko wtedy, gdy urządzenie przejdzie ze stanu wyłączonego do włączonego, a nie z włączonego do włączonego (bez zmian).
Automatyzacja nie działa zgodnie z oczekiwaniami
Jeśli po uwzględnieniu wykrywania krawędzi automatyzacja nie działa zgodnie z oczekiwaniami:
Sprawdź każde urządzenie, aby upewnić się, że działa prawidłowo niezależnie od automatyzacji.
Sprawdź wykres automatyzacji, porównując go z DSL automatyzacji, aby wykryć ewentualne nieprawidłowe założenia.
Podczas wykonywania automatyzacji obserwuj stan urządzenia w aplikacji Google Home.
Sprawdź, czy wszystkie urządzenia, do których odwołuje się automatyzacja, znajdują się w strukturze, w której powinny być. Usunięcie urządzenia, od którego zależy automatyzacja, może mieć niepożądane konsekwencje. Więcej informacji znajdziesz w artykule Wpływ usunięcia urządzenia na automatyzację.
Automatyzacja działa, gdy nie powinna
Jeśli automatyzacja działa, gdy nie powinna, sprawdź kryteria startera. Może być konieczne dodanie dodatkowej logiki, aby mieć pewność, że zmiana stanu zostanie zarejestrowana tylko raz i tylko raz uruchomi automatyzację.
Automatyzacja nie kompiluje się
Upewnij się, że aplikacja zawiera wszystkie niezbędne importy, w tym każdą klasę odpowiadającą różnym typom węzłów oraz cechy, do których się odwołujesz.
Tworzenie automatyzacji nie przechodzi weryfikacji
Jeśli tworzenie automatyzacji nie przejdzie weryfikacji, pojawi się ostrzeżenie lub komunikat o błędzie z informacjami o problemie. Więcej informacji znajdziesz w dokumentacji
ValidationIssueType reference.
OAuth
Jeśli masz już klienta OAuth
Jeśli masz już zweryfikowanego klienta OAuth dla opublikowanej aplikacji, możesz go użyć do testowania interfejsów API Home.
Google Home Developer Console Aby testować interfejsy API Home i z nich korzystać, nie musisz się rejestrować. Aby opublikować aplikację, nadal musisz mieć zatwierdzoną Developer Console rejestrację, nawet jeśli masz zweryfikowanego klienta OAuth z innej integracji.
Obowiązują te kwestie:
Jeśli używasz istniejącego klienta OAuth, obowiązuje limit 100 użytkowników. Informacje o dodawaniu użytkowników testowych znajdziesz w artykule Generowanie identyfikatora klienta OAuth. Niezależnie od weryfikacji OAuth obowiązuje limit 100 użytkowników, którzy mogą przyznać uprawnienia Twojej aplikacji. To ograniczenie zostanie zniesione po zakończeniu Developer Console rejestracji.
Developer Console rejestrację należy przesłać do zatwierdzenia, gdy będziesz gotowy(-a) do ograniczenia uprawnień do typu urządzenia za pomocą OAuth w ramach przygotowań do zaktualizowania aplikacji za pomocą interfejsów API Home.
W przypadku aplikacji Google Cloud, które nadal oczekują na weryfikację OAuth, użytkownicy nie mogą przejść procesu OAuth do czasu zakończenia weryfikacji. Próby przyznania uprawnień zakończą się niepowodzeniem z powodu tego błędu:
Access blocked: <Project Name> has not completed the Google verification process.