commit
7a091e629b
3 changed files with 263 additions and 1 deletions
92
docs-translations/id/tutorial/using-widevine-cdm-plugin.md
Normal file
92
docs-translations/id/tutorial/using-widevine-cdm-plugin.md
Normal file
|
@ -0,0 +1,92 @@
|
|||
# Menggunakan *Plugin Widevine CDM*
|
||||
|
||||
Di Electron, anda dapat menggunakan *plugin Widevine CDM* yang disertakan dengan
|
||||
*browser* Chrome.
|
||||
|
||||
## Mendapatkan *plugin*
|
||||
|
||||
Elektron tidak disertakan dengan *plugin Widevine CDM* karena alasan lisensi,
|
||||
untuk mendapatkanny, anda perlu menginstal *browser* Chrome resmi terlebih dahulu,
|
||||
yang seharusnya cocok dengan arsitektur dan versi Chrome dari Elektron yang anda
|
||||
gunakan.
|
||||
|
||||
**Catatan:** Versi utama *browser* Chrome harus sama dengan versi Chrome yang
|
||||
digunakan oleh Electron, jika tidak cocok, *plugin* tidak akan bekerja sekalipun
|
||||
`Navigator.plugins` akan menunjukkan bahwa ia telah dimuat.
|
||||
|
||||
### Windows & macOS
|
||||
|
||||
Buka `chrome://components/` di *browser* Chrome, cari `WidevineCdm` dan pastikan
|
||||
apabila itu *up-to-date*, maka Anda dapat menemukan semua plugin binari dari direktori
|
||||
`APP_DATA / Google / Chrome / WidevineCDM / VERSION / _platform_specific / PLATFORM_ARCH /`.
|
||||
|
||||
|
||||
|
||||
`APP_DATA` adalah lokasi sistem untuk menyimpan data aplikasi, di sistem Windows
|
||||
itu ada di `% LOCALAPPDATA%`, di macOS itu ada di `~ / Library / Application Support`.
|
||||
`VERSION` adalah versi *Widevine CDM plugin*, seperti `1.4.8.866`. `PLATFORM` adalah `mac`
|
||||
atau `win`. `ARCH` adalah` x86` atau `x64`.
|
||||
|
||||
Di Windows, binari yang dibutuhkan adalah `widevinecdm.dll` dan
|
||||
`Widevinecdmadapter.dll`, di macOS adalah` libwidevinecdm.dylib` dan
|
||||
`Widevinecdmadapter.plugin`. Anda bisa menyalinnya ke manapun Anda suka, tapi
|
||||
mereka harus di letakkan bersama.
|
||||
|
||||
|
||||
### Linux
|
||||
|
||||
|
||||
Di Linux, binari plugin disertakan bersama dengan *browser* Chrome, anda bisa
|
||||
menemukannya di `/ opt / google / chrome`, nama filenya adalah` libwidevinecdm.so` dan
|
||||
`Libwidevinecdmadapter.so`.
|
||||
|
||||
|
||||
|
||||
## Menggunakan *plugin*
|
||||
|
||||
Setelah mendapatkan *file* plugin, anda harus meneruskan `widevinecdmadapter`
|
||||
ke Electron dengan baris perintah penghubung `--widevine-cdm-path`, dan versi
|
||||
pluginnya dengan pengubung `--widevine-cdm-version`.
|
||||
|
||||
**Catatan:** Meskipun hanya binari `widevinecdmadapter` yang dilewatkan ke Electron, binari
|
||||
`Widevinecdm` harus disertakan bersama.
|
||||
|
||||
Penghubung baris perintah harus dilewati sebelum `ready` dari` app` modul dipancarkan,
|
||||
dan halaman yang menggunakan plugin ini harus mempunyai *plugin* yang sudah diaktifkan.
|
||||
|
||||
|
||||
Contoh kode:
|
||||
|
||||
```javascript
|
||||
const {app, BrowserWindow} = require('electron')
|
||||
|
||||
// Anda harus melewatkan filename `widevinecdmadapter` di sini, yang disebut adalah:
|
||||
// * `widevinecdmadapter.plugin` on macOS,
|
||||
// * `libwidevinecdmadapter.so` on Linux,
|
||||
// * `widevinecdmadapter.dll` on Windows.
|
||||
app.commandLine.appendSwitch('widevine-cdm-path', '/path/to/widevinecdmadapter.plugin')
|
||||
// Versi plugin dapat didapatkan dari halaman `chrome://plugins` di Chrome.
|
||||
app.commandLine.appendSwitch('widevine-cdm-version', '1.4.8.866')
|
||||
|
||||
let win = null
|
||||
app.on('ready', () => {
|
||||
win = new BrowserWindow({
|
||||
webPreferences: {
|
||||
// `plugins` harus diaktifkan.
|
||||
plugins: true
|
||||
}
|
||||
})
|
||||
win.show()
|
||||
})
|
||||
```
|
||||
|
||||
## Verifikasi plugin
|
||||
|
||||
Untuk memverifikasi jika plugin telah berhasil, anda dapat menggunakan cara berikut:
|
||||
|
||||
* Buka *devtools* dan periksa apakah `navigator.plugins` menyertakan *Widevine
|
||||
Plugin CDM*
|
||||
* Buka https://shaka-player-demo.appspot.com/ dan muat manifes yang menggunakan
|
||||
`Widevine`.
|
||||
* Buka http://www.dash-player.com/demo/drm-test-area/, periksa apakah di halamannya
|
||||
terdapat `bitdash uses Widevine in your browser`, lalu putar videonya.
|
170
docs-translations/id/tutorial/windows-store-guide.md
Normal file
170
docs-translations/id/tutorial/windows-store-guide.md
Normal file
|
@ -0,0 +1,170 @@
|
|||
# Panduan Windows Store
|
||||
|
||||
Dengan Windows 8, eksekusi win32 yg lama mendapatkan saudara yang baru: *The
|
||||
Universal Windows Platform*. Format `.appx` yang baru tidak hanya memungkinkan
|
||||
sejumlah API yang baru dan hebat seperti *Cortana* atau *Push Notifications*,
|
||||
tetapi juga melalui *Windows Store*, ini akan menyederhanakan instalasi dan update.
|
||||
|
||||
Microsoft [telah mengembangkan sebuah alat yang mengkompilasi aplikasi Elektron sebagai paket `.appx`][electron-windows-store], memungkinkan *developer* untuk menggunakan beberapa
|
||||
sarana yang dapat ditemukan di model aplikasi baru. Panduan ini menjelaskan cara
|
||||
menggunakannya - dan kemampuan dan keterbatasan paket Electron AppX.
|
||||
|
||||
## Latar Belakang dan Persyaratan
|
||||
|
||||
Windows 10 "Anniversary Update" dapat menjalankan win32 `.exe` *binaries* dengan cara
|
||||
meluncurkan mereka bersama-sama dengan *filesystem* virtual dan pendaftaran . Keduanya
|
||||
dibuat saat kompilasi dengan menjalankan aplikasi and instalasi di dalam *Windows
|
||||
Container*, memungkinkan *Windows* untuk mengidentifikasi secara tepat modifikasi
|
||||
sistem operasi mana yang dilakukan saat instalasi. Memasangkan eksekusi
|
||||
*filesystem* virtual dan pendaftaran virtual yang memungkinkan *Windows* untuk
|
||||
menjalankan *one-click* instalasi and menghapus instalasi.
|
||||
|
||||
Selain itu, exe diluncurkan di dalam bentuk appx - yang berarti bisa menggunakan
|
||||
API banyak yang tersedia di *Windows Universal Platform*. Untuk mendapatkan
|
||||
kemampuan yang lebih, aplikasi Electron dapat dipasangkan dengan *UWP background task*
|
||||
tersembunyi yang dapat diluncurkan bersamaan dengan `exe` - seperti diluncurkan
|
||||
sebagai dampingan untuk menjalankan *tasks* yang berjalan di *background*,
|
||||
menerima *push-notification*, atau untuk berkomunikasi dengan aplikasi UWP lainnya.
|
||||
|
||||
Untuk mengkompilasi aplikasi Elektron yang ada, pastikan anda memenuhi
|
||||
persyaratan berikut:
|
||||
|
||||
* Windows 10 with Anniversary Update (dikeluarkan August 2nd, 2016)
|
||||
* The Windows 10 SDK, [unduh disini][windows-sdk]
|
||||
* Setidaknya Node 4 (untuk mengecek, jalankan `node -v`)
|
||||
|
||||
|
||||
Kemudian, instal `electron-windows-store` CLI:
|
||||
|
||||
```
|
||||
npm install -g electron-windows-store
|
||||
```
|
||||
|
||||
## Step 1: Kemas Aplikasi Elektron Anda
|
||||
|
||||
Kemas aplikasi menggunakan [electron-packager][electron-packager] (atau alat serupa).
|
||||
Pastikan untuk menghapus `node_modules` yang tidak anda perlukan dalam aplikasi akhir
|
||||
anda, karena modul yang tidak anda butuhkan hanya akan meningkatkan ukuran aplikasi anda.
|
||||
|
||||
Outputnya kira-kira akan terlihat seperti ini:
|
||||
```
|
||||
├── Ghost.exe
|
||||
├── LICENSE
|
||||
├── content_resources_200_percent.pak
|
||||
├── content_shell.pak
|
||||
├── d3dcompiler_47.dll
|
||||
├── ffmpeg.dll
|
||||
├── icudtl.dat
|
||||
├── libEGL.dll
|
||||
├── libGLESv2.dll
|
||||
├── locales
|
||||
│ ├── am.pak
|
||||
│ ├── ar.pak
|
||||
│ ├── [...]
|
||||
├── natives_blob.bin
|
||||
├── node.dll
|
||||
├── resources
|
||||
│ ├── app
|
||||
│ └── atom.asar
|
||||
├── snapshot_blob.bin
|
||||
├── squirrel.exe
|
||||
└── ui_resources_200_percent.pak
|
||||
```
|
||||
|
||||
|
||||
## 2: Menjalankan *electron-windows-store*
|
||||
|
||||
Dari *PowerShell* (jalankan sebagai "Administrator"), jalankan
|
||||
`Electron-windows-store` dengan parameter yang dibutuhkan, menggunakan kedua
|
||||
direktori *input* dan *output*, nama dan versi aplikasi, dan konfirmasi
|
||||
`Node_modules` harus di *flatten*.
|
||||
|
||||
```
|
||||
electron-windows-store `
|
||||
--input-directory C:\myelectronapp `
|
||||
--output-directory C:\output\myelectronapp `
|
||||
--flatten true `
|
||||
--package-version 1.0.0.0 `
|
||||
--package-name myelectronapp
|
||||
```
|
||||
|
||||
Setelah dijalankan, alat ini akan mulai bekerja: Ia akan menerima aplikasi Elektron
|
||||
anda sebagai *input*, *flattening* `node_modules`. Kemudian, ia akan mengarsipkan
|
||||
aplikasi anda sebagai `app.zip`. Dengan menggunakan *installer* dan *Windows Container*
|
||||
, alat ini menciptakan paket AppX yang "diperluas" - termasuk *Windows Application
|
||||
Manifest* (`AppXManifest.xml`) berserta dengan sistem *virtual file* dan pendaftaran
|
||||
virtual di dalam map *output* anda.
|
||||
|
||||
|
||||
Setelah *file* AppX yang diperluas telah dibuat, alat ini menggunakan
|
||||
*Windows App Packager* (`MakeAppx.exe`) untuk menggabungkan paket AppX menjadi satu
|
||||
*file* dari file-file yang ada di *disk*. Akhirnya, alat ini juga bisa digunakan
|
||||
untuk membuat sertifikat terpercaya di komputer anda untuk menandatangani paket
|
||||
AppX yang baru. Dengan paket AppX yang telah ditandatangani, CLI juga bisa
|
||||
secara otomatis menginstal paket di mesin anda.
|
||||
|
||||
|
||||
## 3: Menggunakan Paket AppX
|
||||
|
||||
Untuk menjalankan paket, pengguna akan memerlukan Windows 10 dengan apa
|
||||
yang disebutnya *"Anniversary Update"* - rincian tentang cara memperbarui Windows
|
||||
dapat ditemukan [di sini][how-to-update].
|
||||
|
||||
Di sisi lain dari aplikasi-aplikasi UWP tradisional, aplikasi yang terpaket saat ini
|
||||
perlu menjalani proses verifikasi manual, yang dapat anda terapkan
|
||||
[disini][centennial-campaigns]. Sementara itu, semua pengguna bisa menginstal
|
||||
paket anda dengan mengklik dua kali, oleh sebab itu, pengiriman submisi ke toko
|
||||
tidak diperlukan jika anda hanya mencari metode instalasi yang mudah. Di lingkungan
|
||||
yang dikelola (biasanya perusahaan), `Add-AppxPackage` [PowerShell Cmdlet dapat digunakan untuk menginstalnya secara otomatis][add-appxpackage].
|
||||
|
||||
Keterbatasan penting lainnya adalah paket AppX yang telah dikompilasi masih berisi
|
||||
*Win32 executable* - dan karena itu tidak akan berjalan di *Xbox*, *HoloLens*,
|
||||
atau Telepon.
|
||||
|
||||
|
||||
## Opsional: Tambahkan Fitur UWP menggunakan *BackgroundTask*
|
||||
|
||||
Anda dapat memasangkan aplikasi Elektron Anda dengan tugas *background* UWP yang
|
||||
tersembunyi yang akan memanfaatkan sepenuhnya fitur Windows 10 - seperti *push-notification*,
|
||||
integrasi Cortana, atau *live tiles*.
|
||||
|
||||
Untuk mencari tahu bagaimana aplikasi Elektron yang menggunakan *background task*
|
||||
untuk mengirim *toast notification* dan *live tiles*, [lihat contoh yang disediakan Microsoft][background-task].
|
||||
|
||||
|
||||
## Opsional: Mengkonversi menggunakan *Container Virtualization*
|
||||
|
||||
Untuk menghasilkan paket AppX, `elektron-windows-store` CLI menggunakan *template*
|
||||
yang seharusnya bekerja untuk sebagian besar aplikasi Electron. Namun, jika anda
|
||||
menggunakan *custom installer*, atau jika anda mengalami masalah dengan paket
|
||||
yang dihasilkan, anda dapat mencoba membuat paket menggunakan kompilasi dengan
|
||||
bantuan Windows Container - di dalam mode itu, CLI akan menginstal dan menjalankan
|
||||
aplikasi Anda di dalam *Windows Container* yang kosong untuk menentukan
|
||||
modifikasi apa yang aplikasi Anda lakukan pada sistem operasi.
|
||||
|
||||
Sebelum menjalankan CLI, anda harus mengatur *"Windows Desktop App Converter"*.
|
||||
Ini akan memakan waktu beberapa menit, tapi jangan khawatir - anda hanya perlu
|
||||
melakukan ini sekali saja. Unduh *Desktop App Converter* dari [di sini][app-converter].
|
||||
Anda akan menerima dua file: `DesktopAppConverter.zip` dan` BaseImage-14316.wim`.
|
||||
|
||||
1. *Unzip* `DesktopAppConverter.zip`. Dari PowerShell (dibuka dengan
|
||||
"jalankan sebagai Administrator", pastikan bahwa kebijakan eksekusi sistem
|
||||
anda mengizinkan untuk menjalankan semua yang ingin dijalankan dengan menggunakan `Set-ExecutionPolicy bypass`.
|
||||
2. Kemudian, jalankan instalasi *Desktop App Converter*, dengan menggunakan lokasi
|
||||
*Windows Base Image* (di unduh sebagai `BaseImage-14316.wim`), dengan cara memanggil
|
||||
perintah `. \ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim`.
|
||||
3. Jika menjalankan perintah tersebut menyebabkan *reboot*, silakan *restart*
|
||||
mesin anda dan mejalankan perintah yang telah disebutkan diatas setelah berhasil
|
||||
*restart*.
|
||||
|
||||
Setelah instalasi telah berhasil, anda dapat melajutkan untuk mengkompilasi
|
||||
aplikasi Electron anda.
|
||||
|
||||
[windows-sdk]: https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
|
||||
[app-converter]: https://www.microsoft.com/en-us/download/details.aspx?id=51691
|
||||
[add-appxpackage]: https://technet.microsoft.com/en-us/library/hh856048.aspx
|
||||
[electron-packager]: https://github.com/electron-userland/electron-packager
|
||||
[electron-windows-store]: https://github.com/catalystcode/electron-windows-store
|
||||
[background-task]: https://github.com/felixrieseberg/electron-uwp-background
|
||||
[centennial-campaigns]: https://developer.microsoft.com/en-us/windows/projects/campaigns/desktop-bridge
|
||||
[how-to-update]: https://blogs.windows.com/windowsexperience/2016/08/02/how-to-get-the-windows-10-anniversary-update
|
|
@ -109,7 +109,7 @@ In order to run your package, your users will need Windows 10 with the so-called
|
|||
In opposition to traditional UWP apps, packaged apps currently need to undergo a
|
||||
manual verification process, for which you can apply [here][centennial-campaigns].
|
||||
In the meantime, all users will be able to just install your package by double-clicking it,
|
||||
so a submission to the store might not be necessary if you're simply looking for an
|
||||
so a submission to the store might not be necessary if you're simply looking for an
|
||||
easier installation method. In managed environments (usually enterprises), the
|
||||
`Add-AppxPackage` [PowerShell Cmdlet can be used to install it in an automated fashion][add-appxpackage].
|
||||
|
||||
|
|
Loading…
Reference in a new issue