つばくろぐ @takamii228

知は力なり

2020年のキャッシュレス業を振り返る

社会人になってから実はコツコツ家計簿をつけていて、それに加えて一昨年からマネーフォワードMEを使い始めている。

takamii.hatenablog.com

最近はキャッシュレス還元ブームが浸透して、自分も支払いはQRコードやクレカなどの電子決済メインになってきていて現金を使う機会はほとんどなくなった。

2018年度に約83%だったキャッシュレス比率は、2020年でみるとなんと約98%で今年使った現金は10万にも満たなかった。

一方でクレカのポイントやキャッシュレスの還元でどれだけポイント還元されたはマネーフォワードでは収入扱いにすれば捕捉できそうなのだけど、利用用途が限られているものを収入換算するのが憚れるのと、ポイントによってはうまく捕捉できなかったりするのでまとめられていなかった。

そこで今年の分は月次で集計して年単位でまとめることにし、年の瀬に振り返ってみることにしたのでここにまとめておく。

主に使っているクレジットカード

以下が私が今年主に使ったクレジットカードだ。各カードの還元率が気になる人はそれぞれのリンク先で確認してほしい。

各カードは決済別の還元率やサービスの特徴に応じて使い分けている。

今年度の初頭はまだVisa LINE Payカードは無かったので、Kyashをメインに裏にAmazon Mastercardクラシックを置いて使っていた。LINE Payカードがローンチしてからは3%還元を狙ってLINE Payカードをメインに使うようにした。

家電に加えて本や日曜品はヨドバシで買えるので、11%還元されるヨドバシゴールドを使っている。近所のスーパーはイオン系列なのでWAONオートチャージWAONポイントを貯めるためにイオンカードを使っている。普段の電車移動ではTo Me Cardでオートチャージをしつつ、メトロポイントやメトポを貯めている。

主に使っているQRコード・電子決済サービス

以下が私が今年度使ったQRコードや電子決済サービスだ。

QRコード決済はクーポンや還元目当てで昨年から使っていて、今年度はLINE PayはLINE Payカードのポイントの出口として結構使った。メルペイは後払いのキャンペーン還元を狙いつつ、メルカリの売上残高をコンビニで使ったりした。WAONPASMOはそれぞれクレカと一体型のものを使っていてオートチャージして使っている。

PASMOについては当初はオートチャージ目的でTo Me Card Primeを作ったが、To Me Cardで貯まるメトロポイントPlusと東京メトロの施策で乗車単位や通勤時間に応じでもらえるメトポを貯めている。

www.to-me-card.jp

www.metpo.jp

PASMOについては都営地下鉄のトコポもあるけど、結局紐付けずに放置したままだった(わざわざ都営の駅に行くのが面倒...)

www.kotsu.metro.tokyo.jp

To Me Card Primeは使っているクレジットカードやサービスの中で唯一年会費がかかるが、これは以前通常使っていれば年会費分が回収できることを確認済みである。

takamii.hatenablog.com

マイナポイントについて

今年は国のキャッシュレス推進施策としてマイナポイントの事業が9月から開始された。

mynumbercard.point.soumu.go.jp

いろんなキャッシュレスサービスを利用していたので、どれに紐付けるか悩んだのだが、追加のポイント還元があって確実に利用しそうなWAONに紐付けることにした。

2020年に還元されたクレジットカードのポイント一覧

2020年分のクレジットカードのポイントを年間集計すると以下のようになった。

なお締めの関係で1月分ずれているので昨年の12月〜今年の11月までの決済分になっているものもある。またイオンカードとTo Me CardはQR・電子決済の方で見る。

カード名 合計利用額 還元額 実質還元率
Amazon Mastercard クラシック 269,516円 2,744 1.02%
Kyash Card 269,266円 3,698 1.37%
Visa LINE Payクレジットカード 930,404円 27,737 2.98%
ヨドバシゴールドポイントカード+ 260,118円 25,661 9.87%

だいたい還元率通りの結果になっている。還元率についてはだいたい切り捨てられることが多いので合計利用金額に掛け算した場合より少なくなっている。集計してて気づいたのだが、なんとヨドバシは小数点以下を切り上げてポイント還元していて感動した。

2020年に還元されたQRコード・電子決済サービスのポイント

