2012-10-26 6 views
1

자동 갱신 가능 구독에 MKStoreKit을 사용하고 있습니다. 버튼의 TouchUpInside 방법에MKStoreKit -isSubscriptionActive 항상 False를 반환합니다.

나는

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

그것은 항상 나 false를 반환 ... 다음 코드를 사용하고 있습니다. 그리고 구매를 요구하십시오.

다시 구입하려고하면 You are already subscribed이 표시됩니다.

  • 내가 잘못하고있는 것이 있습니까?

  • 구독이 활성화되어 있는지 확인하는 다른 방법이 있습니까?

  • 구독이 갱신되었음을 어떻게 알 수 있습니까?

어떤 도움을 주시면 감사하겠습니다.

미리 감사드립니다.

답변

2

1) 응용 프로그램 DidFinishLaunching에 [MKStoreManager sharedManager];을 추가하여 MKStoreKit을 초기화해야합니다.

2) 당신은 제대로 MKStoreKitConfigs.plist을 채울 것을 확인해야합니다 : 당신은 형식 (Subscriptions 사전에서 - 응용 프로그램 ID를 구독을 추가해야합니다

: "subs id" - "subs duration")를.

apple 설명서에서는 자동 재생 서브 시스템에 대한 정보를 찾을 수 있습니다 : 자동 갱신 서브 스크립 션의 모든 갱신이 새 트랜잭션이 생성되어 응용 프로그램으로 전송됩니다. 이론적으로 MKStoreKit은이 모든 것을 처리해야하며 isSubscriptionActive이 작동해야합니다.

이전 구매를 복원하기위한 버튼을 추가 할 수도 있습니다. 따라서 사용자가 -isSubscriptionActive로 전화하기 전에 구매 버튼을 누르거나 -restorePreviousTransactions으로 전화를 걸거나이 버튼을 추가하면 사용자는 이미 가입을 구입 한 경우 이전 거래를 복원 할 수 있습니다.

이 알림 관찰자를 추가 할 수 있습니다

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

먼저 통지가 생성 MKStoreKit, 구독 갱신 (또는 구입) 때, 두 번째를 - 실패 갱신 할 때.

+0

감사합니다. 1. & 2. 이미 완료되었습니다. 제품 ID를 구입할 수 있으며 구매가 완료되거나 실패하면 알림을받습니다. : 자동 수신이 완료된 시점을 알 수있는 방법은 무엇입니까? – Meghan

+0

내 대답을 –

+0

업데이트했습니다. 내 질문에 답변 했습니까? 또는 "자동 가입 완료 시점을 어떻게 알 수 있습니까? 너를 오해 한단 말야? –

0

발생한 항목과 관련된 MKStoreKit GitHub에 open issue이 있습니다. 이 스레드의 사용자는 앱이 초기화 된 후 MKStoreKit은 항상 isSubscriptionActive에 대해 NO를 반환한다고 주장합니다. 하지만 MKStoreKit의 이전 릴리스를 성공적으로 사용할 수 있었던 것 같습니다. 시도해 볼 수도 있습니다.

관련 문제