現在Monacaでアプリ内課金を実装しております。
「cordova-plugin-inapppurchase」プラグインを使用して実装し、Monacaでデバッグビルドを実行・インストールしたiOSで問題無く動作する状態になりました。
次にこれをAndroidでテストすると、「Error retrieving SKU details」というエラーが表示され、Google Playサーバーに接続できませんでした。
具体的にはアイテムの復元・購入操作を行う前に実行する必要がある、アイテムデータの取得時(inAppPurchase.getProducts)に、何らかの問題でサーバーに接続することができないようです。
ネット上の情報を参考に、www直下に作成したmanifest.jsonに次のコードを記述しています。
json
1{ "play_store_key": "(Google Playコンソールで取得したキー)"}
アイテムデータの取得に用いているコード:
JavaScript
1 inAppPurchase 2 .getProducts(['test1','test2']) 3 .then(function (products) { 4 // 商品データ取得成功時の処理 5 }) 6 .catch(function (err) { 7 // 商品データ取得失敗時の処理 8 }); 9
またGoogle Play上で、保留中の購入アイテムがあるとエラーが表示されるとの記述がありましたが、こちらも特にそのような状態になっているアイテムはありませんでした(ただし「お支払いは承認されませんでした」と表示されている注文履歴はいくつかあります)。
使用したAndroid機は以前から同じアプリの開発用に使用しているもので、別のアプリ内課金プラグインを実装したときには問題無く動作していました。そのときから端末設定は特に変えておりません。
何が問題かまったく分からず、上記について解決策お知りの方、何とぞよろしくお願いいたします。
追記
「Error retrieving SKU details」はプラグインによって代替されたメッセージのようで、実際に起きているエラーの内容を示すメッセージは
「Error refreshing inventory(querying owned items). (response: -1003:Purchase signature verification failed)」でした。
あなたの回答
tips
プレビュー