Điều kiện tiên quyết
- Cài đặt phiên bản mới nhất của SDK Android bằng Trình quản lý SDK Android.
- Cài đặt phiên bản mới nhất của Thư viện AndroidX appcompat và mediarouter thông qua Trình quản lý SDK Android.
- Cài đặt SDK Truyền mới nhất trong Dịch vụ Google Play thông qua Trình quản lý SDK Android.
SDK Google Cast cho Android là một phần của SDK Dịch vụ Google Play và không cần tải xuống riêng.
Lưu ý: Dịch vụ Google Play cho phép bạn truy cập vào một loạt API để xây dựng quảng cáo, thu thập dữ liệu phân tích, xác thực người dùng, tích hợp bản đồ và nhiều tính năng khác. Để biết thêm thông tin, hãy xem bài viết Tổng quan về Dịch vụ Google Play. Bạn cần đảm bảo rằng thiết bị của người dùng đã cài đặt đúng tệp APK của Dịch vụ Google Play vì có thể không phải người dùng nào cũng nhận được bản cập nhật ngay lập tức.
Thêm Dịch vụ Google Play vào dự án
Chọn môi trường phát triển của bạn bên dưới và thêm Dịch vụ Google Play vào dự án bằng cách làm theo các bước được cung cấp.
Android Studio
Cách cung cấp API Dịch vụ Google Play cho ứng dụng:
- Mở tệp
build.gradletrong thư mục mô-đun ứng dụng.Lưu ý: Các dự án Android Studio chứa một tệp
build.gradlecấp cao nhất và một tệpbuild.gradlecho mỗi mô-đun. Hãy nhớ chỉnh sửa tệp cho mô-đun ứng dụng của bạn. Hãy xem bài viết Xây dựng dự án bằng Gradle để biết thêm thông tin về Gradle. - Xác minh rằng
google()có trongrepositoriesđược liệt kê.repositories {google() } - Thêm một quy tắc bản dựng mới trong
dependenciescho phiên bản mới nhất củaplay-services. Ví dụ: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:23.0.0' }
Hãy nhớ cập nhật số phiên bản này mỗi khi Dịch vụ Google Play được cập nhật.
Lưu ý: Nếu số lượng tham chiếu phương thức trong ứng dụng của bạn vượt quá giới hạn 65 nghìn, thì ứng dụng của bạn có thể không biên dịch được. Bạn có thể giảm thiểu vấn đề này khi biên dịch ứng dụng bằng cách chỉ chỉ định các API Dịch vụ Google Play cụ thể mà ứng dụng của bạn sử dụng, thay vì tất cả các API. Để biết thông tin về cách thực hiện việc này, hãy xem bài viết Biên dịch có chọn lọc các API vào tệp thực thi.
- Lưu các thay đổi rồi nhấp vào Sync Project with Gradle Files (Đồng bộ hoá dự án với tệp Gradle) trên thanh công cụ.
IDE khác
Cách cung cấp API Dịch vụ Google Play cho ứng dụng:
- Sao chép dự án thư viện tại
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/vào vị trí bạn duy trì các dự án ứng dụng Android. - Trong dự án ứng dụng, hãy tham chiếu dự án thư viện Dịch vụ Google Play. Hãy xem phần
Tham chiếu Dự án thư viện trên dòng lệnh để biết thêm thông tin về cách thực hiện việc này.
Lưu ý: Bạn nên tham chiếu một bản sao của thư viện mà bạn đã sao chép vào không gian làm việc phát triển của mình, chứ không nên tham chiếu trực tiếp thư viện từ thư mục SDK Android.
- Sau khi bạn thêm thư viện Dịch vụ Google Play làm phần phụ thuộc cho dự án ứng dụng, hãy mở tệp kê khai của ứng dụng rồi thêm thẻ sau đây làm thẻ con của phần tử
<application>:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Sau khi thiết lập dự án để tham chiếu đến dự án thư viện, bạn có thể bắt đầu phát triển các tính năng bằng API Dịch vụ Google Play.
Tạo một ngoại lệ Proguard
Để ngăn ProGuard loại bỏ các lớp bắt buộc, hãy thêm các dòng sau vào tệp :
-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