Google Play App Signing環境でのアプリ課金実装方法について

2,952 views
Skip to first unread message

dro

unread,
Oct 27, 2017, 12:53:36 PM10/27/17
to 日本Androidの会
Google Play App Signing環境でのアプリ課金(Google Play Billing Library 1.0)にについてご教示願います。

apkを作成しアップロード証明書で署名してアップロードし、その後Google Playで公開されたアプリの場合、問題なくアプリ内課金の機能は動作します。
ただ開発時に、Android Studioのbuild.gradle に以下のように定義して作成したアプリで課金機能を試すと、
「このバージョンのアプリには、Google Playを通じたお支払いにはご利用になれません。」というメッセージが出ます。
(BILLING_RESPONSE_RESULT_DEVELOPER_ERROR(5) が返ります。署名付きapkをadb installコマンドでインストールしても同様のエラーを返します)

おそらく、Google Play App Signing環境で、Googleの証明書でアプリ署名されているが故に
シグネチャ不一致でこのような状況になっていると思うのですが、この場合、回避策はあるのでしょうか。
(Google Play App Signing と アプリ課金の組み合わせの場合、どのような設定で開発するのが一般的なのでしょうか。
 毎回apkをアップロードしてテストするわけにもいかないと思いますので)

[build.gradleの内容]

signingConfigs {
        config {
            keyAlias 'xxxx' ←アップロード証明書のキーエイリアス
            storeFile file('xxxxx.jks') ←アップロード証明書が入っているキーストア
            storePassword 'xxxx'
            keyPassword 'xxxx'
        }
    }
                
お手数をおかけして恐縮ですが、ご存じの方はご教示いただけると助かります。
よろしくお願い致します。

dro

unread,
Oct 30, 2017, 3:34:50 AM10/30/17
to 日本Androidの会
Googleサポートに確認しました。
アプリ課金はVersionCodeと署名が一致している必要があり、Google Play App Signingを有効にすると、
この制限により、アップロードしたapkでしかテストできなくなる制限があるとのことです。
(つまり、AndroidStudioや手元の署名付apkでは課金のテストができない)

従って、AndroidStduioや手元の署名付apkでテストすることを望む場合は、Google Play App Signingを有効にしてはいけない、とのことです。

Google Play App Signingは無効にすることができないため、有効にしてしまった場合は、
パッケージ名を変更して別アプリとして登録するしかない、とのことです。

Googleサポートからそのような回答でしたので、本投稿は終了にしようと思います。
別の回避策をご存じの方がいらっしゃいましたら、是非ご教示いただけると助かります。

よろしくお願い致します。

2017年10月28日土曜日 1時53分36秒 UTC+9 dro:

dro

unread,
Nov 7, 2017, 8:49:06 PM11/7/17
to 日本Androidの会
更にテストしていたところ、Android Studio + Google Play App Signing有効の環境で、無事テストすることができましたのでご報告します。
(Googleサポートからは無理、と正式に言われたのですが、どうやら誤りのようです)
以下を設定したところ、無事Android Studioからもテストできるようになっています。

(1)Google Play Console「テスターの管理」にて、該当するgoogleアカウントを追加
(2)Google Play Console「アカウント詳細」の「ライセンス テスト」内の「テスト用のアクセス権がある Gmail アカウント」に、該当するgoogleアカウントを追加
(3)テストする端末にて、https://play.google.com/apps/testing/{your.app.namespace} にアクセスし、「テスターになる」ボタンを押下

私の場合は、上記(2)を抜かしたため、テストできなかったようです。
その他よく言われるアプリ課金用件(以下リンク参照)の条件が揃えば、課金テストをできると思います。

https://qiita.com/intel_yu/items/0d3266d028c788f3ac2d

お騒がせしました。
どなたかの役に立てれば幸いです。

2017年10月30日月曜日 16時34分50秒 UTC+9 dro:
Reply all
Reply to author
Forward
0 new messages