2017-07-28 1 views
0

Ich versuche, mich mit Google Cast und dessen Verwendung in einer Android-Anwendung vertraut zu machen. Die Codebasis, mit der ich arbeite, hat eine funktionierende Integration, scheint aber im Vergleich zur official guides verschiedene Diskrepanzen zu haben.Google Cast & Android

Zum Beispiel, einer der ersten Schritte in der Führung ist es, die OptionsProvider Schnittstelle zu implementieren, etwa so:

class CastOptionsProvider implements OptionsProvider { 
    @Override 
    public CastOptions getCastOptions(Context appContext) { 
     CastOptions castOptions = new CastOptions.Builder() 
      .setReceiverApplicationId(context.getString(R.string.app_id)) 
      .build(); 
     return castOptions; 
    } 
    @Override 
    public List<SessionProvider> getAdditionalSessionProviders(Context context) { 
     return null; 
    } 
} 

jedoch die Codebasis ich mit Arbeit bin nicht über diese Schnittstelle implementieren, überall in der Anwendung . Verwirrt, nahm ich einen Blick auf die Abhängigkeiten und bemerkte die folgende Abhängigkeit:

compile 'com.google.android.gms:play-services-cast:$androidGoogleServicesVersion'

Das war seltsam, da die Führung mit empfiehlt nach dem statt:

compile 'com.google.android.gms:play-services-cast-framework:10.0.1'

die Unterschiede zwischen googeln Die com.google.android.gms:play-services-cast-framework-Bibliothek und die com.google.android.gms:play-services-cast-Bibliothek gaben keine brauchbaren Ergebnisse zurück.

Darüber hinaus konnte ich diese Bibliotheken entweder jcenter oder maven nicht finden.

Meine Fragen:

  1. Was sind die Unterschiede zwischen com.google.android.gms:play-services-cast-framework und com.google.android.gms:play-services-cast sind?
  2. Wo werden diese Bibliotheken gehostet?

Vielen Dank!

Antwort

1

So ist es viel zu hier auspacken ...

1. Es klingt wie Ihre Anwendung CCL verwendet, der eine modifizierte Version des v2 Client ist. Sie können dies überprüfen, indem Sie den Build.gradle Ihrer App nach der Abhängigkeit "com.google.android.libraries.cast.companionlibrary: ccl" durchsuchen. Dies erfordert com.google.android.gms: play-services-cast statt com.google.android.gms: play-services-cast-framework, obwohl play-services-cast eine transitive Abhängigkeit von play-services-cast- Rahmen, so wird es implizit enthalten sein. CastOptionsProvider ist eine neue Sache für die v3-Cast-API. ($ AndroidGoogleServicesVersion ist eine groovige Variable, die die Versionsnummer bereitstellt und sollte woanders gesetzt werden, wie in Ihren Projekten Top-Level-Build-Datei. Dies stellt die 10.0.1.)

CCL https://github.com/googlecast/CastCompanionLibrary-android

CCL -> v3 Migration https://developers.google.com/cast/v2/ccl_migrate_sender

2. Diese Bibliotheken werden entweder von Ihrem lokalen SDK gezogen. Im SDK-Tool befindet es sich unter SDK Tools/Google Play-Dienste. Jetzt kann es aus Googles Maven Repo gezogen werden, das über die Anleitung hier eingerichtet werden kann: https://developer.android.com/studio/build/dependencies.html#google-maven. Als Hinweis können Sie in AndroidStudio 3.0 einfach google() verwenden, um es zu laden.

Verwandte Themen