आप अपना खुद का फोनगैप प्लग-इन लिख सकते हैं (मूल रूप से मूल कोड पुल के लिए एक जावास्क्रिप्ट)। यह आपको उन मौजूदा मूल समाधानों का उपयोग करने की आजादी देगा, जिनके पास ऑफ़लाइन समर्थन है (वेबट्रेन्ड, जीए, फ्लोरी, ...)।
देखें: http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins
आप एक जावास्क्रिप्ट फ़ाइल और एक मूल निवासी फ़ाइल प्रति मंच आप समर्थन करना चाहते थे बनाना होगा। अपने मूल कोड में आप अपने ट्रैकिंग विक्रेता के एसडीके पर कॉल करेंगे।
मैंने एंड्रॉइड उदाहरण का उपयोग किया और बस इस उदाहरण को नमूना के रूप में एक साथ रखा। कृपया सलाह दीजिये कि इसका परीक्षण नहीं किया गया था या यहां तक कि आईडीई में भी रखा गया था। मैं बस नोटपैड ++ में दिए गए उदाहरणों संपादित :-)
// जावा
public class TrackingPlugin extends Plugin {
public static final String ACTION="pageView";
@Override
public PluginResult execute(String action, JSONArray data, String callbackId) {
Log.d("Tracking", "Plugin Called");
PluginResult result = null;
if (ACTION.equals(action)) {
try {
String pageTitle= data.getString(0);
JSONObject res = new JSONObject();
SOME_TRACKING_API.Track(pageTitle);
res.put("status","OK");
result = new PluginResult(Status.OK, res);
} catch (JSONException jsonEx) {
Log.d("DirectoryListPlugin", "Got JSON Exception "+ jsonEx.getMessage());
result = new PluginResult(Status.JSON_EXCEPTION);
}
} else {
result = new PluginResult(Status.INVALID_ACTION);
Log.d("TrackingPlugin", "Invalid action : "+action+" passed");
}
return result;
}
// जावास्क्रिप्ट
/**
* @return Object literal singleton instance of Track
*/
var Track = function() {
};
/**
* @param pageTitle The title for a new view
* @param successCallback The callback which will be called when track call is done
* @param failureCallback The callback which will be called when track call is done
*/
Track.prototype.pageView = function(pageTitle,successCallback, failureCallback) {
return PhoneGap.exec(
successCallback, //Success callback from the plugin
failureCallback, //Error callback from the plugin
'TrackingPlugin', //Tell PhoneGap to run "TrackingPlugin" Plugin
'pageView', //Tell plugin, which action we want to perform
[pageTitle]); //Passing list of args to the plugin
};
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("Track", new Track());
});
मेरे पास अभी 0 मूल कोड है, और मैं इसे रखना चाहता हूं उस तरफ। मैं बस अपने उपयोगकर्ताओं के सबसेट पर केवल एनालिटिक्स एकत्रित कर सकता हूं, या स्थानीय समाधान/स्थानीय डेटाबेस का उपयोग करने वाले उचित समाधान की प्रतीक्षा कर सकता हूं। –
जब फोनगैप बिल्ड प्लगइन का समर्थन करता है, तो यह एक व्यवहार्य विकल्प बन सकता है। –
मुझे शुद्ध जेएस में रहने की कोशिश करने का आपका मुद्दा मिलता है, यह एक अच्छा लक्ष्य और शुभकामनाएं !!! – eSniff