2017-07-28 94 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()加载它。