Flutterにおけるin_app_purchaseを使用した課金実装においてiOSが購入アイテムが0件の場合にハンドリングできない問題について

エキサイト株式会社の奥田です。 今回は下記に掲載しているライブラリin_app_purchaseを使用した際に購入アイテムが0件の場合にハンドリングができなかった問題の解消方法について記載していきます。

pub.dev

問題点

in_app_purchaseを使用している際に購入アイテムが0件の場合にiOSに限りコールバックが返って来ずハンドリングができない問題が発生していました。

解決方法

in_app_purchaseのライブラリのバージョンを上げることで対応ができました。 下記のチェンジログを見ていただくとわかるのですがin_app_purchase 3.0.0からiOS側で購入アイテムがない場合に空のリストが返却されるようになりました。 下記の実装のように購入アイテムリストが空の場合にハンドリングができるようになりました。

if (details.isEmpty) {
  // 実装内容
  print('アイテムが存在していません'); 
}

pub.dev

Flutterはまだ日が浅いこともあり純正のライブラリでも頻繁にアップデートが行われています。定期的に確認するなどして変更点を確認する必要があります。

最後に

エキサイトではフロントエンジニア、バックエンドエンジニア、アプリエンジニアを随時募集しております。長期インターンも歓迎していますので、興味があれば連絡いただければと思います。今回の記事を読んで少しでも興味が湧きましたら是非応募お願い致します!!

就業型インターンの募集情報です! www.wantedly.com

募集職種一覧はこちらになります!カジュアル面談からでも構いません。 www.wantedly.com