24

Ich muss Funktionen kombinieren, die nur in einer Chrome-App verfügbar sind (Zugriff auf syncFileSystem) und Funktionen, die nur in einer Chrome-Erweiterung verfügbar sind (ein Skript wird in die Website eines Drittanbieters eingefügt).Kommunikation zwischen einer Chrome-App und einer Chrome-Erweiterung?

Es scheint, dass weder eine gepackte App noch eine Erweiterung diese beiden Dinge erreichen können, also überlege ich jetzt zu versuchen, was ich mit einer separaten verpackten App und Erweiterung kommunizieren möchte.

Ich sehe, dass Chrome's documentation erklärt, wie zwei Erweiterungen kann die Kommunikation über chrome.runtime.onMessageExternal.addListener und chrome.runtime.sendMessage, aber nichts über gepackte Anwendungen und Erweiterungen kommunizieren.

Weiß jemand, ob das erlaubt ist? Gibt es Dokumentation oder ein praktisches Beispiel?

Antwort

17

Ja, das ist möglich. Das Codebeispiel in der verknüpften Dokumentation funktioniert für jede Kombination aus App und Erweiterung.

Die Erweiterung Dokumentation für chrome.runtime.sendMessage sagt:

Sendet eine einzelne Nachricht an onMessage Ereignis-Listener in der Verlängerung (oder einer anderen Nebenstelle/app).

Messaging funktioniert in Erweiterungen und Apps gleich, und sie scheinen vollständig kompatibel zu sein; Verwenden Sie einfach die ID für die Zielerweiterung oder App. Wenn Sie sich die Dokumentation für die app version of chrome.runtime.sendMessage ansehen, werden Sie feststellen, dass sie mit der Erweiterungsversion identisch ist.

+1

Es wäre wirklich großartig zu sehen, wie Sie die App und die Erweiterung zusammen bündeln. Ich würde gerne beide im Idealfall mit einem Klick installieren können, würde mich aber für eine Art Upselling von einem der beiden zum anderen entscheiden. Und würde die Erkennung, ob die App installiert ist, erfordern, dass sie sich im Hintergrundberechtigungsmodus befindet? – kzahel

+2

@ Manginis Link funktioniert nicht mehr, aber Sie können versuchen: [https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/messaging](https://github.com/GoogleChrome/ chrome-app-samples/Baum/Master/Samples/Messaging). – falconepl

+1

@apsillers, Anstatt den Benutzer sowohl die App als auch die Erweiterung zu installieren, gibt es sie trotzdem, beide zu einer Einheit zu kombinieren, so dass der Benutzer nur eine Installationsaktion ausführt? – Pacerier

Verwandte Themen