Jump to content

Recommended Posts

Boa tarde,

 

Ao entrar no site da https://www.pokedex.org ou do https://dev.opera.com, dá para instalar o site como app no Chrome para Android, ele até aparece na galeria de apps, e tem a opção de desinstalar, então o site meio que vira um aplicativo, gostaria de saber como faço para deixar meu site assim, para instalar meu site no meu Android.

 

Já tentei de tudo, já estou usando o arquivo manifest.json em meu site http://marchi.esy.es, mais só dá para criar a atalho na tela inicial, fica igual um app, até abre como um app, mais não instala.

Share this post


Link to post
Share on other sites

Cara, não adianta ficar replicando seu post para chamar alguém.

Se ninguém comentou ainda, é porque não sabemos como fazer isso.

 

Na verdade tu já tentou procurar no Google alguma coisa sobre isso? Não tenho muito conhecimento em aplicativos mobile, mas se você quer transformar seu site em um app, no mínimo você vai ter que programar alguma coisa na linguagem mobile... pelo menos para "criar" o app e "chamar" o site dentro dele.

 

:P

  • -1 3

Share this post


Link to post
Share on other sites
1 minuto atrás, rikaschmitt disse:

Cara, não adianta ficar replicando seu post para chamar alguém.

Se ninguém comentou ainda, é porque não sabemos como fazer isso.

 

Na verdade tu já tentou procurar no Google alguma coisa sobre isso? Não tenho muito conhecimento em aplicativos mobile, mas se você quer transformar seu site em um app, no mínimo você vai ter que programar alguma coisa na linguagem mobile... pelo menos para "criar" o app e "chamar" o site dentro dele.

 

:P

Já fiz alguns procedimentos, digamos que ja fiz tudo que vi e não obtive resultado ainda, até ja dei uma olha aqui:

https://imasters.com.br/desenvolvimento/como-criar-seu-primeiro-progressive-web-app-do-zero

 

Mais vlw pelos avisos, vou ficar no aguardo

Share this post


Link to post
Share on other sites

Cara,

 

Tu tá confundindo os apps para Chrome com apps para Android.

Pra realmente instalar algo no Android tu vai precisar da APK, enquanto no Chrome tu só vai empacotar "todo" o teu site em um diretório do PC. São conceitos bem diferentes.

O que tu pode fazer é "converter" a aplicação web para mobile.

Phonegap é uma boa opção.

Espero ter ajudado.

  • +1 1

Share this post


Link to post
Share on other sites
Em 2017-6-10 at 11:35, Marlon Pacheco disse:

Cara,

 

Tu tá confundindo os apps para Chrome com apps para Android.

Pra realmente instalar algo no Android tu vai precisar da APK, enquanto no Chrome tu só vai empacotar "todo" o teu site em um diretório do PC. São conceitos bem diferentes.

O que tu pode fazer é "converter" a aplicação web para mobile.

Phonegap é uma boa opção.

Espero ter ajudado.

Olá Marlon Pacheco

 

Na verdade ele está falando de Progressive Web Apps, é uma forma de construção de sites com algumas técnicas especificas onde o celular(e seu navegador) reconhecem e tratam o site como um aplicativo, permitindo que o site seja instalado(alguns recursos do celular são copiados para o celular inclusive)

 

Mais alguns links que podem ajudar:

https://medium.com/tableless/introdução-aos-progressive-web-apps-ad47ba24cddb

https://developers.google.com/web/progressive-web-apps/

 

  • +1 1

Share this post


Link to post
Share on other sites

Tem um mecanismo que é basicamente um navegador fechado, igual é feito com chromium em sistemas desenvolvidos pra web, mas que devem rodar com o 'instalavel', eu não sei exatamente como funciona, mas é basicamente um navegador modificado pra rodar só o seu site, o site da http://bandamaldita.com.br possui uma parada dessa.

  • +1 1
  • -1 1

Share this post


Link to post
Share on other sites
15 horas atrás, Pita disse:

Olá Marlon Pacheco

 

Na verdade ele está falando de Progressive Web Apps, é uma forma de construção de sites com algumas técnicas especificas onde o celular(e seu navegador) reconhecem e tratam o site como um aplicativo, permitindo que o site seja instalado(alguns recursos do celular são copiados para o celular inclusive)

 

Mais alguns links que podem ajudar:

