Skip to content

Instantly share code, notes, and snippets.

@niwatako
Created June 20, 2018 11:16
Show Gist options
  • Select an option

  • Save niwatako/ac25c13dc4b2036839a9da938c060f22 to your computer and use it in GitHub Desktop.

Select an option

Save niwatako/ac25c13dc4b2036839a9da938c060f22 to your computer and use it in GitHub Desktop.
『In app purchaseについて、セッションのまとめと新しいことの紹介』 #CodePiece #ca_swift
CA.swift #6 WWDC18 報告会 - connpass
https://cyberagent.connpass.com/event/88328/
## 『In app purchaseについて、セッションのまとめと新しいことの紹介』
岸川 克己 @k_katsumi
詳しくはセッションを見ればいいと思うのですが、わかりにくい部分もあるので解説したいと思います。
WWDCの話はNDA範囲外だと思うのでTwitterには自由に共有いただいて構わないと思います。
What's new In-app Purchases
ベストプラクティスの部分、
- 割引価格 ドキュメント読む限り割引価格取得はiOS11.2追加移行のAPIが必要
- 開発と自分のアカウントを共存させられるSandboxアカウント
- 普段のアカウントログアウトしてテストユーザーでログインする必要があった。
- 自動更新購読=フリートライアルが可能に
- 0円がつけられるようになった。0円のレシートで権利をチェックする、というような運用だと思われる。
### Intruductory Pricing
- お試し価格
- Pay as you go 使った分だけ
- お試しでも使った分だけ払える
- Pay up front 先払い
- お試しでも一定額一括で払う
- Free trial
たとえばお試し価格460円、正規価格960円だとして
2ヶ月お試しだとして、1ヶ月でやめたら460円だけ。
Pay up frontは、お試し期間分を先に払う。お試し期間2ヶ月だったら、1480円でお試しみたいな。途中でやめても返金されないと思われる。
こういう値段設定だとわかりにくいかもしれないが、1月960円だけど最初は1年定額9600円でどうか、みたいな使い方になるのではないか。
Pay as you goでもっと高くなる価格設定はできない。
Pay up frontは仕組み上、めちゃくちゃ高い金額を設定できる。価格設定ミスらないように気をつけましょう。
FreeTrialは今まであった仕組みです。まだ使ったことない人にはフリートライアルが案内されて、最初の期間は無料みたいなことができます。
基本的居に更新期間内で1年間で設定できます。
1ヶ月更新なら3ヶ月無料とかができる。1ヶ月更新なのに1習慣無料みたいなことはできない。
1週間更新は最大で12週間無料。
1ヶ月更新は2ヶ月無料が最大1年?
単位は通常の期間で、それが何個分無料か、みたいな形になる。
1年契約は1年無料しかできなかったと思う。
この話を頭に入れて資料の図を見ると理解できると思います。
初めて買う人はお試し価格を使う権利がある。
今まで使ったことがあったひとは、お試し価格を使える人と使えない人がいる。
お試しを使ったことが1度でもある人は対象外。いままでお試し価格を使ったことがない人はオファー対象になる。
iTunesConnectが勝手に判断する。対象者じゃない人がお試し価格で購入してしまうことは起きない。
ただし、対象ですよというのをチェックするUIを作るのが大変で、
StoreKitレシートをチェックして、is_trial_periodまたはis_in_intro_offer_periodの少なくとも1つがtrueか
上記をチェックした上でiOS11.2から追加されたAPIを使うと正しい価格を表示できる。
間違っても購入は起きないので、労力に見合うかは検討の余地あり。
### ベストプラクティス
納得の内容だったのでセッション見ることをおすすめします。
- いつセッションを完了させるか
- キャンセルハンドリングを忘れずに
- Ask to buyの考慮、テストのためのAPI
- レシートの検証をクライアント・サーバーのどちらでやるか
- サーバーでやるほうが良い
- クライアントからAppleのサーバーを叩くのは中間者攻撃の余地があるので避ける。
- サーバー検証は自分のサーバーからやらないといけません
- アプリが起動されない場合の自動更新
- 解約率を下げる施策
- 明示的なキャンセルとそうでない場合を分けて実際のUIを見せたりしていたのでとても良いと思います
- カードの更新などの問題に対応する猶予期間
- ダウングレードオプションの提示
購入キャンセルはErrorでくるが、それでエラーアラートを表示するのはおかしいと思う。エラーコードで判別できるので見たほうがいい。
Ask to buyはペアレンタルコントロールだと24時間ぐらいしてから来ることがあるので、数秒で終わる前提で組んでいるとおかしなことになる。
セッション見ることをおすすめします。
自動更新はアプリの売上にかなり貢献するので、やっている人は復習の意味で見ると良いし、利用できるとビジネスをとてもドライブさせるので研究して使える仕組みを。
あと、レビューでもよく言われるが、未ログイン状態でも In app Purchaseで購入したものを使えるようにと言われます。ですが、我々にはIDとヒモ付できないので、最初のトライはログインしてからじゃないと買えないという仕組みをおすすめします。そうじゃないと購入できなかったときにサポートできない。誰なのかわからないので。
Testing In-App Purchases Ruins Your Phone – RevenueCat Blog – Medium
https://medium.com/revenuecat-blog/testing-in-app-purchases-ruins-your-phone-3751665ca5c1
@niwatako
Copy link
Author

こっちかも
iOS Introductory Prices – RevenueCat Blog – Medium
https://medium.com/revenuecat-blog/ios-introductory-prices-f1efb4f1a6a2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment