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

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

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

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

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" />
    

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

สร้างข้อยกเว้นของ 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