2013-05-14 12 views
9

私は店Googleが製品リスト

ArrayList skuList = new ArrayList(); 
skuList.add("premiumUpgrade"); 
skuList.add("gas"); 
Bundle querySkus = new Bundle(); 
querySkus.putStringArrayList(“ITEM_ID_LIST”, skuList); 

をGoogle Playからの製品のリストを取得するにはhereから次のコードを見つけたを取得し、動的製品のリストを取得する方法はありますか?ここでハードコードされています。アプリの起動後に新しい製品を追加するとどうなりますか?

+0

に対してこの程度の任意のアップデートを行く意味でしょうか? – Caipivara

答えて

29

現在、Google APIを使用することはできません。

現在SKUsを含むJSONファイルを作成し、それを一部のサーバーに置きます。

アプリでは、まずサーバーURLからこのファイルを読み込み、このSKUsのリストを使用してGoogle APIから商品の詳細を取得します。

Googleに:この機能を提供するには、あなたを恥じないでください!

+1

まだ利用できません、今まで10月16日15。 あなた、Google、アップルにも恥がかかります。笑 –

+0

@ダン、私に参照へのリンクを与えてください、それを見つけることができません。 – Dusan

+0

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/ShowUI.html#//apple_ref/doc/uid/TP40008267-CH3-SW6 フェッチする実行時メカニズムはありません特定のアプリのiTunes Connectで設定されたすべての製品のリスト。あなたは、あなたのアプリの商品リストを管理し、あなたのアプリにその情報を提供する責任があります。多数の製品を管理する必要がある場合は、iTunes Connectで一括XMLアップロード/ダウンロード機能を使用することを検討してください。 –

6

あなたがあなた自身のサーバーから製品のリストを取得するためのロジックを実装したくない場合は、別のオプションは、プロダクトIDスロットのような事前定義された「ダミー」の製品IDを、使用することです:

private static final String[] PRODUCTIDS = {"product1", "product2", "product3", etc. }; 

getSkuDetails関数は、存在しないプロダクトIDに対して単にnullを返します。あなたの製品リストがあまりにも頻繁に、あるいはあまりにも多すぎると思わないなら、あなたはあなたのアプリに少数の製品IDを定義し、getSkuDetailsによって返されたヌル値をスキップできます。

新しい製品を追加する場合は、開発者用コンソールの次の未使用スロットで定義されているIDを使用するだけで、アプリは更新されずに一覧表示されます。

無効な商品IDと削除された商品IDが返されるため、商品の削除は難しい場合があります。そのため、説明フィールドを使用して商品を削除したことを示すことができます。あなたのアプリの存在。商品の説明がこの定数に等しい場合は、スキップして一覧には表示されません。

私は知っています。それは汚れたハックだ。しかし、それは動作します。

+0

サンプルのGoogleプロジェクトのヘルパークラスを使用している場合は、 'IabHelper.queryInventoryAsync(最終ブール値querySkuDetails、最終リスト moreSkus、最終的なQueryInventoryFinishedListenerリスナー)'(または必要に応じて同期バージョン)を呼び出すことによって商品を照会できます。神秘的な「moreSkus」パラメータとしてSKUのリストを指定するだけです。とにかく以前に購入した製品を入手する必要があるので、この呼び出しを避けるのは難しいです。軽く置くのはまだ醜いです。 – racs

0

理由で可能ではありません。更新されたinapp製品リストを取得できた場合、そのアプリケーションコードを変更せずにこれらの新製品をどのように提供できるのでしょうか?製品リストを変更する場合は、新しい製品を扱うアプリケーションのアップデートをリリースする必要があります。アプリのコードを変更せずに新製品をフェッチする

唯一の理由は、製品の価格自体を変更することですが、それは、Googleの利用規約&条件