Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai dengan IVS Android Player SDK
Dokumen ini membawa Anda melalui langkah-langkah yang terlibat dalam memulai dengan Amazon IVS Android player SDK.
Instal Perpustakaan
Untuk menambahkan pustaka pemutar Android Amazon IVS ke lingkungan pengembangan Android Anda, tambahkan pustaka ke build.gradle file modul Anda, seperti yang ditunjukkan di sini (untuk versi terbaru pemutar Amazon IVS).
repositories { mavenCentral() } dependencies { implementation 'com.amazonaws:ivs-player:1.55.0' }
Sebagai alternatif, untuk menginstal SDK secara manual, unduh versi terbaru dari lokasi ini:
Menggunakan SDK dengan Simbol Debug
Kami juga menerbitkan versi SDK pemutar Android yang menyertakan simbol debug. Anda dapat menggunakan versi ini untuk meningkatkan kualitas laporan debug (pelacakan tumpukan) di Firebase Crashlytics, jika Anda mengalami crash di IVS player SDK; yaitu. libplayercore.so Saat Anda melaporkan crash ini ke tim IVS SDK, jejak tumpukan berkualitas lebih tinggi memudahkan untuk memperbaiki masalah.
Untuk menggunakan versi SDK ini, di file build Gradle Anda, ganti baris ini:
implementation "com.amazonaws:ivs-player:$version@aar"
dengan ini:
implementation "com.amazonaws:ivs-player:$version:unstripped@aar"
Mengunggah Simbol ke Firebase Crashlytics
Pastikan file build Gradle sudah disiapkan untuk Firebase Crashlytics. Ikuti instruksi Google di sini:
https://firebase.google.com/docs/crashlytics/ndk-reports
Pastikan untuk memasukkan com.google.firebase:firebase-crashlytics-ndk sebagai ketergantungan.
Saat membuat aplikasi untuk rilis, plugin Firebase Crashlytics harus mengunggah simbol secara otomatis. Untuk mengunggah simbol secara manual, jalankan salah satu dari berikut ini:
gradle uploadCrashlyticsSymbolFileRelease
./gradlew uploadCrashlyticsSymbolFileRelease
(Tidak ada salahnya jika simbol diunggah dua kali, baik secara otomatis maupun manual.)
Mencegah Rilis .apk Anda Menjadi Lebih Besar
Sebelum mengemas .apk file rilis, Plugin Gradle Android secara otomatis mencoba menghapus informasi debug dari pustaka bersama (termasuk pustaka SDK pemutar IVS). libplayercore.so Namun, terkadang ini tidak terjadi. Dalam hal ini, .apk file Anda bisa menjadi lebih besar dan Anda bisa mendapatkan pesan peringatan dari Plugin Android Gradle bahwa itu tidak dapat menghapus simbol debug dan mengemas .so file apa adanya. Jika ini terjadi, lakukan hal berikut:
-
Instal NDK Android. Versi terbaru apa pun akan berfungsi.
-
Tambahkan
ndkVersion <your_installed_ndk_version_number>kebuild.gradlefile aplikasi Anda. Lakukan ini bahkan jika aplikasi Anda sendiri tidak mengandung kode asli.
Untuk informasi selengkapnya, lihat laporan masalah ini
Buat Player dan Siapkan Event Listener
Antarmuka pemain adalahcom.amazonaws.ivs.player.Player. Inisialisasi seperti yang ditunjukkan di bawah ini:
// Create a player instance // <this> refers to the current Android Activity player = Player.Factory.create(this); // Set up to receive playback events and errors player.addListener(this);
Sebagai alternatif, inisialisasi dengan menggunakan: PlayerView
// Create a player instance // <this> refers to the current Android Activity PlayerView playerView = new PlayerView(this); Player player = playerView.getPlayer(); // Set up to receive playback events and errors player.addListener(this);
Catatan: Metode callback pendengar dijalankan di utas utama aplikasi Android Anda.
Mengatur Tampilan Permukaan untuk Video
Jika tidak menggunakan PlayerView tambahkan SurfaceView ke tata letak UI Android Anda untuk menampilkan video. Ini Surface harus tersedia sebelum Anda dapat memutar aliran video apa pun. Anda dapat mengakses permukaan yang mendasarinya melalui SurfaceHolder antarmuka, yang diambil dengan memanggilgetHolder(). (Lihat SurfaceView SurfaceHolder.Callback untuk menerima peristiwa tentang perubahan permukaan (lihat SurfaceHolder.Callback
surfaceView = (SurfaceView) findViewById(R.id.surfaceView); surfaceView.getHolder().addCallback(this); @Override public void surfaceCreated(SurfaceHolder holder) { this.surface = holder.getSurface(); if (player != null) { player.setSurface(this.surface); } } @Override public void surfaceDestroyed(SurfaceHolder holder) { this.surface = null; if (player != null) { player.setSurface(null); } }
Putar Streaming
Karena aliran dimuat secara asinkron, pemutar harus dalam READY keadaan sebelum aplikasi Anda dapat memanggil play metode untuk memulai pemutaran. Gunakan Player.Listener antarmuka untuk menentukan kapan pemain berada dalam keadaan yang benar.
Lihat kode contoh berikut:
player.load(Uri.parse(url)); @Override public void onStateChanged(Player.State state) { switch (state) { case BUFFERING: // player is buffering break; case READY: player.play(); break; case IDLE: break; case PLAYING: // playback started break; } }
Lepaskan Pemain
player.release()Metode harus dipanggil ketika pemain tidak lagi digunakan, untuk membebaskan sumber daya yang digunakan oleh perpustakaan. Biasanya ini dilakukan dalam onDestroy callback Activity atau Fragment yang berisi pemain.
@Override protected void onDestroy() { super.onDestroy(); player.removeListener(this); player.release(); }
Setelah player.release() metode ini disebut pemain tidak dapat lagi digunakan.
Izin
SDK pemutar Android memerlukan izin berikut:
<uses-permission android:name="android.permission.INTERNET" />
Selain itu, izin opsional ini dapat meningkatkan pengalaman pemutaran:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Keamanan Benang
API pemain tidak aman utas. Semua panggilan yang dilakukan ke instance pemain harus dari thread yang sama.
Ukuran SDK
SDK pemutar Amazon IVS dirancang agar seringan mungkin. Untuk informasi terkini tentang ukuran SDK, lihat Catatan Rilis.
Penting: Saat mengevaluasi dampak ukuran, ukuran yang AAB/APK dihasilkan oleh Android Studio tidak mewakili ukuran aplikasi yang diunduh ke perangkat pengguna. Google Play Store melakukan pengoptimalan untuk mengurangi ukuran aplikasi Anda. Kami menyarankan Anda menggunakan Bundel Aplikasi Android