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