*前回の記事はこちらです。
再度、購入しようとしてみたところ「エラー 指定したアイテムは購入できません。」と出た。公開しないといけないらしい(参考)。公開といっても製品版でなければ、テストユーザー内に公開ということになる。
公開できない理由を見ながら、すべての項目を埋めていく。アイコンの用意などがあるので、これらはフリー素材を借りてリサイズした。公開が完了するまでには数分から数時間かかる。
公開が完了したが、依然としてエラーは解消されない。
閑話
再度、英語の手順を確認してみると「IInAppBillingService.aidl」を追加しなければいけないとある。AIDLとはAndroid Interface Definition Languageの略で、これがGoogle Playサービスへのインターフェースを定義しているとのことだ。
ただこのAIDLはサンプルのTrivialDriveには既に含まれており、自作のアプリを作った際はこのサンプルのAIDLをコピーして使う方法について書かれているだけである。
言い始めれば、このGoogleのトレーニングはTrivialDriveを通してアプリ内課金の方法を理解するものではなく、自作のアプリにTrivialDriveのAIDLを使ってアプリ内課金を実装するものだったようだ。
尚、「IInAppBillingService.aidl」は下図の場所にあった。Googleがアプリ内課金で提供しているメソッドが書いてあった。
閑話休題
アプリを「クローズドアルファ版テスト」で公開したのだが、テストアカウントをリストに登録するだけでは不十分で、オプトインURLにアクセスする必要があった。
テストしたいアカウントでオプトインURLにアクセスすると次のように表示され、これでようやくコンソール(アプリ内アイテム)の更新が反映されることとなった。
有効になったテストアカウントで購入をしようとすると、次のように表示される。この時点で既にテスト用の注文であることが表示されてくれる。
尚、iPhone移行前に使っていたアカウントだと次のように表示された。
「Buy Gas」で"gas"の購入。「Upgrade My Car」で"premium"の購入(車が青から赤になるらしい)。「Get Infinite Gas」で"infinite_gas_monthly"か"infinite_gas_yearly"の購入のようだ。
尚、コンソールにアイテムが登録されていない場合でも「認証が必要です。Googleアカウントにログインしてください。」と表示されるようだった。実体とエラー文が異なるのでかなり注意。
このときAndroid Device Monitorに表示されるErrorを含むログは次の2文。
0 件のコメント:
コメントを投稿