2013-08-23 39 views
5

我試圖理解:在Android上,TestFlight如何確定它處於beta測試環境,並且應該將活動上傳到TestFlight服務器?已經有一些similarquestions問iOS上的TestFlight,但沒有一個與Android相關。TestFlight必須滿足哪些條件才能將活動發送到服務器?

我已將TestFlight SDK集成到我公司的Android應用程序中,因爲它看起來像是測試和遠程日誌記錄的絕佳解決方案(我們已將其用於iOS),但我無法實際發送它將會話信息發送到TestFlight服務器。一旦我通過TestFlight應用程序安裝我的應用程序,我立即發現它是通過TestFlight Web控制檯安裝的,然後是... nada。我沒有得到任何會話數據或遠程日誌,儘管我顯然應該得到一些東西。

我迄今所做的:

  • 四,檢查了我的TestFlight API密鑰
  • 驗證了肯定TestFlight.takeOff()獲取調用
  • 已驗證TestFlight.isActive()報告true
  • 試圖簽署APK使用調試密鑰
  • 嘗試用我們的發行密鑰簽署apk
  • 經過了android日誌有關TestFlight(無)錯誤
  • 聯繫了TestFlight支持前幾天(我取得了聯繫,但沒有取得任何進展還)

我目前的猜測是,TestFlight LIB認爲它在生產環境中,因此它不應該上傳日誌和會話信息。

SDK Documentation沒有什麼可以回答這個問題,但我覺得如果我明白它在尋找什麼樣的條件,我可以很快地認識到這一點。

我插入TestFlightLib.jar,發現TestFlight.isActive()實際上只是報告你是否已經調用TestFlight.takeOff(),所以這不是一個很好的指示整個系統是否工作。

+0

http://help.testflightapp.com/上的友好人士如何評論您的問題? – 323go

+0

他們建議用調試密鑰重新簽名應用程序,但這沒有什麼區別。我通過Twitter和他們的電子郵件支持與他們進行了交流。 –

+0

我應該補充一點,我也在沒有任何運氣的情況下通過TestFlight SDK知識庫進行了長時間的討論。絕大多數文章都是以iOS爲中心的,而與Android相關的文章數量有限並沒有給我帶來任何見解。 –

回答

11

編輯:Isra's answer下面,它看起來像我的第一點(批處理檢查點)可能不再有效。

用TestFlight支持交易幾封電子郵件後,我看到事件並更好地理解正在發生的事情。這裏有兩個問題:

  1. TestFlight爲Android批次checkpoint事件和一次10級或更多的事件收集它們發送到服務器。應用程序生命週期內不會保留事件。我的測試應用程序只創建兩個或三個檢查點,因此沒有任何事情發送到服務器。

  2. 有一種情況的日誌事件不會在所有發送到服務器除非TestFlight會議明確與TestFlight.endSession()

所以結束了一個明顯的問題,解決辦法(現在)是明確定期撥打TestFlight.endSession()。希望TestFlight將在庫的未來版本中更改(或至少記錄)這種行爲。

+0

你是一個拯救生命的人。我失去了大約2個小時試圖找出爲什麼沒有日誌條目。感謝您花時間聯繫他們的支持團隊。 – chitza

+1

我已經失去了2個多小時試圖解決這個問題!我對android也很陌生,這是一個雙重打擊,試圖讓這個工作。你多久打一次TestFlight.endSession()?你需要直接調用takeOff()嗎?任何幫助表示讚賞,我現在發現Android語義比IOS更困難:/ – Matt

+1

在發佈這個答案後,我很快就放棄了TestFlight。我們轉移到Crashlytics進行遠程登錄和崩潰報告,並且我不能更快樂。我強烈推薦他們。 –

0

我們做它通過調用TestFlight.startSession()我們的活動在onStartTestFlight.endSession()的onStop工作。

額外的步驟沒有記錄在TestFlight SDK中,但它似乎強制應用程序發送會話日誌到TestFlight服務器。

1

我將在檢查站前發表評論。我可以直接看到檢查點,而無需結束會話。看起來他們刪除了批處理Android

相關問題