Phonegap Android с TestFlight SDK, сесиите не се проследяват

Имам приложение Phonegap 3.0 за Android с интегриран TestFlight SDK.

Уебсайтът TestFlight разпозна, че приложението ми има вграден SDK (зелената отметка се показва в колоната SDK, на реда за версията на компилацията).
И все пак уебсайтът TestFlight не показва потребителските сесии, когато приложението се използва.

Ето как го внедрих:

Документацията посочи, че трябва да използвам този код

public class MyApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    //Initialize TestFlight with your app token.
    TestFlight.takeOff(this, YOUR_APP_TOKEN);
    ...
  }
}

Във Phonegap класът всъщност разширява DroidGap (което не е приложение). Така че трябваше да направя вместо това

TestFlight.takeOff(this.getApplication(), TEST_FLIGHT_APP_TOKEN);

Освен това се казва, че AndroidManifest.xml трябва да има

<application ... android:name="MyApplication">  

Когато добавя това (посочвайки моя основен клас (този, който разширява DroidGap), получавам изключение, когато приложението зарежда java.lang.ClassCastException кастинг от основния ми клас към android.app.Application

Изглежда, че трябва да има основен клас, който разширява Application, но не мога да го намеря.


person Ron Harlev    schedule 22.08.2013    source източник


Отговори (1)


Трябва да настроите отделен Java клас във вашия проект, който разширява приложението, и да извикате takeOff в onCreate

     public class MyApplication extends Application { 

              @Override 
                 public void onCreate() { 
                     TestFlight.takeOff(this, YOUR_APP_TOKEN);
                     super.onCreate(); 
                 } 

     } 

Не трябва да поставяте името на вашата дейност (която разширява DroidGap) в етикета на приложението на манифеста, тъй като това ще причини ClassCastException. Вместо това използвайте името на класа, разширяващ Application, в този пример "MyApplication".

person swerv1    schedule 23.08.2013
comment
Следвайте тези инструкции и получихте една сесия за показване на сайта TestFlight веднъж!. Не се записват повече сесии от същото устройство или други устройства със същите или по-нови версии. При отстраняване на грешки виждам, че регистрационният файл казва, че TestFlight takeOff е завършен. Версия: 1.0 Някаква идея? - person Ron Harlev; 27.08.2013
comment
Също така сайтът TestFlight потвърждава, че компилацията има SDK. - person Ron Harlev; 27.08.2013
comment
Подписахте ли компилацията си със сертификат за отстраняване на грешки или освобождаване? Трябва да се подпишете с отстраняване на грешки, за да се показват данните от сесията в TestFlight. Също така се уверете, че вашето тестване е с точната компилация, която е качена в TestFlight. - person swerv1; 30.08.2013
comment
Също така можете да изпълните тази команда, за да проверите какъв сертификат е използван за подписване на компилацията: jarsigner -verify -verbose -certs app_file.apk - person swerv1; 30.08.2013