1

だから私はグーグルのウェブストアでホストされないクロム拡張機能で作業しているので、自動更新機能を追加する必要がありますが、もう少し動的にする必要があります。何を説明しようとします少しのシナリオで達成しようとしているので、無意味に見えません。

シナリオ

バージョンごとに異なるエディションがあるような拡張機能が必要です。つまり、各バージョンには無料版と有料 (機能豊富な) 版があり、新しいバージョンがリリースされるたびに、拡張機能はそのエディションに従って更新されます。

つまり、サーバーはユーザーのエディションを検出し、それに応じて「つまり動的」に crx ファイルを提供できる必要があります。

私が試したこと/考えたこと

1.拡張版で Cookie を設定しようとしたため、自動更新が発生すると、サーバーはそれを確認して xml ファイルを生成できますが、残念ながら、Chrome から送信される自動更新ヘッダーで Cookie が送信されないことがわかりました。 .

2.Chromeの起動時に拡張機能をサーバーと通信させることができるので、そのエディションが送信され、サーバーはそれをIPとともに保存し、自動更新が発生するとサーバーはリクエストのIPをチェックして一致しますxmlを提供するエディションで、これはうまくいくと思いますが、ちょっと不自由な方法です。

3. ネイティブ アプリを使用してマニフェスト ファイルを変更し、エディションに応じて別の xml ファイルを指すようにすることができます。これも機能すると思いますが、ネイティブ アプリの使用には賛成できません。

4.get-request パラメータを変更する方法 (つまり、エディションのようなカスタム パラメータを追加する方法) を見つけようとしましたが、そうする方法がないようです。

5. 異なるエディションを別々の拡張機能にすることができます (つまり、無料版は有料版とは異なるパッケージになります) が、すべてを 1 つにまとめて、ユーザーがサブスクリプションをインストール/ダウングレードせずにアップグレード/ダウングレードできるようにしたいと考えています。すでに持っている拡張子を削除します。

それだけだと思います。私がやろうとしていることをどのように達成できるかについて、誰かがより良い考えを持っていることを願っています.

PSタイトルが漠然としていることは承知していますが、より適切なタイトルが見つからなかったので、より適切なタイトルを思いついた場合はお知らせください。

4

1 に答える 1

0

無料版1.*と有料版を作ってみません2.*か?次に、アプリ ID とバージョンを取得する単純な PHP ページによって更新ページを動的に生成します (自動更新のドキュメントを参照してください)。

マニフェスト"update":"http://www.mysite.com/update_app.phpに入れます。PHP スクリプトで$_GET['version']、メジャー バージョン番号 (1.*無料バージョン、2.*有料バージョン) に一致するように XML 更新ドキュメントを読み取り、提供します。基本的に、サーバーに 2 つの XML 更新ファイル (および 2 つの CRX ファイル) を保持し、どちらを提供するかをスクリプトに決定させます。

もちろん、PHP である必要はありません。サーバー側の言語であれば何でも構いません。

于 2012-05-10T19:42:00.507 に答える