ナレッジボックス

Pocket


月額課金モデル(Auto-Renewable Subscriptions)

プラットフォーム: iOS

iOS(iPhone、iPad、iPod touch)で課金機能を実装したアプリを開発する場合は、Appleが提供している下記の課金モデルの中から選んで利用します。

 

・Consumable

一度利用すると無くなるような消費型の課金モデルです。 同じアイテムを何度でも購入できるため、ゲームアプリのアイテム課金等で利用します。

 

・Non-Consumable

一度購入すればずっと利用できるような非消費型の課金モデルです。 無料アプリの広告を解除する場合やゲームアプリなどで機能制限を解除する場合等に利用します。

 

・Auto-Renewable Subscriptions 本ページで扱う課金モデルです

自動継続型の課金モデルです。雑誌や新聞等、一定の期間で継続して自動課金する場合に利用します。

 

・Free Subscription

無料購読型の課金モデルです。Newsstandで無料購読のコンテンツを配布する際に利用します。

 

・Non-Renewing Subscription

購読型の課金モデルです。 期間を限定したサービス用として使われますが、Appleが Auto-Renewable Subscriptions (自動更新)購読を推奨しているため利用機会は少ないです。

 

ページでは、今後利用が広がると予想されるAuto-Renewable Subscriptionsについての記事です。

特徴

Auto-Renewable Subscriptionsの特徴は以下のとおりです。

 

・自動継続課金するタイミングは下記のいずれかから選択できます。

 ・7日

 ・1ヶ月

 ・2ヶ月

 ・3ヶ月

 ・6ヶ月

 ・1年

 

・上記の期間が経過する前に自動継続する旨のメールがユーザに送付されます。ユーザはiTunesのアカウント画面で自動継続をオフにしない限り、自動で新しい課金が発生します。

 

・課金は開始した日から◯日(又は◯ヶ月)経過後に自動課金するため、日本の携帯キャリアのサービスのように「同月内での課金」という概念はありません。したがって、課金を終了したユーザが同じ月に再度購入した場合であっても二重で課金が発生します。

活用例

・電子書籍アプリや雑誌アプリの定期購読処理
・プレミアムサービス(ただし、リジェクトされる可能性が高い)

注意点

・利用可能なアプリについて

Auto-Renewable Subscriptionsは雑誌アプリや新聞アプリの定期購読で利用されることを想定しているため、フリーミアムモデルのプレミアム会員等で利用した場合、アップルの審査でリジェクト(差し戻し)される可能性が高いようです。 当社のヘアカタログアプリ(STA-LOG)のプレミアム会員機能についてもAuto-Renewable Subscriptionsで実装してAppStoreへ公開しようとしたのですが、上記理由によりリジェクトされたため、最終的にはConsumable(消費型)で実装し、サーバ側で課金状態を保有することにしました。 しかしながら、クックパッドのプレミアム会員やナビタイムのプレミアムコースで利用されていることが確認できるため、審査の基準はまちまちのようです。

 

テスト環境(サンドボックス)について

アプリを開発してAuto-Renewable Subscriptionsのテストを実施する場合、実際の課金期間(1年など)では長すぎるため、短い期間でテストできるようにアップルが課金用のテスト環境(サンドボックス)を用意してくれています。 
(参照:http://d.hatena.ne.jp/iRSS/20111028/1319763704) しかしながらこのテスト環境の仕様が非常に不明瞭で、予期しない動作をすることが多く、テストが非常に大変です。詳細は下記の「開発者による苦労話」を御覧ください。

 

本番環境で課金が失敗した場合

本番環境で課金が失敗して多重課金等が発生したとしても、アップルが返金に応じてくれることはほとんどありません。本番環境で処理を失敗しないよう、十分注意しましょう。

実装コード例

まとめ

iOSアプリでの課金処理はiOS SDKに含まれているStoreKitと呼ばれるコンポーネントを利用するため一見簡単に実装できそうなのですが、Auto-Renewable Subscriptionsについては時間の経過により自動で課金されるという特性があるため、テストが非常にややこしくなっています。 一応、課金テストがやりやすいようにアップルがテスト環境(サンドボックス)を用意してくれているのですが、このテスト環境の仕様が全く明らかにされておらず、手探り状態でテストをする必要があります。

 

例えば、Auto-Renewable Subscriptionsでは課金タイミングを1週間〜1年の間で選択できるのですが、サンドボックスでは短い期間でテストできるよう、3分〜1時間で自動更新が実行されるようになっています。アプリの仕様により、購入の日時や更新の日時などを自社のサーバに保管し、アプリ内で利用する等した場合、この本番とサンドボックス環境とのタイミングの違いで、非常にややこしいテストケースを用意しないといけなかったり、シビアなタイミングが要求されたりします。

 

また、課金テストする際にはあらかじめテスト用ユーザ(AppleID)を用意するのですが、同じテストユーザで何度もAuto-Renewable Subscriptionsのテストを実行していると、自動継続がうまくいかなかったり、リストアが正常に終了しなかったりすることがあります。

 

さらにさらに、課金後にAppleから送られてくるレシート情報がサンドボックスと本番で微妙に違うことがあります。サンドボックスではうまくいっていたものが、いざ本番にアップすると失敗する・・・なんてこともまれにあります。

 

さらにさらにさらに、iOSのバージョンによるかもしれませんが、iPhoneとiPadでリストア(既に自動課金しているユーザが新しいデバイスやアプリの再インストールにより購読状態を復元させる処理)の動きが微妙に違ったりします。

 

とにかく、自動課金処理が全てブラックボックスになっており、仕様が不明瞭なため、Auto-Renewable Subscriptionsを利用する場合は念入りなテストケースと失敗した場合のリカバリの手段を用意しておく必要があります。

活用事例

Auto-Renewable Subscriptionsを利用しているアプリの一部を紹介します。

 

クックパッド

産経新聞

AKB48

 

※上記は当社が開発したアプリではありません。

まとめ

課金の部分は最もバグが怖い部分です。
弊社の実績のある課金処理部品化を使用することで、通常ならたくさんの時間をかけなければならないテストや処理を効率良く安心して使用することができます。


Pocket

お問合せ

開発に関するご相談/各種お問合せは下記まで。

TEL.06-4806-3470 月曜~金曜(祝日を除く)10:00~18:00
contact-dev@kronos-jp.net

技術情報

  • ナレッジボックス
グリーンハンド
STA-LOG
クロノスラボ
採用