😸

Flutter アプリ内課金の思わぬ落とし穴。queryProductDetails で取得できないバグ。

2024/07/10に公開

バグ表記されないバグが一番怖いですよね。

アプリ内課金を使用していることの話で
今回、それにハマってしまいました・・・

下記のパッケージをインストールして
https://pub.dev/packages/in_app_purchase

App Store Connect でアプリ内アイテムを作成して
いざフェッチしてみると・・・

dart
onPressed: () {
    await inAppPurchase
        .queryProductDetails(productIds)
        .then((value) { ... }
}

データを取得しても value.notFoundIDs に全ての productIds が入ってしまっている・・・

結論

結論としては、そのアカウント自体の
有料アプリ契約を更新していなかったってオチだった。

こんなもん気付けるか!!って感じですよねw

あ、契約の確認は
「ビジネス→自分のアカウント」って順に進めば見つかるよ、
こんな感じの画面!

会社のやつだとこの
有料アプリ契約のステータスが期限切れになってて
これが原因でデータを取得できなかった。ぴえん。

ということで、これを更新してもらって
再度アイテムを作り直してフェッチすると取得できた。やったね!

参考

これと出会えなかったら多分終わってた。
https://stackoverflow.com/questions/77907997/trouble-with-queryproductdetails-in-flutter-package-in-app-purchase

Discussion