Como eu postei PWA no Svelte no Google Play

Eu gosto de música metal de diferentes direções. Para rastrear novos produtos, criei um analisador que procura álbuns novos e os coloca no banco de dados. Durante a existência do aplicativo, quase não toquei no analisador, embora esteja longe do ideal, mas o front-end foi refeito várias vezes.


metalz.web.app

Sob o gato, há uma história sobre como eu copiei o aplicativo do react-native para o Svelte e o publiquei no Google Play.


Criação de aplicativo


A primeira versão do Metalz foi escrita em react e mobx-state-tree . Então, eu queria colocar o aplicativo no Google Play e refazer tudo no react-native usando o modelo de exposição . Quando o Google, sob risco de exclusão, exigiu uma versão de 64 bits, reescrevi tudo no Svelte . Para comparação, o build no react pesava ~ 300kb, o build no Svelte ~ 90kb. Não realizei nenhuma otimização de montagem, apenas modelos padrão.


Anúncio Anúncio


No aplicativo nativo de reação, usei anúncios ad-mob, mas ele não suporta a plataforma da web. Decidi conectar o AdSence, mas não passei na moderação. A recusa indicou que não havia conteúdo no meu site e recomendações foram dadas para escrever artigos de qualidade. E como eu não tenho artigos, o recurso também falhou. Eu tive que mudar o provedor de publicidade. A escolha recaiu na rede de publicidade Yandex. Criei o componente Svelte, no módulo do qual o contador de blocos de anúncios é retirado. É um para todas as instâncias do componente, portanto, você pode usar esta opção em fitas com rolagem infinita.


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}`} /> 

Adicionando funcionalidade do PWA


Depois que a inscrição foi escrita, eu tive uma pergunta sobre a montagem. O modelo svelte não pode adicionar um hash a um pacote. Eu não montei o colecionador, mas imediatamente peguei o Sapper . Fora da caixa, obtive um conjunto de pacotes com um hash, SSR, PWA e roteamento. Você pode ler mais na documentação .


Build apk


A criação do aplicativo acabou sendo bastante simples. Eu usei esta instrução .
Não se esqueça de substituir os ícones pelos seus, isso não é mencionado no tutorial.
O tamanho do apk com o PWA dentro ficou ~ 1.3mb. O pacote nativo de reação pesava ~ 16,4mb. Não realizei nenhuma otimização de montagem.


Publicar no Google Play


Depois de enviar o pedido de verificação, recebi uma negação de publicação por violação das condições.


Status do aplicativo MetalZ - Novas versões da música metal (com.az67128.metalz): suspenso no Google Play devido a uma violação da política

Durante a análise, descobrimos que seu aplicativo viola a política de visualizações da web e spam de afiliados . Não permitimos aplicativos cujo objetivo principal seja direcionar o tráfego afiliado a um site ou fornecer uma visualização da web sem a permissão do proprietário ou administrador do site.

Em seguida, interpus um recurso, onde indiquei que o procedimento de confirmação da TWA havia sido realizado, anexei a tela Gerador de lista de declarações e testador e um link para o arquivo assetlinks.json.
O aplicativo foi desbloqueado após alguns dias. Ao fazer isso, recebi conselhos do suporte:


No futuro, se você tiver prova de permissão para usar a propriedade intelectual de terceiros, poderá enviá-la à nossa equipe com antecedência usando este formulário. O link também pode ser encontrado na sua página de listagem da loja na seção Descrição completa.

Portanto, se você planeja publicar o PWA e deseja evitar problemas, envie uma prova de propriedade do domínio com antecedência.


Se você planeja anunciar em seu aplicativo, pode ser negada a publicação na ausência de uma política de uso. O gerador de políticas de privacidade de aplicativos me ajudou.


Conclusão


A publicação de um aplicativo PWA no Google Play foi mais fácil do que eu esperava. Dos profissionais, obtive:


  • Aplicação leve;
  • Uma base de código;
  • Atualizações sem o Google Play.

O código fonte do aplicativo Svelte pode ser visualizado em gitlab'e

Source: https://habr.com/ru/post/pt462003/


All Articles