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 library 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.43.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 (jejak tumpukan) di Firebase Crashlytics, jika Anda mengalami crash di SDK pemutar IVS; 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, 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 Anda disiapkan untuk Firebase Crashlytics. Ikuti instruksi Google di sini:
https://firebase.google.com/docs/crashlytics/ndk-laporan
Pastikan untuk memasukkan com.google.firebase:firebase-crashlytics-ndk
sebagai ketergantungan.
Saat membuat aplikasi Anda untuk rilis, plugin Firebase Crashlytics akan 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 Anda .apk dari Menjadi Lebih Besar
Sebelum mengemas .apk
file rilis, Plugin Android Gradle secara otomatis mencoba menghapus informasi debug dari library bersama (termasuk library SDK pemutar IVS). libplayercore.so
Namun, terkadang hal 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 Android NDK. Versi terbaru apa pun akan berfungsi.
-
Tambahkan
ndkVersion <your_installed_ndk_version_number>
kebuild.gradle
file aplikasi Anda. Lakukan ini bahkan jika aplikasi Anda sendiri tidak mengandung kode asli.
Untuk informasi selengkapnya, lihat laporan masalah
Membuat Player dan Mengatur 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);
Bergantian, 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 listener dijalankan di thread utama aplikasi Android Anda.
Mengatur Tampilan Permukaan untuk Video
Jika tidak menggunakan PlayerView
add a 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 menelepongetHolder()
. (Lihat SurfaceViewSurfaceHolder.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); } }
Mainkan Streaming
Karena aliran dimuat secara asinkron, pemain harus dalam READY
keadaan sebelum aplikasi Anda dapat memanggil play
metode untuk memulai pemutaran. Gunakan Player.Listener
antarmuka untuk menentukan kapan pemain dalam kondisi 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 ini harus dipanggil ketika pemain tidak lagi digunakan, untuk membebaskan sumber daya yang digunakan oleh perpustakaan. Biasanya ini dilakukan dalam onDestroy
callback Aktivitas atau Fragmen yang berisi pemain.
@Override protected void onDestroy() { super.onDestroy(); player.removeListener(this); player.release(); }
Setelah player.release()
metode ini disebut pemain tidak bisa 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 untuk utas. Semua panggilan yang dilakukan ke instance pemain harus dari utas yang sama.
Ukuran SDK
Pemutar Amazon IVS SDKs 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. Sebaiknya gunakan Android App Bundle