#はじめに
ファミリー共有(シェアリング)の機能である、購入時の問い合わせ機能を確認するための試験環境の構築が目的です。
すでに対応しているアプリもいくつか出ているとのことで
仕様把握とテスト環境をつくるのけっこう大変です。
Sandboxの環境が出来た方は
ユーザの追加フローについてこちらに書きましたのでご参考に
http://qiita.com/nofrmm/items/44daa7146f0b59ea1865
#ご理解をいただくために
現時点でSandbox上確認した動作を共有しますと
検証中の端末スペックはiOS8.0系です。
子供が依頼して親に依頼する→親に通知は届かなかったため、子供の端末で親のIDを入れる
OSのマイナーバージョンでも動作が異なると想定してiOS8.1でも動作確認をします。
ここに記載した設定から確認した内容については、私の環境下では問題視していなくても
実行される方にとっては問題となる内容かもしれませんので、内容を精査の上実行してください。
また、詳細はデベロッパー登録をしている方であれば確認が可能です。
SKPaymentTransactionStateDeferred
と検索すれば、次のような情報が見つかります。
こちらのフォーラムや、iOS Dev Center などからたどれるcontactusでは
どうしても正しい方法を知りたい方は、有料のサポートを使うよう、Appleから記載がありました。
そのため、こちらの内容が
逸脱している、他の方に迷惑になっているようであれば削除することもあります。
ご理解よろしくお願いいたします。
#機能を知る
いままで使ったことのない機能なのでエンドユーザに向けた資料の方が
分かりやすいこともあります。
##公開資料より
App 内課金で入手したコンテンツは、ファミリー共有グループに参加している家族間で共有されません。
購入の承認を求める
http://support.apple.com/kb/HT201089?viewlocale=ja_JP
18 歳未満* の家族に対して、購入の承認を求める設定を有効/無効にするには、以下の手順を実行してください。
(略)
*国や地域によって年齢が異なる場合があります。
#iOSデバイスで登録可能なAppleIDの上限
https://discussionsjapan.apple.com/thread/10146396
このiPhoneでアクティベートされた無料アカウントの数が利用可能数の上限に達しています。と出てサインインできません。
ひとつのiOSデバイスに登録できるiCloudユーザの登録数には上限があります。
1つの端末で複数ユーザを使い回すよりは、ユーザのステータスを変更して使うことをお勧めします。
##Sandboxテスターの設定条件
Sandboxテスターの年齢を何回か変更して検証した結果は
日本のAppStore
の元では
親:保護者 | 子:購入を制限する対象 |
---|---|
二十歳以上 | 二十歳未満 |
としてiCloudで設定可能となっていました。
18歳以上
となっていたのは英語原文ままの翻訳かもしれません。
また、これを書いている時から変更がある可能性もあるため、自分の環境で試してみた方がいいです。
Sandboxテスターの年齢は簡単に変更できます。
回数制限はあるだろうか・・・検証中3、4回ほど変更しています。
#手順
(1)Sandboxテスター(AppleID x 2個)を作成
(2)クレジットカードの登録をしているAppleIDを準備(要確認)
(3)iPhoneの設定(iCloud、AppStore)
#Sandboxテスターの作成
登録作業の前に、実際に使えるメールアドレスを用意します。
メールボックスサービス
さくらのメールアドレス
http://www.sakura.ne.jp/mail/
や
使い捨てメールアドレス
http://matome.naver.jp/odai/2132730294643970201
でも確認は出来ます。
##iTunes Connect
Sandboxテスターを作成します
###項目
メールアドレスは実在するものを設定します。
画面には最小限必要なものだけですが、他にも項目があります。
入力項目の内容はAppleさんの方針でまま変更されるため、サイトを実際に開いて確認してください。
確認したエラー内容
- Appleアカウント(AppleIDのこと?)として登録してるメールアドレスは使えない
- 秘密の回答:6〜35文字
- もっとパスワードを複雑に
##登録メールが届く
登録メールのURLをブラウザ(Safari推奨)で開いて登録が完了します。
###個人的には
メールは本文からクリックで開くより
本文からリンク先をコピーして
テキストに貼ってからSafariで開く癖がついています・・・
#クレジットカードの登録をしているAppleID
SandBoxテスターで可能であればそちらでも良いですが
うまく登録がいかなかったので
- 普段の購入などに使っていない
- クレジットカードを登録済み
上記の条件の正規
のAppleIDを作成しました。
#iOSデバイスの設定
設定画面のiTunes & App Store
設定からはじめます
##設定済みの端末の前処理
今回使わないアカウントが設定済であるならサインアウト
します。
AppleIDのパスワードを何回か入力する必要あり
###iCloud
端末に保存されているデータは削除されてしまいますので、普段使いの端末ではやらない方がいいです。
再設定したら戻るかもしれませんが保証できません
iCloudからもアカウントを抜きます。
##Sandboxテスターを設定
↓
↓
↓
結合しない
を選ぶことをお勧めします
完了すると次のようなメールが届きました
このApple IDはiPod上でiCloudへサインインするために使用されています
ファミリー共有
を選びます
###誕生日の設定
↓
↓
↓
##ファミリー共有設定
設定 > iCloud > ファミリー共有を設定...
↓
↓
↓
ここでクレジットカード、デビッドカードを使えるAppleIDが必要なことがわかります
##iTunes & App Store
###注意
保護者役のAppleIDにはクレジットカードの登録が必要です。
SandboxテストユーザーのAppleIDに設定することを何度か試したところ
登録がうまくいかなかったため、端末には先にクレジットカードの設定をおこなった正規
のAppleIDを設定することにしました。
##それぞれの端末設定
設定 > ITunes & App Store と選びます。
###保護者役の端末
iCloud | AppStore |
---|---|
Sandboxテストユーザー(親) | 正規のAppleID |
###子供役の端末
iCloud | AppStore |
---|---|
Sandboxテストユーザー(子) | (未設定のままにしておく) |
#さいごに
アプリ内課金はファミリーシェアリングでのデータの共有はできませんが
未成年者の購入の確認機能は有効です。
二十歳未満の若年層を対象にしている分野の開発者は
ここはきっちり押さえてリリースされているはずですよね・・・。
- iOS8.0系、iOS8.1
- Storeに出ているアプリと申請前のアプリ
- Sandboxでの消耗型、非消耗型、自動更新購読、無料購読、非更新購読それぞれでAskToBuyの利用
こちらでの動作の違いはあるでしょうか。iOS8.1で完全対応した認識だったのですが、海外の記事も含め情報がとても少ないです。
- 成人同士(年配の親の購入を制限、夫や妻の購入を確認したいなど)
- 若年の親子・兄弟間
- 組織に属する個人(学生や社員)
といった立場での検証もしてみようと思います。
今のところクレジットカードを止められることもなく、Sandboxから課金が追加されることもなく
Sandboxユーザがinvalidになることもなく進められています。
全然関係ないですが、iCloudのところにSNSの写真が入っていたのは今回初めて気づきました。