0

私のアプリケーション用に購入したアイテムのリストを取得したい。そのためにはgetPurchases APIしかありません。そのdocumentationは言う:Android - アプリ課金V3。 UIスレッドで常にgetPurchasesを呼び出すのは安全ですか?

をGoogleは今、クライアントを再生するデバイス上でローカルアプリ内課金情報をキャッシュするため、あなたはgetPurchases呼び出しを通じて例えば、より頻繁にこの情報を照会するために、バージョン3 APIを使用することができます。以前のバージョンのAPIとは異なり、バージョン3のAPI呼び出しの多くは、Google Playへのネットワーク接続ではなく、キャッシュの参照によって処理されるため、APIの応答時間が大幅に短縮されます。

ただし、そのメソッドが情報を取得するために潜在的にネットワーク呼び出しを実行できるかどうかは、そのステートメントからは明らかではありません。そのような場合は、私のアプリはクラッシュするようになりました。私はUI Threadからそのメソッドを呼び出します。

UIスレッドからそのメソッドを呼び出すのは安全ですか?

+0

私は、請求ライブラリのルックアップが既に非同期であると思われます。そのメッセージは、キャッシュのためにQUICKERに応答できることを多く通知します。 – Broak

+0

getPurchasesはバ​​ンドルを返します。したがって、非同期である場合、メインスレッドは、バンドルが返されるまでブロックされますが、これは私が望むものではありません。私は、新しいスレッドを生成し、そのメソッドをこの新しいスレッド内で呼び出すという問題を解決する必要があるのだろうかと思います。したがって、getPurchasesが非同期タスクを実行できるかどうかを知る必要があります。 – Tiago

答えて

0

最後に私は安全にプレイし、スレッドを生成してその結果をメインスレッドに返すためにRxJavaを使用することにしました。このメソッドがネットワーク呼び出しを実行しない今日のケースであっても、ドキュメントが本当に何も言わないので、それはいつもそうなるだろうと仮定したくありません。

関連する問題