1

英国でダウンロード可能な Android アプリをリリースしましたが、米国向けに (非常にわずかに異なる) バージョンのアプリをリリースしたいと考えています。

1.マニフェスト ファイルの「package」属性を別のものに変更します。

2. Google Play で米国のみがアプリをダウンロードできることを確認します。

やらなければならないことが他にまだわかっていないことや、まだ検討していない問題はありますか?

編集 7 月 19 日 13:19 GMT - 私は現在 TelephonyManager.getNetworkCountryIso() を最初の国推測として使用し、これが失敗した場合 (SIM カードがないため) ロケールにフォールバックする方向に進んでいます。人々はどう思いますか?GPS を使用することもできますが、それはやり過ぎでしょうか?

4

3 に答える 3

1

いくつかの文字列を変更しているだけだと言っているので(URLも単なる文字列と見なします)、次のことをお勧めします。

  1. リソースディレクトリres/valuesとを作成しますres/values-en-rUS

  2. これらのそれぞれで、strings.xmlリソースファイルを作成します

  3. ディレクトリでデフォルト(英国固有)の文字列値を定義res/valuesし、フォルダで米国固有の文字列値を定義しres/values-en-rUSます。

次に、これらの文字列を参照する@string/my_string_nameには、XMLドキュメントから文字列を参照する場合、またはgetResources().getString(R.string.my_string_name)コードから文字列を参照する場合に使用します。

リソース修飾子の種類の詳細については、このページを確認してください。また、使用できる修飾された国コードのリストについては、このページを参照してください。

十分に判断した人なら誰でも自分の地域を米国に変更できると確信しています-正直なところ、地域がどのように決定されているかはわかりません-しかし、すべての意図と目的のために、これは2つの別々のアプリケーションを維持する必要なしにトリックを行う必要があります。英国のユーザーがアプリケーションの米国固有の機能にアクセスできないことがどれほど重要であるかを評価し、それを念頭に置いて、2つのアプリケーションを保守する価値があるかどうかを判断します。

編集さらにいくつかの追加の検索により、リージョンがファイルにロックされているとbuild.prop思います。これは、デバイスのルート化以外では編集できません(つまり、誤って発生することはありません)。それでも、正しいオプションが必要な場合は、アプリケーションの最初の実行時にのみポップアップダイアログを表示して、ユーザーにロケールを確認し、SharedPreferenceとして保存してから、に基づいてプログラムで文字列を選択することをお勧めします。その好み。そうすれば、1つのアプリケーションのみを維持できますが、2つのリージョンを柔軟に処理できます。

于 2012-07-17T16:10:26.503 に答える
0

I eventually decided that the best policy was to use TelephonyManager to check the country of the Network.

TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
String networkCountryCode = tm.getNetworkCountryIso();

If that failed, I got the locale.

String locale = context.getResources().getConfiguration().locale.getCountry();

This would happen once at the start of the app. The results of this would then be saved and be configurable in the settings screen.

于 2012-08-01T15:19:44.863 に答える
0

正解です。Play ストアは、誰がダウンロードできるか、および更新できるかどうかという 2 つのことから外れています。1 つ目はパッケージ名 com.andya.myukapp -> com.andya.myusapp です。これは、既存の顧客が 2 つを自由に切り替えることを期待していない限り (有料アプリであると仮定して) 動作するはずです。

于 2012-07-17T14:37:00.130 に答える