https://medium.com/tableless/introdução-aos-progressive-web-apps-ad47ba24cddb

https://developers.google.com/web/progressive-web-apps/

 

@Pita, buenas.

 

A confusão q eu fiz foi sobre o Chrome (não atentei para o fato de ele estar falando do Android). Mas mesmo assim ainda não vi um PWA que seja instalado de fato no device.

Como você disse, PWA utiliza de recursos do device através do navegador e isso não é o que o @andjao está procurando.

 

@andjao, fiz os testes nos 2 sites que você comentou, mas nenhum deles aparece na tela de aplicativos para desinstalar, são apenas atalhos na tela inicial do dispositivo.

 

Admito que posso estar errado, pois já tem algum tempo que não me envolvo diretamente em projetos do tipo, mas tento me manter atualizado qto a essas novidades.

Se houver mesmo uma maneira de instalar um app através do navegador, eu gostaria de saber, de vdd.

Em tempo, um ótimo artigo do Sérgio Lopes, da Caelum: https://imasters.com.br/desenvolvimento/progressive-web-apps-palavra-chave-e-web-nao-app/

E uma galeria de PWA: https://pwa.rocks/

  • +1 1

Share this post


Link to post
Share on other sites

Olá @Marlon Pacheco, mas o PWA é isso mesmo, ele apenas cria o icone na tela inicial, não tem uma real instalação. Como falei, o que existe é criar o site de forma especial, informando recursos como JS e imagens que devem ficar em cache para ser acessado mesmo o celular estando offline, etc...

  • +1 1

Share this post


Link to post
Share on other sites

Caras, ele realmente instala, entra no meu site. https://marchi.ml pelo chrome do android, e espera um pouco, ele vai aparecer um pop-up do próprio navegador, e vai pedir para instalar no celular, quando forem ver, o meu site virou um app no cell de vcs, eu consegui transformar meu site em um Progressive Web App, o legal que ele usa Service Worker, ai da para usar offline. Detalher, só funciona se o site for em HTTPS, (com certificado SSL).

Share this post


Link to post
Share on other sites
11 minutos atrás, andjao disse:

Caras, ele realmente instala, entra no meu site. https://marchi.ml pelo chrome do android, e espera um pouco, ele vai aparecer um pop-up do próprio navegador, e vai pedir para instalar no celular, quando forem ver, o meu site virou um app no cell de vcs, eu consegui transformar meu site em um Progressive Web App, o legal que ele usa Service Worker, ai da para usar offline. Detalher, só funciona se o site for em HTTPS, (com certificado SSL).

 

Nenhum popup. Já publicou a alteração?

Share this post


Link to post
Share on other sites

Vamos lá.

Sobre os dois exemplos que você citou, pokedex e opera dev.
Nenhum deles instala um App nativo para Android no seu dispositivo, os dois são PWA's, o que fazem é criar um atalho no seu home screen, usando o Google Chrome como base.

Aqui o print de quando abro eles no meu chrome no android 

IaUtww1.png

 

O1prYnB.png

Pode conferir, os dois, assim como outras dezenas de apps, estão nessa lista: https://pwa.rocks/
Já o seu, não vai aparecer, pois isso quem decide é o Google, baseado na quantidade de acessos que as pessoas fazem ao seu site.

Quanto ao parecer com um app, quem fez se preocupou em criar animações baseadas nas animações do android.
Você pode ver isso no app que o Sergio Lopes publicou no github: https://github.com/sergiolopes/shopping

Share this post


Link to post
Share on other sites
57 minutos atrás, Vinicius Cainelli disse:

Vamos lá.

Sobre os dois exemplos que você citou, pokedex e opera dev.
Nenhum deles instala um App nativo para Android no seu dispositivo, os dois são PWA's, o que fazem é criar um atalho no seu home screen, usando o Google Chrome como base.

Aqui o print de quando abro eles no meu chrome no android 

IaUtww1.png

 

O1prYnB.png

Pode conferir, os dois, assim como outras dezenas de apps, estão nessa lista: https://pwa.rocks/
Já o seu, não vai aparecer, pois isso quem decide é o Google, baseado na quantidade de acessos que as pessoas fazem ao seu site.

Quanto ao parecer com um app, quem fez se preocupou em criar animações baseadas nas animações do android.
Você pode ver isso no app que o Sergio Lopes publicou no github: https://github.com/sergiolopes/shopping

 

