2011-09-10 5 views
9

アンドロイドマーケット(または他の方法)にカスタム引数を渡す方法がありますので、私のアプリはインストール後(最初に実行される)引数を受け取ります。アンドロイドマーケットにカスタム引数を渡すことは可能ですか?私のアプリは初回起動時にそれを受け取りますか?

私を説明しましょう。

  1. スタート引数1 = "こんにちはworld1" との意思(カスタム引数 ごと 時間)
  2. Androidマーケットからアプリをインストールしてください。
  3. アプリを初めて開きます。
  4. アプリケーションは、どのような場合には、Androidマーケットにだけ意図、ないだろうMSGの "Hello world1"

を示しています。

ほとんどの場合、アプリケーションはバインドされたhttpスキーマを使用してバーコードスキャナ経由でインストールされます。だから、ブラウザの回避策は(ブラウザに保存引数と私のアプリの初回実行時に、そこからそれを得る)、あまりにもHTML5クライアントサイドストレージ、可能なソリューションは、クッキーを作成することです

更新、何かをブラウザに送って、インストールしたアプリケーションからアクセスしてください。それは可能ですか?もしそうなら、あなたはそれに関するいくつかの情報を提供することができますか?ブラウザはアプリケーションとデータを共有できますか?

+0

だから、ちょうど明確にする、あなたは、個々のユーザーが別の引数を受け取り、別のメッセージが表示したい彼らが初めてアプリを開くと? – theisenp

+0

はい、あなたの時間の目標 – weakwire

答えて

13

ユーザーがこのリンクをクリックして、放送受信機は、「your_referrer_parameter」値での放送com.android.vending.INSTALL_REFERRERを受信するアプリケーションをインストールした後、あなたはその
http://market.android.com/details?id=your.package.name&referrer=your_referrer_parameter
のようなリンクを公開することができます。

さらに詳しい情報:
http://code.google.com/mobile/analytics/docs/android/#android-market-tracking
Get referrer after installing app from Android Market
Get Android Google Analytics referrer tag

+0

うわー!リファラータグは非常に滑らかな方法で仕事をするかもしれません!私は明日それを試してみます – weakwire

+0

あなたの答えを受け入れるつもりです。しかし、それは有益な答えなので、答えをもう少し詳しく説明できますか? (将来の視聴者のために) – weakwire

+0

@Fedor:ユーザーが別の参照リンクパラメータを使用して別のインストールリンクをクリックした場合、アプリが既にデバイスにインストールされている場合はどうなりますか? 1.アプリケーションを再インストールするか、以前にインストールしたものを起動しますか? 2. 2番目のケースが発生した場合、起動されたアプリでリファラーが利用できるようになりますか? [編集:私はちょうどこの答えが何歳であるか分かっています、多分私はここでコメントするより新しい質問をすることを検討すべきです...] – fpierrat

4

AFAIKあなたが求めていることはできません。市場はAPKファイルのみをデバイスに配信します。しかし、正確に何をしたいかによって、おそらく多くの異なる回避策があります。ここで

はカップルの考えです:

あなたは市場がすべてのユーザーに固有のカスタム引数をお届けしたい場合は、なぜあなたのアプリが最初の実行上のサーバーに接続し、その引数をダウンロードしていませんか?市場が議論を提供することができたとしても、あなたからそれを得る必要があり、市場に議論を提供するためにサーバーをセットアップする必要があるでしょう。

あなたが単にアプリケーションをよりよく知りたいのであれば、それは初めてSharedPreferenceを使って実行することができます。 hasAppRunBeforeのような設定が存在しているかどうかを問い合わせて、そうでない場合は、インストール後初めてアプリが実行されていることを知っています。次に、hasAppRunBefore変数を以前に実行されたことを示す値に設定します。この実装では、ユーザーがアプリをアンインストールして再インストールできるようになり、再インストールするたびにアプリが初めて再実行されます。

もう1つのオプションは、最初の2つの組み合わせです。あなたは、あなたのサーバーに接続し、デバイスのUUIDをサーバーに提供することができますし、そのサーバーはそのUUIDを見たかどうかを確認することができます。それ以外の場合は引数を提供しますが、それ以外の場合は引数を提供しません。

デバイスごとに異なるAPKが本当に必要な場合は、ダウンロードリクエストを受信したときに新しいAPKをコンパイルし、そのAPKをダウンロードするためのリンクを提供するサーバーを設定できます。これにより、ダウンロードごとに新しいユニークなAPKを生成することができます。ただし、Androidマーケットでは現在この機能が提供されていないため、APKを自分で配布する必要があります。

+0

タイです。アプリはアンドロイドマーケットからのみダウンロードされます。よくある1つの回避策は、そのユニークなデバイスとサーバーの関係を持つことです。しかし、ユーザーがアプリケーションを取得したときに何らかのプッシュ通知が再度必要になります。デフォルトのブラウザにデータを書き込んだり、アプリケーションからブラウザのデータを見ることは可能ですか?ブラウザはアプリケーションとデータを共有できますか? – weakwire

+0

なぜプッシュ通知が必要ですか?アプリケーションの初期ロード時にアプリケーションのホームにホームがあり、サーバーから情報を要求できないのはなぜですか? – slayton

+0

+1、クライアントが一意に識別されるようにするには、ホームサーバーへのpingが最適です。 – RHT

1

私は先に進み、市場にリダイレクトされるウェブサイトにもファイルをクライアントにプッシュします。このファイルには「yourapp.info」のような名前を付けることができ、必要なデータが含まれています。あなたのアプリケーションが起動すると、SDカード(aka/sdcard/Downloadsというよく知られたディレクトリにあるはずです)を検索し、そのファイルを読むことができます。 sdcardにはアクセス制限はありません。

ブラウザのクッキーについて:他のアプリからクッキーにアクセスできるかどうかはわかりません - (これを確認してください:blog.watchfire.com/files/advisory-android-browser.pdf - そうではありませんクッキーにアクセスすることができます)ので、私はそのルートが閉じられると思います。

+0

良いアプローチです。私はそれがソリューションになるデフォルトの場所に保存する方法でしたが、私はそれができないと思います。同様の回避策は、私のアプリがブラウザから取り出すことができる "パブリッククッキー"の何かを作成することです。 – weakwire

+0

私は一般的なクッキーがうまくいかないと思われる理由について答えを更新しました – LordT

関連する問題