Unity Codeless IAPで簡単に課金アイテムを実装できた話

Unityでは、なんとコードを書かなくても課金機能が実装できるらしい・・・!

そんな噂を聞きつけ、私はさっそくコードを書かない課金アイテムの実装に着手しました。

まずは公式のドキュメントを読んで・・・公式の・・・ドキュメント・・・?


Codeless IAP Getting Started Guide

・・・え、これだけ?Restoreとかどうすんの?ええ?

購入だけなら確かにコードなしで実装できそうですが、iOS版をリリースするには最低でもリストア機能を実装しないと審査を通りません。ということはこのままではダメです。

コードはちょっと書く

Unity Codeless IAPの情報はまだ少ないですが、よく探したらもう少しちゃんとしたドキュメントがありました。

Unity – Manual: Codeless IAP

リストアを実装している方の日本語の記事もありましたが、↓こちらはちょっと遠回りして実装してる感じ。記載されている情報はとても参考になります。Restoreボタンと同じシーンにPurchaseボタンを配置しないとダメ、とか重要。

UnityIAP IAPボタンを用いた非消費型アイテムのリストア対応 – Qiita

IAPButton.csとか改造しなくても普通にリストアは実装できます。割と簡単でした。

テストした当日、Apple側に問題が発生していたことに気づかず4時間ほど無駄にしましたが、簡単でした。なんだよちくしょう(おかけで普通にコードで実装もできるようになったけど・・・)!

引っかかった点

iOS版はルールとしてレストアするボタンを設置する必要があり、勝手にレストアのプロセスが走ることはありません。

これに対してAndroid版(というかGooglePlay版?)は勝手にレストアが走るので注意が必要です。

私の場合、アイテムの購入後に子孫くんが特別なコメントを言うようになっていたのですが、レストアが走るとアプリの起動時にいきなりアイテム購入のコメントを口走るのでビビリました。

このあたりは実装の工夫でなんとでもなるので工夫しましょう。

感想

Codeless IAPでとても簡単にアプリ内課金が実装できるのはマジですが、ドキュメントが少ないのでそういう意味で苦戦するかもしれません。

あと、おそらく人生で1度しかない「初めてのCodeless IAPの実装」をやっている時に限ってApple側で問題を起こすのはやめてほしいです。

Codeless IAPは実機でテストした時にロクなログを吐いてくれなかったので、原因の究明に時間と精神力を奪われました。アレがなければそもそも徹夜なんかしなかったのに!

とにかく、割とお高いAssetとか購入せずに簡単にアプリ内課金が実装できるのは素晴らしいです。特に私のような超零細個人開発者には救いの神ですね。

それと今回、初期バージョンでは課金を実装しなかったアプリに対して、プレイヤーの皆さんから「お布施してやるから課金機能をつけろ」という言葉をいただけたのは本当に励みになりました。マジで凄いことですよね!

そんな幹事で、皆さんも楽しくアプリを作って稼ぎましょう。

じぃーまでした。