2015-10-06 8 views
11

私は、ユーザーが任意の数のデバイス(Web、Android、Roku、iOS、Apple TV)に登録して、毎月のサブスクリプションを購入してビデオコンテンツを視聴できるサービスを作成しています。サブスクリプションはカタログ全体へのアクセスを提供します。自分のiPadでサブスクリプションを購入したり、Rokuのアプリにログインしたり、途中でどこを見続けたりできるように、私は自分のサブスクリプション管理APIをサーバー上で実行しています。iTunesのクロスプラットフォームIAPサブスクリプション - Netflixはどうしていますか?

基本的に、Netflix。ここで

は、私の知る限り、私のオプションは次のとおりです。

  1. 自動更新サブスクリプション:これは、ネットフリックスは、今日使用するものであるが、Appleは、APIまたはその支払いの周りのウェブフックの任意のセットを提供していません。プラットフォームでは、このオプションがどのように機能するのか分かりません。私のバックエンドサービスは、Appleが毎月購読を自動的に更新するか、ユーザーが購読を取り消したかどうかは分かりません。

  2. 非更新サブスクリプション:ユーザーは のアプリをIAPから購入します。購入が完了すると、アプリはバックエンドシステムに のサブスクリプションを同期します。資格のチェックが必要なときはいつでも、私の バックエンドと接続します。ユーザーの サブスクリプションの有効期限が近づいている場合、アプリは購入 ワークフローを再度提示する必要があります。

  3. インポートiTunesが報告されます。それは、リアルタイムではないです(プッシュ、プルではない)、私にキャンセルサブスクリプションについては何も教えてくれないので、動作しません。私は新しい加入者のレポートしか生成できません。

  4. 私のサービスに領収書の確認&プッシュレシート:実際に私のアプリを使用しているユーザーに依存するため、動作しません。ユーザーは理論的には私のアプリを購読し、Rokuに切り替えて、それを再び開くことはできません。完全

  5. スキップIAPとWeb経由で購読することをユーザーに要求します。

私に何か不足していますか?私はNetflixがこれをどのように引き出しているのか本当に不思議です。最初のサブスクリプションの購入のための

+0

何か忘れていない限り、NetflixはApple In-App Purchaseサブスクリプションシステムをまったく使用していないと思います。私はあなたがちょうどNetflix経由であなたの購読を購入すると思う、彼らはあなたのアカウントの状態を追跡するなど、彼らのアプリはあなたのアカウントがまだアクティブであるかどうかを確認するサーバーと独自の内部のトラッキングをチェックします。私がこれをやろうとしていた場合、私はPayPalの定期購読やこれに類するものだけで、プラットフォーム固有のAPIは完全にバイパスします。さらに、Apple(またはGoogleなど)に各サブスクリプションを提供する必要はありません。 – Nerrolken

+0

Netflixは、先月、iDeviceを使用した購読を許可し、IAPを使用します(Appleのガイドラインに従って、他のシステムからのアプリ内支払いは許可されません)。 – ehynds

答えて

6

私は、これは古いです知っているが、Appleは最近、OPは、ウェブフックを経由してのために尋ね実現Status Update Notifactions導入:

  1. 設定アップルをご指定されたエンドポイントに通知を送信することを。 (Apple's small guide
  2. App StoreからHTTP POST経由で送信されたJSONオブジェクトを処理し、最新の受信確認を検証します。
  3. データベースにデータを更新/保存します。
  4. 成功を報告するには200ステータスコードで応答してください。
  5. あなたは、以下の通知タイプを扱うことができるようになります

INITIAL_BUYCANCELRENEWALINTERACTIVE_RENEWALDID_CHANGE_RENEWAL_PREFERENCE

上記のリンクのドキュメントは、より詳細に実装し、種類を説明しています。

12

は:

  1. ユーザーは、Appleが、Appleは領収書を発行し、デバイス
  2. デバイスに送り返し
  3. デバイスの連絡先
  4. がに領収書を送るのiDeviceに購入を開始します私のサーバー
  5. サーバーは、Appleの領収書検証APIを通じて、領収書が正当であることを検証します。
  6. 領収書が検証されると、サーバーはそれを自分のDBに保存します
  7. サーバは、iTunesのサブスクリプションと同期して、サーバーを維持するために、すべての

良いことだと言ってアプリに対応:毎日上のDBからの領収書の期限切れ取得するため

  1. セットアップcronジョブ
  2. アップルで各レシートを確認する
  3. アップルは、サブスクリプションがキャンセル/更新されたかどうかに関する詳細を含む最新版の領収書で応答します。
  4. サーバーは、誰かがRokuのまたはいくつかの他のデバイス上で自分のアカウントにログインしている場合、私のDBは真実の源であるので、今、サブスクリプションは光栄することができDB

でこの更新されたバージョンとオリジナルの領収書を置き換えます。

+1

元のbinary64領収書あなたは同じものを維持していることを確認していて、私たちは伝統的に領収書として見るものを保存し、それを使ってサブスクリプションなどの対応するデータポイントを更新することについて話しているあなたの答えに後で再利用することができます。 – myusuf3

+2

* 4.Serverは元の領収書をDBのこの更新版に置き換えます。*これは必須ではありません。元の領収書は常に最新の情報を提供します。将来の領収書と交換する必要はありません。 – Rao

関連する問題