2020年分のQRコード・電子決済サービスのポイントを消費分をベースに年間集計すると以下のようになった。

サービス名 合計利用額 取得・利用ポイント 実質還元率
LINE Pay 55,620円 26,836 省略
PayPay 45,589円 1,767 3.86%
メルペイ 21,944円 3,847 17.53%
WAON 138,191円 12,152 8.79%
PASMO 93,730円 メトロポイントPlus:5,052
メトポ:2,959
8.55%(合算)

LINE Payはクレカのポイント消費分がほとんどなので還元率は省略する。LINE Payはポイント消費以外には個人間の送金でよく使った。PayPayは飲食店での利用やLINE Payを使ってない人との間での個人間送金に利用した。メルペイは後払いの還元やコンビニクーポンが強かった印象。

WAONはマイナポイント5000ポイントに加えてチャージ分の2000ポイントを取得した。またポイント還元がある商品を買ってコツコツためた分も約5000ポイント分あった。自粛生活でスーパーへ行く機会が増えたことも影響したのかもしれない。

PASMOについては今年もTo Me Cardの年会費2200円分が余裕で回収できたことを確認できた。

2020年の合計還元額

クレカ、QR・電子決済の利用分と還元額を合計すると、LINE Payの分はクレカに合算すると以下の用になった。

- 合計利用金額 取得・利用ポイント
クレジットカード 1,729,304円 59,860
QR・電子決済 299,454円 25,777
合計 2,028,758円 85,617

今年は総括すると約8万5000円分くらい得できたらしい。わーい!

今回集計には足してないが、他にもdポイントやTポイント、Go To EATでもポイント還元の恩恵を受けた。なおGo To EATはポイントは貯めたもののまだ使ってないし食事券もたんまり余っているので3月あたりに消費したいけど状況が読めない...。Go To Travelもまだ使ってないので、早くコロナが収束してほしい限りだ。

2021年はおそらく各社のキャッシュレス還元のキャンペーンもあまり目立たなくなると思われる。特にLINE Payカードの還元率の3%も終わってしまうので、2021年の戦略もまた建て直さないといけなくなる気がしている。

おまけ

今年はクレカの新規作成キャンペーンで三井住友カードで12000円分、UFJニコスで10000円分キャッシュバックもらったりもした。

www.smbc-card.com

ニコスのキャンペーンサイトはなかったのでブログ記事を引用する。

www.bcnretail.com

2020年にお金を払ったサービス一覧

2020年にお金を払ったサービスのまとめの今年分をまとめました。

2019年版はこちら。

takamii.hatenablog.com

新規

Zoom 2200円 / 月

仕事で必要になったので課金し始めて、プライベートでも使うようになったのでそのまま課金している。年間契約にしようか悩み中...。

Apple Music 9800円 / 年

在宅勤務メインになって音楽鳴らしながら作業できるようになったのだけど、毎回聞きたい曲を調達してってのが面倒になったので課金を始めた。

継続

マネーフォワードME 5300円 / 年

安定。2年目なので年単位の比較ができるようになった。自前スプレッドシートと併用してるけどそろそろこれ一本にしてもよさそう。

Apple Developer Program $99 / 年

iOSアプリ開発のお仕事をやるケースがあるので。土日にお家で検証する時に役立った。

Amazon Prime 4900円 / 年

Amazonカードをメインに使わなくなったし通販はヨドバシが多くなったのだけど、自粛生活でPrime Videoに大変お世話になった。Prime Readingもたまに見る。

dマガジン 440円 / 月

今年もお世話になった。コスパいい。

Evernote Plus 3100円 / 年

メモツールとしてはあんまり活用できてないけど、Twitterの投稿保存したり過去のメモを参照する時に使ってるので悩ましい。

Google One 2500円 / 年

Google Driveから名前が変わった。

To Me Card 2200円 / 年

自粛生活で通勤で電車乗ることは少なくなったけど、なんだかんだ電車乗ったときにポイント貯まるので年会費は余裕でペイできている。

日本経済新聞Wプラン 5900円 / 月

実家と折半継続。もうそろそろ電子プランかな...。

IntelliJ IDEA Ultimate Personal 11110円 / 年

あんまり使わなかった...。

お名前.com 4224円 / 3年

面倒なので3年プランで買った。

Nintendo Online 2400円 / 年

