inthisfucking.world

💩🌎

App StoreとGoogle Playにおけるin-app purchaseのライフサイクル

この記事は下書きです
続きを希望される場合は、コメントを残してください。著者のやる気が出ます。

Flutterで作っているappで、in-app purchaseに対応することにしました。Flutterには、in_app_purchaseという公式のパッケージがあり、これを使うとApp StoreとGoogle Playの両方で動作するin-app purchaseに対応できます。しかし、それでもApp StoreとGoogle Playの各々の仕組みを知る必要はあり、それに関するまとまった情報はあんまりありませんでした。

この記事では、App StoreとGoogle Playにて、in-app purchaseで自動で更新する定期購買に対応をする際に知っておくべき事柄を記載します。Googleが公開している”Adding in-app purchases to your Flutter app“というcodelabsと、in_app_purchaseが提供している実装の例がとても参考になるので、是非見てみてください。Googleのcodelabsに至っては、App StoreとGoogle Playの両方においてどういう設定が必要かも詳細に説明してくれています。とても参考になりました 😺

購入に対する唯一のIDの値の選択

定期購買 (subscription) を購入した際には、[PurchaseDetails](https://pub.dev/documentation/in_app_purchase/latest/in_app_purchase/PurchaseDetails-class.html)がコールバックの引数として渡されます。このオブジェクトにpurchaseIDプロパティがありますが、これが購入に対する唯一のIDとして使える値になります。App StoreとGoogle Playにおいて、この値は以下の様なフォーマットになっています。

定期購買のライフサイクル

購入の履歴の管理

in_app_purchaseを使ってもApp StoreとGoogle Playで異なる挙動

結論