https://github.com/anjlab/Android-inapp-billing-v を使用してアプリ内購入を実装しています。ただし、アプリのポップアップを開くと、「エラー認証が必要です。Googleアカウントにサインインする必要があります」と表示されます。同じ結果として異なるデバイスを使用してテストしました。
即興! 「エラー認証が必要です。Googleアカウントにサインインする必要があります」というエラーが表示される理由を見つけるために多くの時間を費やしました。そして、何時間も後に見つけました-私はコンソールから間違ったアイテムIDにアクセスしようとしていました。開発者コンソールのサブスクリプションアイテムのIDは「プレミアム」で、「プレミアムバージョン」アイテムにアクセスしようとしました。愚かな間違いですが、グーグルからのエラーは絶対に有益ではありません。お役に立てれば
私の場合、起こったのは、適切な製品がすべてコンソールにセットアップされていたが、アクティベートされていなかったことです。
上記のポップアップが表示された場合は、残念ながらこのGoogleポップアップでは手がかりを得るのに十分な情報がないため、次の手順を再確認できます。
お役に立てれば :)
私の場合、私のbase64EncodedPublicKeyは正しくありませんそして、私のアプリ内製品は非アクティブでした。 ur inapp製品IDがコンソールと同じであることを確認してください。
私はこのエラーに何時間も苦労しました。製品IDが正しく、アプリがAlphaに公開され、Alphaテスターリストをアクティブにし、オプトインリンクを介して参加しましたが、何も機能していませんでした。
最終的に、開発者コンソールで使用されているのと同じGmailアカウントを使用できないことを発見しました。それだけで、別のgmailアカウントをテスターとして追加し、アプリのダウンロードに使用し、認証エラーはもうありませんでした。
また、アプリに変更を加えてデバッグバージョンを作成するだけで、エラーが再表示されました。署名済みリリースのAPKのみを使用できます。
解決済み、製品IDの間違いのみでした。Playストアの製品IDとアプリSKU_NAMEは、アプリ請求と同じでなければなりません。
製品IDであるiabサンプルプロジェクトで適切に言及されていない
i.e SKU_GAS = "gas"およびSKU_PREMIUM = "premium"プロジェクト内
それから
"gas"および"premium"は、play-storeで利用可能でなければなりませんas productId。
Google Play BetaチャンネルにアップロードされたAPKに署名したのと同じキーストアを使用して、必ずアプリケーションをビルドして署名してください。別のキーストアで署名するのを間違えましたが、気づきませんでした。
テストアカウントでPlayストアにログインしていることを確認してください。電話を再起動します。少なくとも私の場合、再起動が必要でした。
Googleのサンプル(簡単なドライブなど)を使用している場合、古い.aidlファイルが原因で発生する可能性があります。アプリケーションをテストするための最新バージョンを受け取ります。
すべてのIn App Purchaseアイテムに正しい製品IDを使用して、同じ問題に直面していました。私のアプリは、Google Playで公開する準備ができていました(アルファテストでAPKを使用)が、提出されませんでした。解決策は、アプリを送信してGoogle Playデベロッパーコンソールチームがレビューすることでした。
それがあなたを助けることを願っています!