LoginSignup
8
5

More than 5 years have passed since last update.

Play Billing Library - Developer Preview 1の紹介

Posted at

前置き

この記事はAndroid Developers Blogの「Money made easily with the new Google Play Billing Library」をもとに作成しています。

Android Developers Blog: Money made easily with the new Google Play Billing Library

はじめに

現在、Androidアプリで課金処理を実装するためには「In-app Billing version 3」と呼ばれるAPIを使って実装する必要がありました。

この実装はAIDLと呼ばれるファイルをわざわざextras内の特定ファイルからコピペするなど、他のAndroidの機能実装に比べて少々特殊でした。その上 v3自体のリリースは2013年でそれ以降APIの更新はありませんでした。(いちおうversion 5までは存在するようですが、裏側だけの変化なのかAPIのドキュメントは存在しません)

そんな状況から、よりわかりやすい形でアプリ内課金を実装できることを目的に、新しいアプリ内課金ライブラリである「Play Billing Library」が公開されました。現在はDeveloper Preview 1としてリリースされています。

明確な変更点

実装方法の変更(AIDL不要、Gradleでの記述)

Support Libraryなどと同様に、build.gradleのdependenciesに1行追加するだけでOKになりました。もうAIDLファイルをコピペする必要はありません。AndroidManifest.xmlにBILLINGのPermissionを追加することはお忘れなく。

app/build.gradle
dependencies {
    ...
    compile 'com.android.billingclient:billing:dp-1'
}

Activityのライフサイクルに依存しない作り

これまでのIn-app Billingは購入結果をonActivityResultで処理する必要がありましたが、Play Billing Libraryでは各購入処理が専用のClientクラスやListerクラスが用意されているため、明示的に課金周りの処理を切り離して実装することができるようになっています。

…と書きつつ、実はまだ実装して試せていない部分もあるのでここの記述は曖昧です。現在はこれらの紹介記事はほとんどないため、下記に照会するTrivalDrive v2のコードを見るのが一番かと思います。

TrivialDrive v2(サンプルアプリ)の登場

Play Billing Libraryの公開に伴い、課金アプリのTrivialDriveのPlay Billing Library対応版であるv2がGoogleSamplesに公開されています。

v2になったことでwearやtv対応もしていますが、基本的にはコアの課金周りの実装はshared-moduleモジュール内にて記述されています。

さいごに

Play Billing LibraryはDeveloper Preview 1とあるように、現在正式リリースに向けて絶賛開発中です。IssueTrackerなどへの意見やバグ報告を絶賛募集中とのことなので、もし既存のIn-app Billingで思うところがある方など、どしどし意見を送るのもよいのではないかと思います。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5