0

PWAを開発中で、支払いページでこの問題が発生しました。基本的には: - ストライプ(これはモバイルでのChromeのタブを開き、することはできませんアクセス時にPWAが再開しないようにする

シナリオ1人の

  1. ユーザーが
  2. 安打提出支払いフォームを埋め、サードパーティの支払いページにリダイレクトされます
  3. 支払いが成功した場合、サードパーティのページは自動的に再起動するPWAにリダイレクトされます。

問題は、私は再起動したときに、私は私がしていた全体の状態を失うので、表示することができない成功のページを持っているということである。

シナリオ2

  1. ユーザーが支払いを埋めますフォーム
  2. ヒットバックボタン/電話のホームボタン
  3. デスクトップから、もう一度アプリケーションを開きます。場合によっては、アプリケーションが前の状態(フォームがいっぱいの状態)で開いて、ときどき再起動して、すべてを失うことがあります。

これを防ぐためにできることはありますか?デスクトップからPWAアイコンを開くと、基本的にクロームが開きます。しかし、アプリケーションが既に開いている場合(そして最近のタブに表示されている場合)、再起動を防ぐためにできることはありますか?私は携帯電話が自動的にそれをシャットダウンすると思います。

考えられる解決策:

私は今考えることができる唯一の事はのlocalStorageのすべてを保存し、リフレッシュにリロードしようとしています。このようにして、私はそれが閉じて再び開いても、私は前の状態に留まることを保証することができます。

おかしい事は(今まで6-7のデバイスをテストし、それが上に再現一つだけだ)シナリオ1(私を悩ます最も)のみサムスンギャラクシーS7に起こるということです。 Chromeのバージョンは、ほとんどすべて同じです。

アイデア?ありがとう!

答えて

1

ローカルストレージへの保存ルーチンが機能しました。 Stripeに渡していたコールバック関数が呼び出されていましたが、PWAが再起動された直後です。

私がしたのは、localstorageの状態をコールバックの最初のものに保存することでした。フラグはpaymentInProgressで、サーバ上でsaveを呼び出して成功ページを表示しようとしました。間にすべてがクラッシュした場合、アプリケーションが再起動して、componentDidMount私はlocalStorageデータとpaymentInProgress === trueフラグをチェックしています。

ページリロードを最初から防止するための他の解決策があるかどうかはまだ不思議です。

関連する問題