2017-07-28 90 views
0

我試圖熟悉Google Cast,它是Android應用程序中的用法。我正在使用的代碼庫有一個工作集成,但與official guides相比似乎有各種差異。Google Cast和Android

例如,在指南中的第一步是實現OptionsProvider接口,就像這樣:

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; 
    } 
} 

然而,我的工作基本代碼不會在任何地方應用實現這個接口。困惑,我看了看依賴性並注意到以下依賴性:

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

這很奇怪,因爲指南建議改爲使用下列內容:

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

谷歌搜索之間的差異com.google.android.gms:play-services-cast-framework庫和com.google.android.gms:play-services-cast庫沒有返回可用的結果。

此外,我無法在jcentermaven上找到這些庫。

我的問題:

  1. 什麼是com.google.android.gms:play-services-cast-frameworkcom.google.android.gms:play-services-cast之間的區別是什麼?
  2. 這些庫在哪裏託管?

謝謝!

回答

1

所以有很多在這裏解壓...

這聽起來像您的應用使用CCL,這是V2客戶端的修改版本。您可以通過搜索「com.google.android.libraries.cast.companionlibrary:ccl」依賴項的應用程序的build.gradle來驗證此情況。這需要com.google.android.gms:play-services-cast而不是com.google.android.gms:play-services-cast-framework,儘管play-services-cast是play-services-cast-框架,所以它將被隱式包含。 CastOptionsProvider是v3 cast API的新功能。 ($ androidGoogleServicesVersion是提供版本號,並應在項目頂層構建文件中設置其他地方,像一個常規變量。這代表了10.0.1。)

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

CCL - > V3遷移 https://developers.google.com/cast/v2/ccl_migrate_sender

2. 這些庫無論是從當地的SDK拉。在SDK工具中,它位於SDK Tools/Google Play服務下。現在它可以從谷歌的maven回購,這可以通過這裏的指示設置:https://developer.android.com/studio/build/dependencies.html#google-maven。請注意,在AndroidStudio 3.0中,您可以使用google()加載它。