プログレッシブWebアプリを作成しました。 index.html、ファビコンなどを含むフォルダ「画像」など、sw.jsとstyles.cssだけです。
Manifest.jsonのコード
{
"lang" : "en",
"name" : "Test",
"short_name" : "Test",
"icons" : [
{
"src": "images/Android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "images/Android-chrome-144x144.png",
"sizes": "144x144",
"type": "image/png"
}
],
"theme_color" : "#116b20",
"background_color" : "#1a1a1a",
"scope" : "1",
"start_url" : "/test",
"display" : "standalone",
"orientation" : "natural"
}
およびsw.js
self.addEventListener('install', function(event) {
console.log('[Service Worker] Installing Service Worker ...', event);
event.waitUntil(
caches.open('static').then(function(cache) {
cache.addAll(['/test/', '/test/index.html', '/test/manifest.json']);
})
);
});
self.addEventListener('activate', function(event) {
console.log('[Service Worker] Activating Service Worker ....', event);
});
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
if (response) {
return response;
} else {
return fetch(event.request).then(function(res) {
return caches.open('dynamic').then(function(cache) {
cache.put(event.request.url, res.clone());
return res;
});
});
}
})
);
});
だから...今のところ、クロームでスマートフォンからサイトにアクセスすると、すべてが正しく表示され、タブの色が良く、すべてがきれいに見えます。しかし、「ホーム画面に追加」というバナーはありません。短所では、クロムの設定に移動し、「ホーム画面に追加」をクリックして検証し、追加されたショートカットに移動すると、サイトは「スプラッシュ画面」などでアプリとして起動されます。
そして、コンピューターからサイトにアクセスし、「アプリケーション」およびマニフェストでデバッガーを見ると、「ホーム画面に追加」という小さなリンクがあります。これがどこから来たのか知っていますか?
手伝ってくれてありがとう !
編集:
私は少し進んで組織を少し変更し、サブドメインを作成しました。今では https://subdomain.example.com のようなURLを持っています。すべてがサブドメインのルートにあります。コードでは、リンクは相対的です(例: "img/name.png")。 Chrome私のPCから、開発ツール->アプリケーション->マニフェストタブに移動し、[ホームに追加]をクリックすると、サービスワーカーにエラーが発生しません。画面」、サイトをアプリケーションに追加するためのバナーが表示され、検証するとうまく機能します。Chrome dev tools-> Application-> Service worker tab
しかし、私のスマートフォンでは、誰かがアイデアを持っている場合、ホーム画面に追加するバナーがありません...
サイトは、証明書、有効なマニフェスト、およびクロムアプリケーションタブに表示される有効なサービスワーカーを含むhttpsである必要があります。これにより、サイトはインストール可能なサイトとして追加するための基本的なPWAとして認定されます。 .APKファイル)
Https、証明書、またはサービスワーカーに問題がある場合(ほとんどの場合これが理由です)、アイコンがホーム画面に追加され、アドレスバーなしでアプリとして開きます。違いは、それは単なるブックマークの種類のリンクです。これは、WebApkがChromeで生成した.apkファイルではありません。このようなシナリオでは、chromeはインストールバナーを表示しません。
他のケースは、あなたが気づかないうちに一度行って行ったかもしれないし、あなたの中断でページをリロードしたかもしれません。ユーザーによる最初の不承認、chromeは再び表示されません。別のデバイスから試すことができますが、同じ問題が発生します。最初のパラグラフで述べたように正しく構成されていないPWAコンポーネントの1つです。
Google開発者サイトですべての基準を確認しましたか?
https://developers.google.com/web/fundamentals/app-install-banners/
現在、あなたの投稿にHTTPSについて言及しているものは何もありません-これが原因かもしれません。