8

アプリ内購入として自動更新可能な製品も備えた iPhone アプリを持っています。製品は、今後 1 年間のサービスへのサブスクリプションです。次のバージョンでは、アプリ内購入と自動更新可能な製品全体をアプリから削除したいと考えていました。

これを実現するために、アプリ内のサインアップ オプションを削除したため、新しいユーザーはサインアップできません。ここで、すべての既存ユーザーの自動更新を無効にしたいと考えています。

どうすればこれを達成できますか? iTunes Connect 内のアプリのアプリ内製品を削除するだけで十分ですか? ユーザーはこれについて通知を受けますか?

4

2 に答える 2

17

Apple によると ( WWDC 2011 セッション 510In App Purchases for iOS and OS Xの 48:55 マークを参照)、サブスクリプションの自動更新を防ぐために開発者としてできることは次のとおりです。

  • 値上げします。
  • 自動更新 IAP 製品を iTunes Connect から削除します。

どちらの場合も、すぐではありませんが、通知メールがサブスクライバーに送信されます。話によると、Apple は (年間) サブスクリプションの更新の 10 日前に確認し、その時点で電子メールを送信します。ただし、どこにも文書化されていないため、実装の詳細として扱います。

私は後者(製品の削除)を自分の(毎月の)アプリで数回行いましたが、宣伝どおりに機能しているようです.

1 つの重要な注意事項: アプリが Newsstand アプリの場合、少なくとも 1 つの自動更新サブスクリプションが利用可能である必要があります。最後の 1 つを削除すると、アプリは App Store から削除されます。すでに購入したユーザーは引き続き使用でき、App Store の「以前に購入した」セクションからコピーをダウンロードできますが、App Store 自体で購入するための新しいコピーは表示されません。

于 2013-04-06T17:07:12.423 に答える
-1

システムをどのように実装したかによって異なります。独自のサーバーから領収書を確認 (およびデータ/サービスを提供) しますか、それともアプリ内で Apple のサーバーと直接やり取りしますか?

iTunes Connect では、製品を販売から削除することができます。これは、即時または将来の日付で有効になります。サブスクリプションの更新を停止するには、これで十分だと思います。(サンドボックスで短縮されたタイムスケールでこれをテストできることを忘れないでください。)しかし、そうでない場合:

  • 独自のサーバーを使用して領収書を検証する場合は、検証手順が失敗するように、間違った共有シークレットを指定してください。つまり、サブスクリプションの有効性は (「間違った」理由ではあるが) false として返されるため、顧客は更新できなくなります。

  • アプリ内で行う場合は、新しい共有シークレットを生成して、既存の構造内のシークレットが正しくないようにします。あとは、上記の通り。

  • 可能であれば、現在のユーザーに通知を送信して、変更を通知し、変更を提案し、将来「失敗」することを知らせることをお勧めしますが、それは問題ありません。

于 2013-04-02T09:12:26.697 に答える