2016-10-02 2 views
12

मैं तय जो निम्न में से यह करने के लिए उचित तरीका है कोशिश कर रहा हूँ:Firebase Analytic की getInstance() हर बार आवेदन कक्षा में एक स्थिर चर के रूप में उदाहरण के भंडारण बनाम कॉलिंग

  1. हर गतिविधि से FirebaseAnalytics.getInstance(Context) कॉलिंग , टुकड़ा, और सेवा है कि मैं एक घटना लॉगिंग कर रहा हूँ।

या

  1. Application वर्ग से एक बार FirebaseAnalytics.getInstance(Context) कॉलिंग और एक सार्वजनिक स्थैतिक चर के रूप में चारों ओर रखते हुए। फिर, हर जगह से मुझे इसकी आवश्यकता है मैं 'MyAppClass.mFirebaseAnalytics.logEvent()' पर कॉल कर सकता हूं।

क्या उपर्युक्त विधियों में से कोई भी स्वचालित रूप से एकत्रित होने वाली घटनाओं पर अवांछित प्रभाव डालता है और/या उनमें से किसी एक पर दक्षता लाभ होता है?

बहुत धन्यवाद!

+0

एक सही उत्तर का चयन करें। –

+1

@fahmy क्या आपको 1 और 2 का उपयोग करने का अंतर जानने का कोई मौका मिला? मैं फायरबेस वी 10.2.0 का उपयोग कर रहा हूँ। और फायरबेस डिकंपिल्ड कक्षाओं के अंदर संदर्भ के उपयोग को देखते हुए, मैं देख रहा हूं कि संदर्भ केवल संदर्भ संदर्भ प्राप्त करने के लिए उपयोग किया जाता है। गतिविधि और सामान के लिए, विधि 'firebaseAnalytics.setCurrentScreen' है, जहां हम गतिविधि और सामान का नाम दे सकते हैं। तो, मेरा अनुमान अभी यह है कि एप्लिकेशन संदर्भ का उपयोग करना पर्याप्त है, लेकिन मैंने अभी तक इसका परीक्षण नहीं किया है। – laaptu

+0

@laaptu नोप, नीचे दिए गए उत्तर के अलावा, इस पर कोई नई जानकारी नहीं मिली है। – fahmy

उत्तर

5

documentation कहता है:

सार्वजनिक स्थिर FirebaseAnalytics getInstance (संदर्भ संदर्भ)

रिटर्न सिंगलटन FirebaseAnalytics इंटरफ़ेस।

तो मुझे कोई विशेष कारण नहीं दिख रहा है कि आपके कोड में केवल एक सिंगलटन उदाहरण क्यों नहीं हो सकता है। किसी भी दृष्टिकोण के साथ कोई ध्यान देने योग्य दक्षता लाभ नहीं होगा। यदि आप दूसरे विकल्प को देख रहे हैं, तो यह निर्भरता इंजेक्शन और आपके कोड की टेस्टेबिलिटी बढ़ाने के लिए एनालिटिक्स इंस्टेंस के आस-पास एक साधारण रैपर के साथ ऐसा करने पर विचार करने योग्य हो सकता है।

+5

मुझे चिंता है कि फायरबेस, जीवन के समय या एप्लिकेशन के प्रवाह के बारे में कुछ प्राप्त करने के लिए संदर्भ का उपयोग कर सकता है। मैंने जो सभी दिशानिर्देश पढ़े हैं, केवल यह कहता है कि इसे गतिविधि में रखा जाना चाहिए। – jayeffkay

संबंधित मुद्दे