てくてくテック

気ままに開発のメモを書いていこうと思います。主にSwiftかと。

Reporterを使ってiTunes ConnectのSales and Trendsを自動で取得する

はじめに

iOSアプリのインストール数はiTunes ConnectのWebページに行ってデータを見るかエクスポートすれば確認することができます。 
しかし、いちいちWebページにアクセスして確認するのは面倒なので、プログラムで自動化しちゃおうというお話です。今回はとりあえずツールを使ってみるところまで書きます。

Autoingestion toolからReporterに

2016年9月末にAppleからAutoingesion tool使えなくなるよ。代わりにReporte使ってねってメールが来てました。今はまだ、iTunes ConnectのSales and Trends関係の自動化を調べるとAutoingesion Toolの方が出るかもしれません(こことか)が、基本はそんなに変わっていないかと

とりあえず使ってみる

Reporteでは大まかにSales and TrendsとPayments and Financial Reportsの二つが取得できるみたいですが,今回はSales and Trendsについてお話します。 なお、ドキュメントはAbout Sales and Trends Commandにあります。

概要

Reporterを使う流れは大まかに下記のようになっています。

  1. download ReporterでReporterをダウンロードする
  2. zipを解凍する.(Reporter.jarとReporter.propertiesがある)
  3. Reporter.propertiesにアカウント情報を書く(UserIdとPassword)
  4. javaを実行してvendor numberを取得する
  5. javaを実行してreportをダウンロードする
  6. ダウンロードしたファイルを解析する(今回はやらない)

次節以降で4と5について説明します。

vendor numberを取得する

reportを取得するjavaプログラムを実行するらしにvendor numberが必要になるので、それを取得します。ドキュメントにあるように下記のコマンドを実行すればわかります。

$ java -jar Reporter.jar p=Reporter.properties m=Robot.XML Sales.getVendors

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Vendors>
    <Vendor>80012345</Vendor>
    <Vendor>80067890</Vendor>
</Vendors>

reportをダウンロードする

これもドキュメント通りです。

$ java -jar Reporter.jar p=Reporter.properties m=Robot.XML Sales.getReport 80012345, Sales, Summary, Daily, 20150201

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Output>
    <Message>Successfully downloaded S_D_80012345_20150201.txt.gz.</Message>
</Output>

これでS_D.txt.gzというファイルがダウンロードされます。解凍するとS_D.txtというテキストファイルが生成されますが、中身はタブ\t区切りのtsvファイルです。またこれはWebページからエクスポートしたのと同じです。
正直jsonとかで返して欲しいですね...