Ao usar a Atividade na Web Confiável nos aplicativos, os desenvolvedores podem precisar transmitir informações a parte nativa do aplicativo no Progressive Web App (PWA).
Um caso de uso comum para isso é implementar segmentações de análise personalizadas para medir as instalações e sessões iniciadas pela Atividade na Web Confiável. Os parâmetros de consulta podem ser adicionados ao URL de início para implementar isso.
Modificar o URL de início
Se o parâmetro transmitido para o PWA permanecer o mesmo para todos os usuários e for iniciado, o parâmetro poderá ser anexado diretamente ao URL de inicialização. Um exemplo desse uso é Quando os desenvolvedores querem medir o número de sessões de navegação criadas a partir de uma página da Web Atividade.
Como usar o plástico bolha
Bolha é uma ferramenta criada para ajudar os desenvolvedores a criar um projeto para uma Aplicativo para Android que inicia um PWA já existente usando um aplicativo Trusted Web Atividade. Ele contém uma biblioteca e uma interface de linha de comando (CLI).
Como criar um novo projeto
Ao usar a CLI Bubblewrap, um projeto é inicializado com o comando init
e cria
valores padrão de um manifesto da Web, fornecidos como parâmetro:
bubblewrap init --manifest https://material.money/manifest.json
O assistente vai usar o start_url do manifesto da Web como padrão e pedir que os usuários confirmem o valor, oferecendo aos desenvolvedores a chance de adicionar parâmetros extras ao URL usado para iniciar o App Web Progressivo.
Como modificar um projeto atual
Quando o balão gera um projeto, as informações desse projeto específico são armazenadas em um arquivo
chamado twa-manifest.json
, na pasta do projeto. Para modificar o URL inicial de um projeto atual,
os desenvolvedores precisam modificar o arquivo:
{
...
"startUrl": "/?utm_source=trusted-web-activity",
...
}
Em seguida, gere novamente os arquivos do projeto e aplique o novo URL de início
bubblewrap update
Usar o Android Studio
Ao usar o Android Studio e a LauncherActivity padrão, startUrl é definido como uma metatag no AndroidManifest.xml. Também podemos mudar o URL usado para iniciar a Atividade confiável na Web modificá-la:
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
android:label="@string/app_name">
...
<meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
android:value="https://svgomg.firebaseapp.com/?utm_source=trusted-web-activity" />
...
</activity>
Modificar o URL de início de forma dinâmica
Em outros casos, os desenvolvedores podem querer criar parâmetros que mudam entre usuários ou sessões, para instância. Na maioria dos casos, isso envolve a coleta de detalhes por parte do Android da para passá-lo ao Progressive Web App.
Etapa 1: criar uma LauncherActivity personalizada
public class CustomQueryStringLauncherActivity extends LauncherActivity {
private String getDynamicParameterValue() {
return String.valueOf((int)(Math.random() * 1000));
}
@Override
protected Uri getLaunchingUrl() {
// Get the original launch Url.
Uri uri = super.getLaunchingUrl();
// Get the value we want to use for the parameter value
String customParameterValue = getDynamicParameterValue();
// Append the extra parameter to the launch Url
return uri
.buildUpon()
.appendQueryParameter("my_parameter", customParameterValue)
.build();
}
}
Etapa 2: modificar o AndroidManifest.xml
para usar a LauncherActivity personalizada
<activity android:name="com.myapp.CustomQueryStringLauncherActivity"
android:label="@string/app_name">
...
<meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
android:value="https://squoosh.app/?utm_source=trusted-web-activity" />
...
</activity>
Conclusão
A transmissão de informações da parte nativa para a parte da Web de um aplicativo pode ser feita usando parâmetros de consulta. Quando um parâmetro é adicionado à string de consulta, ele fica acessível para scripts exibidos na página e também podem fazer parte da referência quando os usuários navegam para uma página diferente ou o desenvolvedor implementa uma ação de compartilhamento.
Os desenvolvedores precisam estar cientes dessas implicações e podem mitigá-las usando link rel=noreferrer ou limpe o URL usando a API Page Location.
No momento, o protocolo da Atividade na Web Confiável não fornece um mecanismo para trocar mensagens com a parte nativa do aplicativo depois que a parte da Web é invocada.
Acreditamos que as APIs Web Platform existentes ou futuras possibilitam a maioria dos casos de uso necessários para os desenvolvedores. Se estiver procurando APIs da Web novas ou futuras, confira a página de status de Novas capacidades.