去年載せ忘れてた。スマブラ、あつ森、桃鉄でお世話になった。

NHK 24770円 / 年

これも去年載せてなかった。値下げしてくれ。

新宿御苑年間パスポート 2000円 / 年

500円に値上がりしたけど年パスは据え置きなので4回で元が取れるようになった。コロナであんまり行かなくなったけどまた行きたいな。

1月分だけ課金したもの

ニコニコ動画 550円/月

iOSDCでタイムシフト予約するためだけに1月分だけ課金した。

FOD 976円/月

アンサングシンデレラ見逃したので1月分だけ課金した。

WindowsからApp Store Connectにipaファイルをアップロードする

ipaファイルをApp Store Connectへアップロードする場合、Xcode上でAcrhive後にそのままアップロードする方法と、macOSアプリとして配布されているTransporter というアップローダーツールを使う方法があります。

Transporter

Transporter

apps.apple.com

このTransporterについて詳しく調べていたら、どうやらjavaベースのCLIツールもあってしかもLinuxWindows向けも用意されていることが判明しました。

help.apple.com

What is Transporter?
Transporter is Apple’s Java-based command-line tool for large catalog deliveries. You can use Transporter to deliver your pre-generated content, in a Store Package, to the iTunes Store, Apple Books, and App Store.
...
(中略)
Transporter includes the following features:

An easy-to-use, out-of-the-box installation package, including installers for macOS, Microsoft’s Windows, and Red Hat Enterprise Linux.
...

iTunes StoreApple Booksとあるのでメディア・コンテンツのアップロードツールっぽいですが、App Storeへのアップロードもサポートしているようです。

iOSアプリの開発にはmacOSは必須ですし、App Store Connectへのアップロードには当然macOSが必要だと思ってたらWindowsでもLinuxでもアップロードできるんですね。

ということで今回はこのTransporterのCLIツールを使ってWindowsipaファイルをアップロードする方法をまとめてみます。

TransporterをWindows上でインストールする

マニュアルの Install Transporter on Windowsに従ってexeをダウンロードして、実行するとダウンロードコマンド一式が落ちてきます。

'C:\Program Files (x86)\itms というところに iTMSTransporter.cmd があるので、これをPowerShell上で実行すればよさそうです。

PS C:\Users\xxxxxx> & 'C:\Program Files (x86)\itms\iTMSTransporter.cmd' -help
[2020-12-26 13:32:18 JST] <main>  INFO: Configuring logging...
[2020-12-26 13:32:18 JST] <main>  INFO: Logging level set to eXtreme
[2020-12-26 13:32:18 JST] <main>  INFO: Transporter is searching for new software components.
[2020-12-26 13:32:18 JST] <main>  INFO: INFO: using cached repository.xml file.
[2020-12-26 13:32:19 JST] <main>  INFO: Update check complete.
[2020-12-26 13:32:21 JST] <main> DEBUG: Attempting refresh of configuration data from https://contentdelivery.itunes.apple.com/transporter/Defaults.properties
[2020-12-26 13:32:21 JST] <main> DEBUG: Configuration refresh successful.
[2020-12-26 13:32:21 JST] <main> DEBUG: Saving configuration to local path: C:\Users\xxxxxi\.itmstransporter\Defaults.properties
usage: iTMSTransporter [-help <arg> | -info | -m <arg> | -version]   [-o <arg>] [-v
       <arg>]  [-WONoPause <arg>] [-Xmx4096m]
