การตั้งค่าสำหรับการพัฒนาด้วย Cast Application Framework (CAF) สำหรับ Android

ข้อกำหนดเบื้องต้น

Google Cast SDK สำหรับ Android เป็นส่วนหนึ่งของ SDK บริการ Google Play และไม่จำเป็นต้องดาวน์โหลดแยกต่างหาก

หมายเหตุ: บริการ Google Play ช่วยให้คุณเข้าถึง API ต่างๆ เพื่อสร้างโฆษณา รวบรวมข้อมูลวิเคราะห์ ตรวจสอบสิทธิ์ผู้ใช้ ผสานรวมแผนที่ และอื่นๆ อีกมากมาย ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของบริการ Google Play คุณจำเป็นต้องตรวจสอบว่าได้ติดตั้ง APK ของบริการ Google Play ที่ถูกต้องในอุปกรณ์ของผู้ใช้แล้ว เนื่องจากการอัปเดตอาจไม่ส่งถึงผู้ใช้ทุกคนโดยทันที

เพิ่มบริการ Google Play ลงในโปรเจ็กต์

เลือกสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ด้านล่างและเพิ่มบริการ Google Play ลงในโปรเจ็กต์โดยทำตามขั้นตอนที่ให้ไว้

Android Studio

ในการทำให้ API บริการ Google Play ใช้งานได้กับแอปของคุณ ให้ทำดังนี้

  1. เปิดไฟล์ build.gradle ในไดเรกทอรีโมดูลแอปพลิเคชัน

    หมายเหตุ: โปรเจ็กต์ Android Studio จะมีไฟล์ build.gradle ระดับบนสุดและไฟล์ build.gradle สำหรับแต่ละโมดูล อย่าลืมแก้ไขไฟล์สำหรับโมดูลแอปพลิเคชัน ดูข้อมูลเพิ่มเติมเกี่ยวกับ Gradle ได้ที่ การสร้างโครงการด้วย Gradle

  2. ยืนยันว่า google() รวมอยู่ใน repositories ที่ระบุ
    repositories {
        google()
    }
    
  3. เพิ่มกฎการสร้างใหม่ในส่วน dependencies สำหรับ play-services เวอร์ชันล่าสุด ตัวอย่างเช่น
    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.4.0'
        }
    

    อย่าลืมอัปเดตหมายเลขเวอร์ชันนี้ทุกครั้งที่บริการ Google Play มีการอัปเดต

    หมายเหตุ: หากจำนวนการอ้างอิงเมธอดในแอปเกินขีดจำกัด 6.5 หมื่นรายการ แอปอาจคอมไพล์ไม่ได้ คุณอาจลดปัญหานี้ได้เมื่อคอมไพล์แอปโดยระบุเฉพาะ API ของบริการ Google Play ที่เจาะจงที่แอปใช้ แทนที่จะระบุ API ทั้งหมด โปรดดูวิธีดำเนินการที่หัวข้อเลือกคอมไพล์ API ลงในไฟล์ปฏิบัติการ

  4. บันทึกการเปลี่ยนแปลงแล้วคลิกซิงค์โปรเจ็กต์ด้วยไฟล์ Gradle ในแถบเครื่องมือ

IDE อื่นๆ

ในการทำให้ API บริการ Google Play ใช้งานได้กับแอปของคุณ ให้ทำดังนี้

  1. คัดลอกโปรเจ็กต์ไลบรารีที่ <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ ไปยังตำแหน่งที่คุณดูแลโปรเจ็กต์แอป Android
  2. ในโปรเจ็กต์แอป ให้อ้างอิงโปรเจ็กต์ไลบรารีของบริการ Google Play ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธี อ้างอิงโครงการห้องสมุดในบรรทัดคำสั่ง

    หมายเหตุ: คุณควรอ้างอิงสำเนาของไลบรารีที่คัดลอกไปยังพื้นที่ทำงานการพัฒนา และไม่ควรอ้างอิงไลบรารีจากไดเรกทอรี Android SDK โดยตรง

  3. หลังจากที่เพิ่มไลบรารีบริการ Google Play เป็นทรัพยากร Dependency สำหรับโปรเจ็กต์แอปแล้ว ให้เปิดไฟล์ Manifest ของแอปแล้วเพิ่มแท็กต่อไปนี้เป็นแท็กย่อยขององค์ประกอบ <application>
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

เมื่อตั้งค่าโปรเจ็กต์เพื่ออ้างอิงโปรเจ็กต์ไลบรารีแล้ว คุณจะเริ่มพัฒนาฟีเจอร์ด้วย API ของบริการ Google Play ได้

สร้างข้อยกเว้น Proguard

เพื่อป้องกันไม่ให้ ProGuard ลบคลาสที่จำเป็นออก ให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ /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