การตั้งค่าสำหรับการพัฒนาด้วย 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.5.0'
        }
    

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

    หมายเหตุ: หากจำนวนการอ้างอิงเมธอดในแอปเกินขีดจำกัด 65, 000 รายการ แอปอาจคอมไพล์ไม่สำเร็จ คุณอาจลดปัญหานี้เมื่อรวบรวมแอปได้โดยระบุเฉพาะ 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