投稿

2014の投稿を表示しています

in app billing v3 でサンドボックステストするときの話

とりあえずサンプルアプリのコードをちょちょっといじって、おなじみの"android.test.purchased"を買おうとすると、購入後のセキュリティのチェックでエラーが出てめんどうなことに。 E/IABUtil/Security(5973): Purchase verification failed: missing data. E/IabHelper(5973): In-app billing error: Purchase signature verification FAILED for sku android.test.purchased どうもSecurity.javaに問題があるようで、"android.test.purchased"を購入しようとするとSecurity#verifyPurchaseでsignatureがnullとなりエラーシーケンスに移行するご様子。 そしてここでエラーが起きると、その後のconsumePurchaseを呼び出す処理に到達しないため、結果としてアイテムが二度と買えない羽目に・・・。 この状態になるとアプリをアンインストールしても元の状態に戻せません(GooglePlayの方で購入情報をキャッシュしているので)。 アプリ設定からGooglePlayのデータを消去してやることで一応復旧はするみたいです(一部アカウント情報なんかが消えた気がしますが・・・)。 で、下記の参考サイトをもとにsignatureがnullの場合もtrueを返すように修正して動作するように修正しまんた。 if (TextUtils.isEmpty(signedData) || TextUtils.isEmpty(base64PublicKey) || TextUtils.isEmpty(signature)) {         Log.e(TAG, "Purchase verification failed: missing data.");           if (BuildConfig.DEBUG) {                     return true;           }           return false;

Eclipseで既存ソースコードを読み込もうとしたときに怒られる話

大変参考になりまんた。 http://d.hatena.ne.jp/ekrea/20110214/1297670097