2013-08-23 7 views
5

मैं समझने की कोशिश कर रहा हूं: एंड्रॉइड पर, टेस्टफलाइट कैसे निर्धारित करता है कि यह बीटा-परीक्षक वातावरण में है, और टेस्टफलाइट सर्वर पर गतिविधि अपलोड करनी चाहिए? कुछ similarquestions आईओएस पर टेस्टफलाइट के बारे में पूछ रहे हैं, लेकिन एंड्रॉइड से संबंधित कोई भी नहीं है।सर्वर पर गतिविधियों को भेजने के लिए टेस्टफलाइट के लिए किन स्थितियों को पूरा किया जाना चाहिए?

मैंने TestFlight SDK को मेरी कंपनी के एंड्रॉइड ऐप में एकीकृत किया है क्योंकि यह बीटा परीक्षण और रिमोट लॉगिंग के लिए एक अच्छा समाधान जैसा दिखता है (हम पहले ही इसे आईओएस के लिए उपयोग करते हैं), लेकिन मैं इसे वास्तव में भेजने के लिए नहीं मिल सकता टेस्टफलाइट सर्वर पर सत्र जानकारी। एक बार जब मैं टेस्टफ्लाइट ऐप के माध्यम से अपना ऐप इंस्टॉल करता हूं, तो मैं तुरंत देखता हूं कि यह टेस्टफ्लाइट वेब कंसोल के माध्यम से स्थापित किया गया था, और फिर ... nada। मुझे कोई सत्र डेटा या रिमोट लॉग नहीं मिलता है, भले ही मुझे स्पष्ट रूप से कुछ मिलना चाहिए।

मैं अब तक क्या किया:

  • चौगुना जाँच मेरी TestFlight api कुंजी कुछ के लिए
  • सत्यापित है कि TestFlight.takeOff() बुलाया जा रहा है
  • सत्यापित है कि TestFlight.isActive() रिपोर्ट true
  • apk पर हस्ताक्षर करने की कोशिश की डीबग-केवल कुंजी
  • हमारी रिलीज कुंजी
  • के साथ एपीके पर हस्ताक्षर करने का प्रयास किया
  • TestFlight (कोई नहीं) से संबंधित त्रुटियों के लिए एंड्रॉयड लॉग की जाँच की
  • TestFlight कुछ दिनों (मैं संपर्क किया गया है, लेकिन अभी तक कोई प्रगति)

मेरे वर्तमान अनुमान है कि TestFlight lib है का समर्थन पहले से संपर्क किया लगता है कि यह एक उत्पादन वातावरण में है, और इसलिए इसे लॉग और सत्र जानकारी अपलोड नहीं करनी चाहिए।

SDK Documentation इस प्रश्न का उत्तर देने के लिए कुछ भी नहीं है, लेकिन मुझे लगता है कि अगर मुझे लगता है कि यह किस स्थितियों की तलाश में है तो मैं इसे बहुत जल्दी से कम कर सकता हूं।

मैंने TestFlightLib.jar में प्रवेश किया और पाया कि TestFlight.isActive() वास्तव में केवल रिपोर्ट कर रहा है कि आपने पहले से ही TestFlight.takeOff() कहा है या नहीं, इसलिए यह पूरी बात नहीं है कि पूरी प्रणाली काम कर रही है या नहीं।

+0

पर बैचिंग को हटा दिया है http://help.testflightapp.com/ पर दोस्ताना लोग आपकी समस्या के बारे में क्या कहते हैं? – 323go

+0

उन्होंने डीबग कुंजी के साथ ऐप को फिर से हस्ताक्षर करने का सुझाव दिया, जिसने कोई फर्क नहीं पड़ता। मैंने ट्विटर पर और उनके ईमेल समर्थन के माध्यम से उनके साथ जुड़ा हुआ है। –

+0