Olá @Vinicius Cainelli, isso não tem nada haver com o Google autorizar ou não, isso tem haver como você faz o seu site, existe uma série de regras, como por exemplo, usar https, utilizar worker, etc, quando seguir esses padrões do PWA que será disponibilizada a opção de instalação.

 

Digo que não tem relação com o Google porque o PWA permite no Android, IOS, WindowsPhone, Windows10(sim, desktop), etc, então não depende de aprovação da Google nem do volume de acessos

Share this post


Link to post
Share on other sites
9 minutos atrás, Pita disse:

 

Olá @Vinicius Cainelli, isso não tem nada haver com o Google autorizar ou não, isso tem haver como você faz o seu site, existe uma série de regras, como por exemplo, usar https, utilizar worker, etc, quando seguir esses padrões do PWA que será disponibilizada a opção de instalação.

 

Digo que não tem relação com o Google porque o PWA permite no Android, IOS, WindowsPhone, Windows10(sim, desktop), etc, então não depende de aprovação da Google nem do volume de acessos

Querido, não disse que precisa ser autorizado, e sim mostrado automaticamente.

Exato, qualquer um pode fazer isso, mas para que o navegador mostre de forma automática, quem decide é o Google, (to falando só quando usa o Chrome, não posso falar dos outros).

