Plugin razvoj vodnik
Plugin je paket vstavljeno kodo, ki omogoča Cordova spletni pogled, v katerem postane vaš app komunicirati z native platforme, na katerih teče. Plugins zagotoviti dostop do naprave in platformo funkcionalnosti, ki je običajno na voljo za spletne aplikacije. Vse glavne funkcije Cordova API, ki se izvajajo kot plugins, in mnogi drugi so na voljo, da omogoči funkcije, kot so Čitalniki črtne kode, NFC komunikacije, ali za prilagajanje koledarja vmesniki.
Plugins obsegajo posamezen JavaScript vmesnik, skupaj z ustreznim domorodno kodo knjižnice za vsako podprto platformo. Ta oddelek korakov preko enostavno echo plugin, ki prehaja niz iz JavaScript native platformo in nazaj, ena, ki lahko uporabite kot model za izgradnjo bolj kompleksnih funkcij. V tem poglavju opisane osnovne plugin strukturo in navzven obrnjenih JavaScript vmesnik. Za vsako ustrezno izvorni vmesnik, glej seznam na koncu tega oddelka.
Poleg teh navodil, pri pripravi pisati čep, je najbolje, da gledajo čez obstoječe plugins za usmerjanje.
Izgradnjo Plugin
Razvijalcem uporabo CLI je plugin add
ukaz (razpravljali v vmesnik ukazne vrstice) uporabi plugin za projekt. Argument temu ukazu je URL za git skladišče, ki vsebuje plugin kodo. Ta primer izvaja API Cordova's naprave:
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
Plugin skladišču mora funkcija na najvišji ravni plugin.xml
Datoteka manifesta. Obstaja veliko načinov za konfiguracijo datoteke, podrobnosti, za katere so na voljo v specifikaciji Plugin. Tej skrajšani različici je Device
plugin zagotavlja preprost primer uporabiti kot model:
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="org.apache.cordova.device" version="0.2.3">
<name>Device</name>
<description>Cordova Device Plugin</description>
<license>Apache 2.0</license>
<keywords>cordova,device</keywords>
<js-module src="www/device.js" name="device">
<clobbers target="device" />
</js-module>
<platform name="ios">
<config-file target="config.xml" parent="/*">
<feature name="Device">
<param name="ios-package" value="CDVDevice"/>
</feature>
</config-file>
<header-file src="src/ios/CDVDevice.h" />
<source-file src="src/ios/CDVDevice.m" />
</platform>
</plugin>
Najvišje ravni plugin
oznake id
atribut uporablja enako obliko povratne domene za identifikacijo plugin paket, kot ste apps so dodani. Na js-module
oznaka določa pot do skupnega vmesnika JavaScript. Na platform
oznaka določa niz ustreznih domorodno kodo, za v ios
platformo v tem primeru. Na config-file
tag enkapsulira a feature
oznako, ki se vbrizga v plosčad-poseben config.xml
datoteko ozavestiti platformi dodatna oznaka knjižnice. Na header-file
in source-file
tags določite pot do datoteke v knjižnico.
Preverjanje Plugin
Lahko uporabite na plugman
korist v ček ali plugin namesti pravilno za vsako platformo. Namestite plugman
s sledeč zapoved vozlišča :
$ npm install -g plugman
Potrebujete veljavno app Izvorni imenik, kot so najvišje ravni www
imenik, ki je vključen v privzeto ustvari CLI projekt, kot je opisano v vmesnik ukazne vrstice. Poskrbite, da app je index.html
domača stran reference ime plugin JavaScript vmesnik, kot če bi v istem imeniku vir:
<script src="myplugin.js"></script>
Nato zaženite ukaz kot sledi testiranje ali pravilno obremenitev iOS odvisnosti:
$ plugman -platform ios /path/to/my/project/www /path/to/my/plugin
Za podrobnosti o plugman
možnosti, glejte Uporaba Plugman za upravljanje Plugins. Informacije o tem, kako dejansko debug plugins, glejte vsako platformo izvorni vmesnik, naštetih na dnu te strani.
JavaScript vmesnik
JavaScript zagotavlja prednja vmesnik, zaradi česar je morda najpomembnejši del plugin. Vaš plugin JavaScript lahko strukturo, pa vam je všeč, vendar morate poklicati cordova.exec
komunicirati z native platformo, uporabite to sintakso:
cordova.exec(function(winParam) {},
function(error) {},
"service",
"action",
["firstArgument", "secondArgument", 42, false]);
Tukaj je, kako deluje vsak parameter:
function(winParam) {}
: Uspeh povratni klic funkcije. Ob predpostavki, da vašexec
klic konča uspešno, ta funkcija izvede ob s poljuben parametar to podaš.function(error) {}
: Povratni klic funkcije je napaka. Če operacija ni uspešno dokončala, ta funkcija izvede s poljuben zmota parameter."service"
: Ime storitve za klic na domači strani. To ustreza native razred, za katerega več informacij je na voljo v rojsten vodič spodaj."action"
: Ime dejanja, da pokličete na domači strani. To na splošno ustreza native razred metoda. Glej rojsten vodič spodaj.[/* arguments */]
: Niz argumentov prenesti v rodni okolje.
Vzorec JavaScript
Ta primer prikazuje en način za izvajanje plugin JavaScript vmesnik:
window.echo = function(str, callback) {
cordova.exec(callback, function(err) {
callback('Nothing to echo.');
}, "Echo", "echo", [str]);
};
V tem primeru plugin pripisuje sama na window
predmet kot na echo
funkcijo, ki uporabnikom plugin bi klic takole:
window.echo("echome", function(echoValue) {
alert(echoValue == "echome"); // should alert true.
});
Pogled na zadnje tri argumente, da je cordova.exec
funkcija. Prvi klice na Echo
storitev, ime razreda. Druga zahteva je echo
dejanje, metode znotraj razreda. Tretji je niz argumentov echo nizom, ki je v window.echo
funkcija je prvi parameter.
Uspeh callback prešla v exec
je preprosto sklicevanje na povratni klic funkcije window.echo
traja. Če native platformo požari napake povratni klic, ga preprosto zahteva povratni klic uspeha ter ga privzeti niz.
Native vmesniki
Ko določite JavaScript za vaše plugin, morate dopolniti z vsaj enega izvajanju native. Spodaj so navedene podrobnosti za vsako platformo, in vsak gradi na preprost Echo Plugin primer zgoraj:
Tizen platforma podpira plugins.
Objavljanje Plugins
Ko ste razviti vaše plugin, morda želite objavite in ga delite s skupnostjo. Lahko objavite vaše plugin cordova registra (na npmjs
) ali katero koli drugo npmjs
-osnova registracija. Drugi razvijalci lahko namestite samodejno z uporabo bodisi plugman
ali Cordova CLI. (Podrobnosti o vsakem razvojno pot, glejte Uporaba Plugman za upravljanje Plugins in The vmesnik ukazne vrstice.)
Objaviti plugin morate uporabiti na plugman
orodje in iti skozi naslednje korake:
$ plugman adduser # that is if you don't have an account yet
$ plugman publish /path/to/your/plugin
To je to!
Tekmovanje v teku plugman --help
seznami drugih ukazov osnovi registra.