2017-03-17 26 views
7

Próbuję używać wiadomości Twilio IP Messaging w prostym projekcie Xamarin Android, ale niestety pojawiają się problemy z najnowszymi bibliotekami Nuget: Twilio.Common (v. 0.3.4.2) i Twilio.IPMessaging (I próbowałem zarówno 0.15.0.4 i 0.15.0.6).NoSuchMethodError przy użyciu Twilio IPMessaging

Moja konfiguracja jest skomplikowana przez fakt, że próbki Xamarin online są przestarzałe w ostatnich wydaniach bibliotek --- więc zamiast wywoływania metod inicjowania zestawu SDK Twilio, mój kod wywołuje po prostu Twilio.IPMessaging.IPMessagingClient.Create. Parametry wejściowe są trochę niejasne, ale czyta gdzie indziej staram się wiązać z użyciem Podpis:

IPMessagingClient IPMessagingClient.create(
    Context context, 
    AccessManager accessManager, 
    IPMessagingClient.Properties clientProperties, 
    Constants.CallbackListener<IPMessagingClient> listener) 

Wywoływanie to w ten sposób, że zawsze pojawia się komunikat o błędzie: NoSuchMethodError ze szczegółami:

"no static method \"Lcom/twilio/ipmessaging/IPMessagingClient;.create(Landroid/content/Context;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/twilio/ipmessaging/IPMessagingClient;\"

Wszelkie pomysły? Podoba mi się pomysł korzystania z Twilio, ale między przestarzałą dokumentacją i niefortunnymi wypadkami łatwiej jest po prostu wdrożyć komunikację.

+0

Udało ci się to rozwiązać? Mam dokładnie ten sam problem. – nmilcoff

+0

To samo tutaj. Wsparcie Twilio sugerowało, że IPMessaging jest teraz przestarzałe (nigdy nie wychodzi poza Beta) i powinniśmy przenieść się na Programowalny Czat. Problem polega na tym, że nowy produkt nie obsługuje Xamarin i nie może dostarczyć ETA. – Strillo

Odpowiedz

1

Chociaż sprawdzić nugets można podać więcej spostrzeżeniami

  1. dlaczego IPMessagingClient.create (...) i nie IPMessagingClient.Create (...)?
  2. Czy linker jest włączony? Wyłącz to proszę. Następnie sprawdź.

Podpis jest

public static IPMessagingClient Tworzenie (kontekst kontekst, acess_manager obiektu, właściwości obiektów, słuchacz Object);

+0

Wyłączyłem linker, ale i tak to się nie powiedzie ... Używam jako parametry: context: 'this' (moja aktywność) // access_manager:' new AccessManager (currentActivity, mytoken, this) '(_this_ implements 'AccessManager.IListener' // detektor:' new CustomTwilioClientListener' (dziedziczy po 'ConstantsCallbackListener') Domyślam się, że trzeci parametr kończy się niepowodzeniem W pakiecie nuget nie ma takiej klasy' Constants.CallbackListener', która pobiera ogólny parametr taki jak Constants.CallbackListener nmilcoff