Sacou?
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Marcosvn
      Eu quero criar por conta própria app de jogos de cartas, como: tranca, buraco, truco, etc.
       
      Já que meu objetivo é apenas jogos de cartas, o que eu devo aprender para conseguir colocar isso em prática ?
    • By Motta
      Microsoft Edge supera Google Chrome em testes de bateria e velocidade
       
      Estava usando o FF vou tentar o "beirada" :) ...
    • By jrxxjr
      Sou iniciante em Android, e fiz uma pequena aplicação Android de teste, usando Java, para aprender a utilizar um ListView com botões, e tive um problema. Os botões não funcionam direito, as vezes eu clico em cima do Edit, ele muda a mensagem para clicado, "Edit", confirmando que eu cliquei ai. Mas tem vezes que eu clico no botão Delete, e depois no botão Edit, e o texto não é mudado, ou seja o evento click não funcionou, se eu coloco um break point, no código-fonte, onde está entrando no evento setOnItemClickListener. Mas a mensagem exibida, não está correta.
      E tem um outro erro, de funcionamento do AlertDialog, da mensagem de confirmação de deleção.
      O código-fonte está abaixo.
      Por favor, alguém poderia me ajudar ?
       
      AgendaActivity.java
      package com.test.android.view; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.test.android.model.Agenda; import com.test.android.util.Util; public class AgendaActivity extends AppCompatActivity { ListView listview; MyArrayAdapter agendaArrayAdapter; ArrayList<AgendaTo> agendaArray = new ArrayList<AgendaTo>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_agenda); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Nick", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("John", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Anthony", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("James", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jack", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jeremy", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()),Util.fillSpaces("Long", 50))); agendaArrayAdapter = new MyArrayAdapter(AgendaActivity.this, R.layout.list_item, agendaArray); listview = (ListView) findViewById(R.id.listView); listview.setItemsCanFocus(false); listview.setAdapter(agendaArrayAdapter); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, final int position, long id) { Toast.makeText(AgendaActivity.this, "List Item Clicked:" + position, Toast.LENGTH_LONG) .show(); } }); } } MyArrayAdapter.java
      package com.test.android.view; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.text.SimpleDateFormat; import java.util.ArrayList; public class MyArrayAdapter extends ArrayAdapter<AgendaTo> { Context context; int layoutResourceId; ArrayList<AgendaTo> agendas = new ArrayList<AgendaTo>(); public MyArrayAdapter(Context context, int layoutResourceId, ArrayList<AgendaTo> agendas) { super(context, layoutResourceId, agendas); this.layoutResourceId = layoutResourceId; this.context = context; this.agendas = agendas; } @Override public View getView(int position, View convertView, ViewGroup parent) { View item = convertView; AgendaWrapper agendaWrapper = null; if (item == null) { LayoutInflater inflater = ((Activity) context).getLayoutInflater(); item = inflater.inflate(layoutResourceId, parent, false); agendaWrapper = new AgendaWrapper(); agendaWrapper.nome = (TextView) item.findViewById(R.id.textNome); agendaWrapper.data = (TextView) item.findViewById(R.id.textData); agendaWrapper.edit = (Button) item.findViewById(R.id.btnEdit); agendaWrapper.delete = (Button) item.findViewById(R.id.btnDelete); item.setTag(agendaWrapper); } else { agendaWrapper = (AgendaWrapper) item.getTag(); } AgendaTo agenda = agendas.get(position); agendaWrapper.nome.setText(agenda.getNome()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaWrapper.data.setText(sdf.format(agenda.getData())); agendaWrapper.edit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Edit", Toast.LENGTH_LONG).show(); } }); final int absolutePsition = position; final AgendaWrapper itemDelete = agendaWrapper; final ViewGroup viewGroup = parent; agendaWrapper.delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Delete " + absolutePsition, Toast.LENGTH_LONG).show(); AlertDialog diaBox = AskOption(itemDelete, absolutePsition, viewGroup); diaBox.show(); } }); return item; } private AlertDialog AskOption(AgendaWrapper agendaWrapper, int position, final ViewGroup viewGroup) { final int deletePosition = position; AlertDialog myQuittingDialogBox = new AlertDialog.Builder(context) .setTitle("Delete") .setMessage("Do you want to Delete") .setPositiveButton("Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { agendas.remove(deletePosition); refreshListView(agendas, viewGroup); dialog.dismiss(); } private void refreshListView(final ArrayList<AgendaTo> agendas, final ViewGroup viewGroup) { final MyArrayAdapter myArrayAdapter = new MyArrayAdapter(context, R.layout.list_item, agendas); final LayoutInflater inflater = ((Activity) context).getLayoutInflater(); final View view = inflater.inflate(layoutResourceId, viewGroup, false); final ListView listview = (ListView) view.findViewById(R.id.listView); listview.setAdapter(myArrayAdapter); } }) .setNegativeButton("cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create(); return myQuittingDialogBox; } static class AgendaWrapper { TextView nome; TextView data; Button edit; Button delete; } } list_item.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="4dp" tools:context=".AgendaActivity" > <TextView android:id="@+id/textNome" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Nome:" android:width="50dp" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textData" android:layout_alignTop="@id/textNome" android:layout_alignRight="@id/textNome" android:layout_alignParentLeft="true" android:layout_marginTop="5dp" android:width="50dp" android:text="Data:" android:textAppearance="?android:attr/dateTextAppearance" android:textSize="16sp" /> <Button android:id="@+id/btnEdit" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Edit" android:textColor="#FFFFFF" /> <Button android:id="@+id/btnDelete" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_below="@+id/btnEdit" android:layout_marginTop="3dp" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Delete" android:textColor="#FFFFFF" /> </RelativeLayout> activity_agenda.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#990044" tools:context="com.test.android.view.AgendaActivity" > <TextView android:id="@+id/listLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="Touch List" android:textColor="#FFFFFF" android:textSize="25sp" /> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/listLabel" android:layout_marginTop="5dp" android:cacheColorHint="#FFFFFF" /> </RelativeLayout>  
    • By GabrielSCastro
      Olá pessoa, terminei a faculdade e recebi algumas propostas de projetos web, mas como ainda estou iniciando não tenho muita noção de quanto cobrar.
      Para um site, eu pensei em cobrar um valor razoável de entrada , e além deste valor, definir um contrato de um valor mensal para fazer manutenções necessárias, assim eu terei o cliente e uma renda sempre. Por outro lado, o cliente pode ficar com o site por pouco tempo e não chegar ao valor que eu gostaria pelo projeto. 
      Pensei também em cobrar por projeto, no minimo R$ 1000 por um site simples, já que to começando.

      Ai entra outro falta de experiência minha. Se eu cobrar por projeto, o cliente ficaria responsável por pagar o domínio e hospedagem dele ou eu contrataria uma hospedagem com a possibilidade de hospedar varios sites para quando eu tiver mais clientes.

      Indo mais direto ao ponto, gostaria que me ajudasse em como começar, cobrar, etc.

      Agradeço a quem puder ajudar.
    • By andy_dcm@yahoo.com.br
      Boa tarde pessoal, 
      Estou começando com a programar e estou com uma dificuldade em um layout. Apos terminado seguindo os testes no Mozilla firefox, e apos abrir no Google Chrome esta tudo fora, os box. 
      Alguem poderia me ajudar ?
      Segue anexo para analise.
      Grato.
       
       


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.