Wiadomości natywne

Rozszerzenia i aplikacje mogą wymieniać wiadomości z natywnymi aplikacjami przy użyciu interfejsu API podobnego do inne interfejsy API do przekazywania wiadomości. Aplikacje natywne, które obsługują tę funkcję, muszą zarejestrować parametr host natywnego przesyłania komunikatów, który wie, jak komunikować się z rozszerzeniem. Chrome uruchamia hosta za w oddzielnym procesie i komunikuje się z nim za pomocą standardowych strumieni wejściowych i wyjściowych.

Host natywnego przesyłania komunikatów

Aby zarejestrować hosta natywnego przesyłania komunikatów, aplikacja musi zainstalować plik manifestu, który definiuje konfigurację hosta natywnego przesyłania komunikatów. Poniżej znajduje się przykładowy plik manifestu:

{
  "name": "com.my_company.my_application",
  "description": "My Application",
  "path": "C:\\Program Files\\My Application\\chrome_native_messaging_host.exe",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/"
  ]
}

Plik manifestu hosta natywnego przesyłania wiadomości musi być prawidłowym plikiem JSON i zawierać te pola:

NazwaOpis
nameNazwa hosta natywnego przesyłania komunikatów. Klienty przekazują ten ciąg znaków do runtime.connectNative lub runtime.sendNativeMessage. Ta nazwa może zawierać wyłącznie małe znaki alfanumeryczne, podkreślenia i kropki. Nazwa nie może zaczynać się ani kończyć kropką, a po kropce nie może następować inna kropka.
descriptionKrótki opis aplikacji.
pathŚcieżka do pliku binarnego hosta natywnego przesyłania komunikatów. W systemach Linux i OS X ścieżka musi być bezwzględna. W systemie Windows może to być katalog, w którym znajduje się plik manifestu. Proces hosta rozpoczyna się, gdy bieżący katalog jest ustawiony na katalog zawierający plik binarny hosta. Jeśli np. parametr ma wartość C:\Application\nm_host.exe, rozpocznie się od bieżącego katalogu C:\Application\.
typeTyp interfejsu używanego do komunikacji z hostem natywnego przesyłania komunikatów. Obecnie ten parametr może mieć tylko jedną wartość: stdio. Oznacza to, że Chrome powinien używać interfejsów stdin i stdout do komunikacji z hostem.
allowed_originsLista rozszerzeń, które powinny mieć dostęp do hosta natywnego przesyłania komunikatów. Symbole wieloznaczne, takie jak