Konfiguracja programowania za pomocą platformy Cast Application Framework (CAF) na Androida

Wymagania wstępne

Pakiet Google Cast SDK na Androida jest częścią pakietu SDK Usług Google Play. nie trzeba pobierać osobno.

Uwaga: Usługi Google Play zapewniają dostęp do zakresu interfejsów API do tworzenia reklam, zbierania danych analitycznych, uwierzytelniania użytkowników integrowanie map i nie tylko. Więcej informacji znajdziesz w artykule Omówienie Google Play. Usługi. Musisz upewnić się, że właściwy plik APK Usług Google Play jest zainstalowano na urządzeniu użytkownika, bo aktualizacje mogą nie dotrzeć od razu do wszystkich użytkowników.

Dodaj Usługi Google Play do projektu

Wybierz poniżej środowisko programistyczne i dodaj Usługi Google Play do projektu przez zgodnie z podanymi instrukcjami.

Android Studio

Aby udostępnić w aplikacji interfejsy API Usług Google Play:

  1. Otwórz plik build.gradle w katalogu modułu aplikacji.

    Uwaga: projekty Android Studio zawierają build.gradle i build.gradle dla każdego modułu. Koniecznie edytuj plik modułu aplikacji. Zobacz kompiluję projekt przy użyciu Gradle, aby dowiedzieć się więcej o Gradle.

  2. Sprawdź, czy google() znajduje się na liście repositories.
    repositories {
        google()
    }
    
  3. Dodaj nową regułę kompilacji w dependencies dla najnowszej wersji play-services Na przykład:
    apply plugin: 'com.android.application'
        ...
    
        dependencies {
            implementation 'androidx.appcompat:appcompat:1.3.1'
            implementation 'androidx.mediarouter:mediarouter:1.2.5'
            implementation 'com.google.android.gms:play-services-cast-framework:21.5.0'
        }
    

    Pamiętaj, aby aktualizować ten numer przy każdej aktualizacji Usług Google Play.

    Uwaga: jeśli liczba odwołań do metod w aplikacji przekracza 65 tys., aplikacja może nie spełniać tych wymagań kompilować. Możesz zapobiec temu problemowi podczas kompilowania aplikacji, określając tylko określonych interfejsów API Usług Google Play, z których korzysta Twoja aplikacja, a nie wszystkich. Informacje na temat jak to zrobić, zobacz Selektywne kompilowanie interfejsów API w plikach wykonywalnych.

  4. Zapisz zmiany i na pasku narzędzi kliknij Synchronizuj projekt z plikami Gradle.

Inne IDE

Aby udostępnić w aplikacji interfejsy API Usług Google Play:

  1. Skopiuj projekt biblioteki ze strony <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ w lokalizacji, w której przechowujesz projekty aplikacji na Androida.
  2. W projekcie aplikacji odwołuj się do projektu biblioteki Usług Google Play. Zobacz odwoływanie się do projektu bibliotecznego Library Project w wierszu poleceń, aby dowiedzieć się, jak to zrobić.

    Uwaga: musisz podać kopię biblioteki, do której zostało skopiowane do obszaru roboczego programowania – nie odwołuj się do biblioteki bezpośrednio z poziomu Katalog pakietu Android SDK.

  3. Gdy dodasz bibliotekę usług Google Play jako zależność projektu aplikacji, otwórz plik manifestu aplikacji i dodaj ten tag jako element podrzędny tagu Element <application>:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

Po skonfigurowaniu w swoim projekcie odwołań do projektu bibliotecznego możesz zacząć tworzyć wraz z funkcjami interfejsów API Usług Google Play.

Utwórz wyjątek ProGuard

Aby zapobiegać ProGuard wymaganych klas, dodaj następujące wiersze w Plik /proguard-project.txt:

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames class * implements android.os.Parcelable
-keepclassmembers class * implements android.os.Parcelable {
  public static final *** CREATOR;
}

-keep @interface android.support.annotation.Keep
-keep @android.support.annotation.Keep class *
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <methods>;
}

-keep @interface com.google.android.gms.common.annotation.KeepName
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
  @com.google.android.gms.common.annotation.KeepName *;
}

-keep @interface com.google.android.gms.common.util.DynamiteApi
-keep public @com.google.android.gms.common.util.DynamiteApi class * {
  public <fields>;
  public <methods>;
}

-dontwarn android.security.NetworkSecurityPolicy