मुझे जोड़ना चाहिए, मैंने किसी भी भाग्य के बिना लंबाई में टेस्टफ्लाइट एसडीके ज्ञान-आधार के माध्यम से भी टोल किया है। आईओएस केंद्रित पर लेखों का विशाल बहुमत है, और एंड्रॉइड से संबंधित लेखों की सीमित संख्या ने मुझे कोई अंतर्दृष्टि नहीं दी है। –

उत्तर

11

संपादित करें: प्रति Isra's answer प्रति दिन, ऐसा लगता है कि मेरा पहला बिंदु (बैचिंग चेकपॉइंट्स) अब वैध नहीं हो सकता है।

टेस्टफ्लाइट समर्थन के साथ कुछ ईमेल व्यापार करने के बाद, मैं घटनाओं को देख रहा हूं और क्या हो रहा है इसके बारे में बेहतर समझ है। वहाँ दो मुद्दे हैं: एंड्रॉयड बैचों checkpoint घटनाओं के लिए

  1. TestFlight और उन्हें सर्वर को भेजता है एक बार 10 या उससे अधिक की घटनाओं एकत्र कर रहे हैं। ईवेंट एप प्रक्रिया जीवनकाल में संरक्षित नहीं हैं। मेरा टेस्ट ऐप केवल दो या तीन चेकपॉइंट्स बना रहा था, इस प्रकार सर्वर पर कभी भी कुछ भी नहीं भेजा गया।

  2. एक स्पष्ट मुद्दा जहां लॉग ईवेंट सभी पर सर्वर पोस्ट नहीं कर रहे हैं, जब तक कि TestFlight सत्र स्पष्ट TestFlight.endSession()

तो साथ समाप्त हो गया है नहीं है, वैकल्पिक हल (अब के लिए) स्पष्ट रूप से करने के लिए है समय-समय पर TestFlight.endSession() पर कॉल करें। उम्मीद है कि लाइब्रेरी लाइब्रेरी के भावी रिलीज में इस व्यवहार को बदल देगा (या कम से कम दस्तावेज)।

+0

आप एक जीवन बचतकर्ता हैं। मुझे पता लगाने की कोशिश करने में लगभग 2 घंटे गुम हो गए कि कोई लॉग प्रविष्टियां क्यों नहीं हैं। उनकी सहायता टीम से संपर्क करने के लिए समय निकालने के लिए धन्यवाद। – chitza

+1

मैंने इसे हल करने की कोशिश में 2 घंटे से अधिक समय खो दिया है! मैं एंड्रॉइड के लिए भी नया हूं, जो इसे काम करने के लिए एक डबल व्हामी है। आप कितनी बार TestFlight.endSession() कहते हैं? क्या आपको सीधे टेकऑफ() को कॉल करने की आवश्यकता है? किसी भी मदद की सराहना की, मुझे इस समय एंड्रॉइड सेमैंटिक्स आईओएस की तुलना में बहुत अधिक कठिन लगता है:/ – Matt

+1

मैंने इस जवाब को पोस्ट करने के बाद टेस्टफलाइट को बहुत जल्दी छोड़ दिया। हम दूरस्थ लॉगिंग और क्रैश रिपोर्ट के लिए क्रैशलिटिक्स चले गए, और मैं खुश नहीं हो सका। मैं अत्यधिक उन्हें सलाह देते हैं। –

0

हम इसे अपने गतिविधियों के बारे में TestFlight.startSession() बुला onStart और TestFlight.endSession()onStop पर काम कर दिया।

अतिरिक्त चरणों को टेस्टफ्लाइट एसडीके में दस्तावेज नहीं किया गया है, लेकिन ऐसा लगता है कि ऐप को टेस्टफ्लैट सर्वर पर सत्र लॉग भेजने के लिए मजबूर होना पड़ता है।

1

मैं चेकपॉइंट फ्रंट पर एक टिप्पणी करने जा रहा हूं। मैं सत्र समाप्त करने की आवश्यकता के बिना सीधे चेकपॉइंट की सूचना दी जा सकती है। ऐसा लगता है कि उन्होंने Android

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