1

自動更新サブスクリプションに MKStoreKit を使用しています。

ボタンの TouchUpInside メソッドでは、次のコードを使用しています..

if([[MKStoreManager sharedManager] isSubscriptionActive:kSubscriptionMonthlyIdentifier]){
  //access to subscription feature
}else{
  //ask user to buy
}

それは常に私にfalseを返します。そして、ユーザーに購入を依頼します。

もう一度購入しようとすると、それが表示されますYou are already subscribed

  • 私が間違っていることはありますか?

  • サブスクリプションがアクティブかどうかを確認する他の方法はありますか。

  • サブスクリプションが更新されたことをどのように知ることができますか?

どんな助けでも大歓迎です。

前もって感謝します。

4

2 に答える 2

2

1) applicationDidFinishLaunching を追加して、MKStoreKit を初期化する必要があり[MKStoreManager sharedManager];ます。

2)正しく記入したことを確認する必要がありますMKStoreKitConfigs.plist

Subscriptionsサブスクリプションのアプリ内 ID をディクショナリに追加する必要があります(形式: "subs id" - "subs duration")。

Apple のドキュメントでは、自動更新可能なサブスクリプションに関する情報を見つけることができます。自動更新可能なサブスクリプションを更新するたびに、新しいトランザクションが生成され、アプリケーションに送信されます。理論的には、MKStoreKit はこれらすべてを処理する必要があり、機能するisSubscriptionActiveはずです。

また、以前の購入を復元するためのボタンを追加することもできます。したがって、あなたの場合、ユーザーが-isSubscriptionActivecallを呼び出す前に購入ボタンを押す-restorePreviousTransactionsか、このボタンを追加して、ユーザーが既にサブスクリプションを購入している場合、以前のトランザクション^を復元できるようにします。

この通知のオブザーバーを追加できます。

#define kSubscriptionsPurchasedNotification @"MKStoreKitSubscriptionsPurchased"
#define kSubscriptionsInvalidNotification @"MKStoreKitSubscriptionsInvalid"

最初の通知 MKStoreKit は、サブスクリプションが更新された (または購入された) ときに生成され、2 番目の通知は更新に失敗したときに生成されます。

于 2012-10-29T12:56:29.440 に答える
0

MKStoreKit GitHub には、あなたが経験していることに関連している可能性のある未解決の問題があります。そのスレッドの人々は、アプリが初期化された後、 MKStoreKit に対して常に NO を返すと主張していますisSubscriptionActive。ただし、以前のリリースの MKStoreKit は問題なく使用できたようです。あなたはそれを試してみたいかもしれません。

于 2012-11-03T15:00:20.983 に答える