【Firebase】iOSアプリ内課金のあれこれ –1–

開発したアプリに消費型の課金を実装していたのですが、サーバーを使ったレシート検証を行っていませんでした。

リワード広告を見ても課金に近いアイテムを貰えるようにしており、課金ペースも3日に1件くらいだったので、ローカルでのレシート検証、端末ID、日付照会だけでも問題なかったのですが、最近課金額も件数も増えてきたので、Firebase を利用したユーザー管理とレシート検証の方法を残しておきます。

サーバー側の処理はゼロから行ったので、実装してーなーって方いたらぜひ!

ちなみに、このアプリにはリリース当初から Firebase の Analytics と Crashlytics を連携していたので、その方法はここでは記載しません。
課金実装の方法も記載しないのでご了承ください。

これらに関してはたくさん記事が転がっているので、ご自身で調べてみてください。

記事の内容としては、Firebase で使うための Node.js や FirebaseCLI 等のインストール、Firebase でのデータベース作成や設定、実機でのコーディングや検証など、結構なボリュームになるので、複数回に分けて掲載していきます。

この記事を参考に構築・運用して、致命的バグや金銭的な被害があった場合でも、当方一切の責任を負いません。ご自身の自己判断でお願い致します。

前提条件

・macOS BigSur
・Homebrew
・Xcode12.3
・Swift5
・Node.js(未インストール)
※課金実装や Firebase 連携は済んでいるものとします。

Node.js をインストールする

インストールする場合は Homebrew を使いますが…

をかますと…

Error: Permission denied @ apply2files – /usr/local/lib/docker/cli-plugins

はい、初っ端から以下のエラーが出ました。笑(出ない方はスルー!)
権限ないよって言われてるのですが、権限変更や brew cleanup しても変わらず…
Homebrew の公式ドキュメントにあるコマンドを再試行することで解決しました。

無事に再インストールを終えたら、以下のコマンドでバージョンを確認します。

はい、私はさらに以下のエラーが出ました。笑

Fetching: https://nodejs.org/dist/v14.15.4/node-v14.15.4-darwin-x64.tar.gz
Warning: Failed to create the file
Warning: /Users/***UserName***/.nodebrew/src/v14.15.4/node-v14.15.4-darwin-x64.ta
Warning: r.gz: No such file or directory

curl: (23) Failed writing body (0 != 978)
download failed: https://nodejs.org/dist/v14.15.4/node-v14.15.4-darwin-x64.tar.gz

テンサゲですが、ディレクトリを作れば問題ないです。

んで、ターミナルを再起動しましょう!

をたたいて、有効化したバージョンが表示されたら完了です!

nをインストールする

n という node のバージョン管理のためのコマンドです。
便利なのでインストールしておきましょう

はい、また出ましたエラァァァ ᕕ( ͡° ͜ʖ ͡°)ᕗ

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules’
npm ERR! [Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules’] {
npm ERR! errno: -13,
npm ERR! code: ‘EACCES’,
npm ERR! syscall: ‘access’,
npm ERR! path: ‘/usr/local/lib/node_modules’
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/***UserName***/.npm/_logs/2020-12-27T12_41_32_190Z-debug.log

しつこくらい ERR! が並びまくったふざけたエラーですが、npm のデフォルトディレクトリを作成して設定するだけでイケます。

もう一度さっきの npm install -g n を実行してくだーさい。
さらっと成功したと思います。

FirebaseCLI をインストール

以下のコマンドで FirebaseCLI をインストールして Firebase にログインできるようにします。

2行目を実行するとブラウザが起動するので、画面の案内に沿って必要な情報を入力しましょう!
ログインしたら、Firebase で作成されているプロジェクトを表示してみます。

僕は4つプロジェクトがあったので、以下のように表示されます。
*ProjectID と ProjectNumber は消してます

ここに表示されない場合は Firebase にログインしてiOSプロジェクトを新規作成してください。
次は Firebase をいじるのですが、区切りがいいので、一旦ここで終了します!

さいごに

インストール作業からめちゃくちゃエラー出まくりました。笑
ディレクトリ作れば解決したけど、一作業するたびにエラー出るのは初めてでした ◔̯◔

コメント