LoginSignup
7
3

More than 3 years have passed since last update.

SandBoxテスターの作成数の上限について

Last updated at Posted at 2019-12-31

背景

iOSの課金環境のテストをする上でSandboxテスターが必要となりますが、Sandboxテスターを自動作成したほうが効率が良いケースがあります。
自動作成するにあたりむやみに作り続けるのは良くない+ドキュメントに記載がなかったこともあり、Sandboxテスターの上限数を調べるために以下の確認をしました。

サンプルコード

手始めに2500件のSandboxテスターを作成します。
fastlaneのSpaceshipを使うことでSandboxテスターの作成が簡単に行えるので、以下のようなコードで確認しました。

# Fastfile

default_platform(:ios)
require 'spaceship'

platform :ios do
  lane :create_sandbox_users do
      Spaceship::Tunes.login(ENV["SPACESHIP_USERNAME"], ENV["SPACESHIP_PASSWORD"])

      for i in 1..2500
        email = "#{format('%05d', i)}@test.com"
        puts email
        Spaceship::Tunes::SandboxTester.create!(email: email, password: ENV["SANDBOX_PASSWORD"])
      end
  end
end

実行例

fastlane create_sandbox_users

出力例

00001@test.com
00002@test.com
00003@test.com
00004@test.com
.
.
.

2500件のSandboxテスターを作成

Sandboxテスター一覧

AppStoreConnect上では、以下のように表示されます。
Screen Shot 2019-12-31 at 17.26.40.png

疑問点

ここで疑問に思ったのが作成した2500件のアカウント全ては表示されず、02277@test.comまでしか表示されていません。
(ところどころ表示されていないアカウントがあったのでトータル2000件ほどが表示されています)

検索結果

また、AppStoreConnect上の検索は表示しているものに対してフィルターしているため、検索結果にも表示されません。
Screen Shot 2019-12-31 at 17.26.59.png

Sandboxテスター一覧の確認

そもそも本当に作成がされていないのか以下の手順でSandboxテスター一覧を確認しました。
1. AppStoreConnectにログイン
2. https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/users/iap にアクセス

すると、次のようなJSON形式のレスポンスが返却されます。
Screen Shot 2019-12-31 at 17.45.14.png

02500@test.comが含まれていることから、AppStoreConnect上には表示されていないだけで作成されていることが確認できます。

iPhoneでログイン

試しに表示されていない02500@test.comにiPhone上でログインをしようとすると、問題なくログインできます。
IMG_4647.PNG

わかったこと

この時点でわかったことをまとめると
1. AppStoreConnect上ではSandboxテスターの表示上限数がある(約2000件)
2. 1.で表示されていなくても、Sandboxテスターの作成が成功していればiPhone上でログイン可能

さらにSandboxテスターを増やしたらどうなるかを確認するために、トータル数10000(2500+7500)のSandboxテスターを作成してみます。

10000件のSandboxテスターを作成

Sandboxテスター一覧

新規で作成したユーザーが表示されていますが、04085@test.comで止まっています。
Screen Shot 2019-12-31 at 20.16.57.png

iPhoneでログイン

前回同様に作成が成功したアカウントにはログイン可能です

IMG_4649.PNG

Sandboxテスター一覧が取得できない

しかし、https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/users/iap にアクセスするとユーザー数が多いのが原因か504 Gateway Timeoutによって、Sandboxテスター一覧のレスポンスが取得できませんでした。
Screen Shot 2019-12-31 at 20.16.03.png

まとめ

上記で確認してきたことをまとめると

  • AppStoreConnect上のSandboxテスターには表示上限数がある(自分の試した環境では約2000件だった)
  • 作成が成功したアカウントは、AppStoreConnect上の表示有無によらずiPhone上でログイン可能
  • 一定の作成数を超えると、ユーザー一覧情報が取得できなくなる

作成したアカウントがAppStoreConnect上に表示されていないと混乱を招きやすいので、以下のように運用することをおすすめします。

  • Sandboxテスター数を表示上限数(約2000件)以内に収める
  • 表示上限数を超える場合は、古いSandboxテスターを削除する

関連URL

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3