的第一篇文章,很抱歉,如果我違反任何約定提前:-)如何將不同的後端解決方案連接到通用API?
想知道你會如何處理以下情形。
我必須生成一個通用API,提供遊戲跟蹤功能(跟蹤點擊的內容,跟蹤某個事件是否發生等)。這個通用API需要連接到第三方提供的兩個(或更多)定製追蹤解決方案之一(例如itracku.com和itrackutoo.com)。定製的跟蹤解決方案具有類似的功能(trackClick,trackEvent),但它們所需參數的數量有很大不同(例如,需要傳遞1個參數,其他6個參數)。
爲了使泛型API能輕鬆地在兩種定製解決方案之間切換,我是否正確地假設所有參數都需要事先確定範圍以便於切換跟蹤解決方案?希望不必重新編譯.swfs來切換跟蹤解決方案(即通過XML配置切換)。我想通過讓我的泛型API函數接受單個對象作爲參數來實現這一點,例如
// itracku.com
iTrackUObj:Object = new Object();
iTrackuObj.param1 = 1;
// itrackutoo.com
iTrackUTooObj:Object = new Object();
iTrackUTooObj.param1 = 1;
iTrackUTooObj.param1 = 2;
iTrackUTooObj.param1 = 3;
iTrackUTooObj.param1 = 4;
iTrackUTooObj.param1 = 5;
iTrackUTooObj.param1 = 6;
// my generic function, which accepts an object as a single parameter then validates the object
myGenericFunction(iTrackUObj);
//…or
myGenericFunction(iTrackUTooObj);
你能想到一個更有效的方法來實現這個嗎?這更像是一個技術性的建築問題,而不是我認爲的ActionScript,但我認爲上述可能在實際應用中有點笨拙。
感謝任何幫助或建議
如果我們知道參數是什麼,那麼給出答案會更容易。我意識到它可能不同於功能和功能,但是一個實際的例子會讓答案更容易。 – 2011-02-25 16:53:37
基本上跟蹤Flash應用程序中的點擊和事件。因此,「myGenericFunction」可以是「trackClick」,一個後端解決方案所需的參數只能是一個ID,但對於其他潛在的數據列表,包括URL,引薦,屏幕分辨率等...... – 2011-02-28 11:08:55