質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

2回答

595閲覧

PWAを実装したスマホのアイコンからindex.htmlの内容を表示させるための方法を教えてください

echizeyayota

総合スコア104

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

1クリップ

投稿2019/05/07 23:36

お世話になっております。
下記の質問についてご存知の方がいらっしゃいましたらご教示を願います。


【質問の主旨】

スマホ(Android)にインストールしたPWAをタップすると404 not foundが表示されます。index.htmlを表示させるためには現在のコードからどのように書き換えれば良いでしょうか?

【質問の補足】

スマホにPWAを実装するためのコードはGitHubにUPしています。

ホスティングサービスはGoogleのFirebaseを使っています。こちらのURLにアクセスすると、**"PWA Sample"**という見出しが書かれたページが表示されます。

上記のサービスにアクセスすると、スマホのホーム画面にアイコンを追加することを促すバナーが表示されます(Androidの場合)。またこちらのURLにアクセスすると、自分が使用しているスマホのホーム画面にアイコン(PWA Sample)を追加した画像が表示されます。

こちらのURLにアクセスすると、スマホのアイコンをタップしたあとに表示される404 not foundの画面が表示されます。

スタック・オーバーフローでもすでに同じ質問をしていますが、投稿から7日が経過しても回答を得られなかったため、改めて質問をしました。


以上、ご確認のほどよろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

firebase.jsonredirects 設定の部分で、

{ "source" : "/index.html", "destination" : "/index.html", "type" : 301 }

と記述している部分が原因で、
https://jissen-pwa-20190430-project.firebaseapp.com/index.html
でアクセスした時にリダイレクトループが発生しています。
/index.html でアクセス時に /index.html にリダイレクトしてる。
なので、ブラウザで表示した時にエラーになっています。
https://jissen-pwa-20190430-project.firebaseapp.com/ ではリダイレクトは発生していません。

上記、不要であれば削除してもらうか、 firebase init をしたときのまま、

{ "source": "**", "destination": "/index.html" }

に変えてみてください。

投稿2019/05/09 16:31

chieeeeno

総合スコア217

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

echizeyayota

2019/05/09 22:12

chieeeeno さん。 コメントありがとうございます。 >上記、不要であれば削除してもらうか、 下記のGitHubのHistoryで示されているとおり、301リダイレクトに関する部分を削除すると、意図どおりの動作になりました。 https://github.com/echizenyayota/jissen-pwa-20190430-project/commit/a601340bdda2882151768d1ad6adec1a0837bc80#diff-dfd70b60f8469fdc3ee3b3935d64d130 現在、スマホにインストールしたアイコンをタップするとこんな感じに見えます。 http://takaiba.net/teratail/teratail20190510.jpg アドバイス助かります。質問を解決することができました。
guest

0

https://github.com/echizenyayota/jissen-pwa-20190430-project/blob/master/public/manifest.json#L29 が間違ってるようにみえます。

publicフォルダが起点になるので、 "start_url": "index.html", あたりになるかと思います。

投稿2019/05/07 23:45

rdlabo

総合スコア448

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

echizeyayota

2019/05/08 10:55 編集

rdlabo さん。コメントありがとうございます。 以下の通り3点についてご回答を申し上げます。 --- ### 1. >https://github.com/echizenyayota/jissen-pwa-20190430-project/blob/master/public/manifest.json#L29 が間違ってるようにみえます。 ご指摘にもとづき以下aからdまでの作業を行いましたが、相変わらず`404 not found`が表示されます。 #### 作業内容 ##### a. `"start_url": "/public/",`を`"start_url": "index.html",` に変更 https://github.com/echizenyayota/jissen-pwa-20190430-project/blob/master/public/manifest.json#L29 ##### b. ``` $ pwd /Users/MYUSERNAME/Desktop/jissen-pwa-20190430-project $ firebase deploy ``` ##### c. スマホのアイコンをタップすると、`404 not found`が表示されます。 #### d. `"start_url": "index.html",`ではなく、`"start_url": "/index.html",`でも試してみましたが、やはり`404 not found`が表示されます ### 2. [プログレッシブウェブアプリ PWA開発入門](https://amzn.to/2YgztRo)の43ページから44ページには、manifest.jsonの`"start_url"`の記述方法について以下の通り説明されています。 >「start_url」は、ホームスクリーンに登録したアイコンをタップして起動する際に、最初に読み込むアプリ内のリソースを、Manifestファイルのある位置からの相対URLで指定します。ここでは、Manifestと同じディレクトリにあるindex.htmlを指定しています。 本ではrdlaboさんがご指摘されていることと同じことが説明されています。 ### 3. 上記の1と2より、他に何をすればスマホのアプリをタップしたときに`index.html`が表示されるか分りません。なのでこの問題に関する解決は先延ばしにします。時間が経過すれば、見えていなかったものが見えるようになるかもしれません。 --- 以上、よろしくお願い申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問