All Products
Search
Document Center

HTTPDNS:Praktik terbaik untuk HTTPDNS dan ExoPlayer Android

Last Updated:Nov 10, 2025

Dokumen proses integrasi SDK Android menjelaskan proses lengkap impor dan konfigurasi SDK Android, penguraian alamat IP, penerapan pengaturan ke pustaka jaringan Anda, serta verifikasi integrasi. Topik ini menjelaskan cara mengintegrasikan HTTPDNS dengan ExoPlayer menggunakan OkHttp.

1. Latar Belakang

Media3 adalah solusi yang direkomendasikan oleh Google untuk menciptakan pengalaman audio dan video. Media3 menyediakan arsitektur sederhana dengan penyesuaian kuat, keandalan, serta optimasi berdasarkan fitur perangkat guna menghilangkan kompleksitas akibat fragmentasi, sehingga aplikasi Android dapat menampilkan pengalaman audiovisual yang kaya. ExoPlayer merupakan implementasi default dari antarmuka Player di Media3.

ExoPlayer menggunakan DataSource untuk membaca data sumber daya dari URI. Secara default, DefaultHttpDataSource membaca sumber daya dari jaringan dan memanfaatkan HttpURLConnection untuk menangani permintaan jaringan. ExoPlayer juga menyediakan ekstensi OkHttpDataSource, yang menggunakan pustaka jaringan OkHttp untuk menangani permintaan jaringan.

OkHttp menyediakan antarmuka untuk layanan DNS kustom, yang memungkinkan integrasi HTTPDNS secara mudah. Oleh karena itu, OkHttpDataSource merupakan sumber data yang direkomendasikan.

2. Menambahkan SDK Ekstensi OkHttp

Pilih SDK Ekstensi OkHttp yang sesuai berdasarkan versi ExoPlayer yang digunakan.

  • Jika Anda menggunakan versi ExoPlayer di bawah androidx media, tambahkan dependensi berikut:

implementation "androidx.media3:media3-datasource-okhttp:x.x.x"
Catatan

Versi SDK Ekstensi OkHttp harus sesuai dengan versi SDK ExoPlayer.

Jika Anda menggunakan ExoPlayer2, tambahkan dependensi berikut:

implementation "com.google.android.exoplayer:extension-okhttp:x.x.x"
Catatan

Versi SDK Ekstensi OkHttp harus sesuai dengan versi SDK ExoPlayer.

3. Menggunakan SDK Ekstensi OkHttp

Saat menginisialisasi ExoPlayer, gunakan SDK Ekstensi OkHttp.

Catatan

Kode SDK Ekstensi OkHttp yang digunakan untuk kedua versi ExoPlayer adalah sama.

val player: ExoPlayer = ExoPlayer.Builder(context)
    .setMediaSourceFactory(
        DefaultMediaSourceFactory(
            OkHttpDataSource.Factory(
                Call.Factory { 
                    // Ganti nilai ini dengan instance OkHttpClient di proyek Anda.
                    request -> client.newCall(request) 
                })
        )
    )
    .build()
ExoPlayer player = new ExoPlayer.Builder(context)
        .setMediaSourceFactory(new DefaultMediaSourceFactory(new OkHttpDataSource.Factory(new Call.Factory() {
                    @NonNull
                    @Override
                    public Call newCall(@NonNull Request request) {
                        // Ganti nilai ini dengan instance OkHttpClient di proyek Anda.
                        return client.newCall(request);
                    }
                })))
        .build();

4. Menggunakan HTTPDNS dengan OkHttp

Terakhir, integrasikan HTTPDNS ke dalam pustaka jaringan OkHttp. Untuk langkah-langkah integrasi spesifik, lihat Praktik Terbaik untuk Android HTTPDNS+OkHttp.