Gibt es eine Möglichkeit, dass eine Safari-Browser-Erweiterung ihre eigene Deinstallation erkennt?
Ich möchte eine Veranstaltung an Google Analytics senden, um die Deinstallationsrate meiner Erweiterung nachzuverfolgen.
Nachdem ich in den Entwicklungsforen herumgekrochen bin, habe ich herausgefunden, dass Safari im Gegensatz zu Chrome anscheinend keine solchen Ereignisse hat oder, falls es welche gibt, sind sie undokumentiert (und daher nicht dafür gedacht). Ich denke, deine besten Wetten sind:
a) Fordern Sie die Funktion über Apples Fehlermeldungs- und Funktionsanfrage-Seite
anb) Richten Sie einen externen Dienst ein, der ~ / Library / Safari / Extensions oder die Datei Extensions.plist zum Löschen überwachen kann (was unter Berücksichtigung der Sicherheitsrisiken wahrscheinlich enorm schwierig ist)
c) Verfolgen Sie die aktive Benutzerdatenbank, indem Sie einen externen Dienst einmal pro Tag oder in einem anderen Intervall anpingen. Die Deletions- / Inaktivitätsrate kann dann durch Aktivitätsabfälle geschätzt werden.
Sie können das window.onunload-Ereignis im globalen Dateiskript registrieren, um zu erkennen, wenn die Erweiterung deinstalliert wird. Besser ist es, addEventListener () mit 'unload' zu verwenden, da Safari das Ereignis zum Löschen des Erweiterungsspeichers verwenden könnte. Stellen Sie außerdem sicher, dass das Ereignis ausgelöst wird, wenn die Erweiterung aktualisiert oder neu geladen wird, da in diesen Fällen auch die globale Seite entladen wird.
%Vor%Tags und Links events uninstall safari-extension browser-extension