iTMSTransporter : iTunes Store Transporter 2.1.0
 -help <arg>        Show this help.  If a mode value is specified, show help specific
                    to that mode.
 -info              The -info option should be used by itself and returns the
                    copyright notice and acknowledgements.
 -m <arg>           The -m option specifies the tool's mode.  The valid values are:
                    verify, upload, provider, diagnostic, lookupMetadata,
                    createArtist, lookupArtist, status, statusAll,
                    createMetadataTicket, queryTickets, generateSchema, transferTest,
                    downloadMetadataGuides, listReports, requestReport
 -o <arg>           The -o option specifies the directory and filename you want to use
                    to log output information.  By default, Transporter logs output
                    information to standard out. If you specify a filename,
                    Transporter logs the output to the specified file, as well as to
                    standard out.
 -v <arg>           The -v option specifies the level of logging.  The five values
                    are: off, detailed, informational, critical, eXtreme.
 -version           The -version option should be used by itself and returns the
                    version of the tool.
 -WONoPause <arg>   The -WONoPause option is only valid on Windows and its value can
                    be 'true' or 'false'.  If an error occurs during script execution,
                    the process idles because the message 'Press any key...' is
                    displayed on the console and the system awaits a keypress. To
                    avoid this behavior, set this property to true
 -Xmx4096m          Specifies that you want to change the Java Virtual Machine's (JVM)
                    allocated memory by increasing the JVM heap size.  By default,
                    Transporter uses a 2048MB heap size. You can use the -Xmx4096m
                    option to specify a 4-gigabyte (GB) heap size. Apple recommends,
                    if needed, increasing the heap size to 4096MB by specifying the
                    -Xmx4096m (or -Xmx4g) option and adjusting as needed.
[2020-12-26 13:32:21 JST] <main> DBG-X: Returning 0

今回はApp Store Connectへのアップロードなのでmodeとしてはuploadを使えばよさそうです。

-u-pオプションでApp Store Connectへのクレデンシャル情報を設定するようです。

アップロードするipaファイルパスの指定は -assetFile オプションを使うようで、さらにLinuxWindowsの場合は-assetDescriptionオプションをつけろと書いてあります。

App uploads for macOS, Linux, and Windows: Specifies the directory and filename for the app source file (.pkg or .ipa). For Linux and Windows, -assetDescription is required.

なんじゃこのファイルと思ったらArchiveをExportするときに生成するファイルのようで、ExportOption.plistファイルに指定しておけばよさそうです。

https://help.apple.com/xcode/mac/current/#/deva1f2ab5a2

ipaファイルを作成する

適当なサンプルアプリをmacOS上で作ってipaファイルを配布用の証明書で署名し、Exportします。

ExportOption.plistファイルに以下のようにgenerateAppStoreInformationをセットするとAppStoreInfo.plistというファイルが生成されました。

<dict>
        ...
    <key>generateAppStoreInformation</key>
    <true/>
</dict>

設定の詳細はこちら。

qiita.com

生成したipaファイルとAppStoreInfo.plistファイルをWindowsに持っていきます。

Windows上でTransporterのコマンドを実行してみる

いよいよWindows上でTransporterコマンドを実行してみます。

PS C:\Users\xxxxxx> & 'C:\Program Files (x86)\itms\iTMSTransporter.cmd' -m upload -assetFile .\Desktop\sample.ipa -u xxxxx
  -p xxxxxx -assetDescription .\Desktop\AppStoreInfo.plist -v eXtreme

実行してみると、アップロード処理に失敗して以下のようなエラーが発生しました。

[2020-12-26 13:46:24 JST] <main> ERROR: Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to appleid.apple.com (-22938)

どうやらここで指定するパスワードはApple IDのパスワードではなくてapp-specific passwordというのを指定するようです。

Transporterのドキュメントにも書いてありました。二段階認証を設定しているアカウント向けのアクセストークン相当のもののようです。

Two-factor authentication

If you have enabled two-factor authentication on your account, you must create an app-specific password, as described in Using app-specific passwords. Using an app-specific password increases the level of security and ensures your Apple ID password won’t be collected or stored by third-party apps.

発行方法はこちらに書いてありました。

support.apple.com

Apple IDの設定画面でapp-specific passwordを生成し、設定して再度実行すると無事アップロードが成功しました。

PS C:\Users\xxxxxx> & 'C:\Program Files (x86)\itms\iTMSTransporter.cmd' -m upload -assetFile .\Desktop\sample.ipa -u xxxxx
  -p xxxxxx -assetDescription .\Desktop\AppStoreInfo.plist -v eXtreme

今回は試しませんが、おそらく似たようなやり方でLinuxからもアップロードできるでしょう。

まとめ

WindowsでもTransporterのコマンドラインツールを使えばApp Store Connectへアップロードできることがわかりました。

政治的にmacOSが使えなかったり購入できなくて「どうしてもWindowsでできないのか」と聞かれた時にはぜひこのやり方を紹介するとよいでしょう。

個人的にはXcodeやTransporter使った方が楽なので、macOSのマシンを1台購入することをおすすめします。