Saya suka musik metal dari arah yang berbeda. Untuk melacak produk baru, saya membuat parser yang mencari album baru dan menempatkannya di database. Selama keberadaan aplikasi, saya hampir tidak menyentuh parser, meskipun jauh dari ideal, tetapi front-end diperbaiki beberapa kali.

Di bawah kucing adalah cerita tentang bagaimana saya menyalin aplikasi dari yang asli ke Svelte dan menerbitkannya di Google Play.
Pembuatan aplikasi
Versi pertama dari Metalz ditulis dalam reaksi dan mobx-state-tree . Lalu saya ingin meletakkan aplikasi di Google Play dan membuat ulang semuanya di reaksi-asli menggunakan templat expo . Ketika Google, yang berisiko dihapus, menuntut versi 64-bit, saya menulis ulang semuanya di Svelte . Sebagai perbandingan, build on react berbobot ~ 300kb, build on Svelte ~ 90kb. Saya tidak melakukan optimasi perakitan apa pun, hanya templat standar.
Iklan Iklan
Dalam aplikasi asli-reaksi, saya menggunakan iklan massa iklan, tetapi tidak mendukung platform web. Saya memutuskan untuk menghubungkan AdSence, tetapi tidak lulus moderasi. Penolakan menunjukkan bahwa tidak ada konten di situs saya dan rekomendasi diberikan untuk menulis artikel berkualitas. Dan saya, seolah-olah, tidak punya artikel, jadi banding juga gagal. Saya harus mengganti penyedia iklan. Pilihan jatuh pada jaringan periklanan Yandex. Saya membuat komponen Svelte, di modul di mana penghitung blok iklan dikeluarkan. Ini adalah satu untuk semua instance komponen, sehingga Anda dapat menggunakan opsi ini dalam pita dengan gulir yang tak terbatas.
Ad.svelte<script context="module"> let id = 1; </script> <script> import { onMount } from "svelte"; const internalId = id; onMount(() => { id += 1; (function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "RA--1", renderTo: `yandex_rtb_R-A--${internalId}`, async: true }); }); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(window, window.document, "yandexContextAsyncCallbacks"); }); </script> <div id={`yandex_rtb_R-A--${internalId}`} />
Menambahkan Fungsi PWA
Setelah lamaran ditulis, saya punya pertanyaan tentang majelis. Svelte-template tidak dapat menambahkan hash ke sebuah bundel. Saya tidak mengatur kolektor, tetapi segera mengambil Sapper . Di luar kotak, saya mendapatkan kumpulan bundel dengan hash, SSR, PWA, dan routing. Anda dapat membaca lebih lanjut di dokumentasi .
Bangun apk
Membangun aplikasi ternyata cukup sederhana. Saya menggunakan instruksi ini .
Jangan lupa untuk mengganti ikon dengan ikon Anda sendiri, ini tidak disebutkan dalam tutorial.
Ukuran apk dengan PWA di dalamnya ternyata ~ 1.3mb. Bundel reaksi asli memiliki berat ~ 16,4mb. Saya tidak melakukan optimasi perakitan apa pun.
Terbitkan ke Google Play
Setelah mengirim aplikasi untuk verifikasi, saya menerima penolakan publikasi karena melanggar persyaratan.
Status aplikasi MetalZ - Rilis musik metal baru (com.az67128.metalz): Ditangguhkan dari Google Play karena pelanggaran kebijakan
Saat ditinjau, kami menemukan bahwa aplikasi Anda melanggar kebijakan Tampilan Web dan Afiliasi Spam . Kami tidak mengizinkan aplikasi yang tujuan utamanya adalah mengarahkan lalu lintas afiliasi ke situs web atau memberikan tampilan web situs web tanpa izin dari pemilik situs web atau administrator.
Selanjutnya, saya mengajukan banding, di mana saya menunjukkan bahwa prosedur konfirmasi TWA telah dilakukan, melampirkan layar untuk Generator Daftar Pernyataan dan Penguji dan tautan ke file assetlinks.json.
Aplikasi tidak terkunci setelah beberapa hari. Dengan melakukan itu, saya menerima saran dari dukungan:
Di masa depan, jika Anda memiliki bukti izin untuk menggunakan kekayaan intelektual pihak ke-3, Anda dapat mengirimkannya ke tim kami terlebih dahulu menggunakan formulir ini. Tautan juga dapat ditemukan di halaman Daftar Toko Anda di bagian Deskripsi lengkap.
Karena itu, jika Anda berencana untuk menerbitkan PWA dan ingin menghindari masalah, kirim bukti kepemilikan domain terlebih dahulu.
Jika Anda berencana untuk beriklan di aplikasi Anda, Anda mungkin ditolak publikasi karena tidak ada kebijakan penggunaan. Generator kebijakan privasi aplikasi membantu saya.
Kesimpulan
Menerbitkan aplikasi PWA di Google Play lebih mudah dari yang saya harapkan. Dari pro, saya mendapat:
- Aplikasi ringan;
- Satu basis kode;
- Pembaruan tanpa Google Play.
Kode sumber aplikasi langsing dapat dilihat di gitlab'e