首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于自动续订订阅的MKStoreKit 4.0

用于自动续订订阅的MKStoreKit 4.0
EN

Stack Overflow用户
提问于 2011-11-29 21:00:45
回答 1查看 2K关注 0票数 3

应用程序是这样的,所有内容只能在用户订阅了方案(1个月、3个月、6个月或一年)后才能访问。因此,最初安装该应用程序时,会出现一个带有购买这些方案的选项的视图。一旦用户选择了一个方案并进行了购买,他就被授予了访问权限。

我在ViewController : didFinishLaunchingWithOptions:中初始化委托。在第一个应用程序中,我侦听kProductFetchedNotification通知。一旦我收到了所有的产品,我就填充这个界面。我还会检查订阅是否处于活动状态

代码语言:javascript
复制
- (void)viewDidLoad {
    [super viewDidLoad];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productFetchSuccesful:) name:kProductFetchedNotification object:nil];
    ...

    if([[MKStoreManager sharedManager] isSubscriptionActive:kFeatureAId]){

        [self grantAccess];
    }else if([[MKStoreManager sharedManager] isSubscriptionActive:kFeatureBId]){
    ...
    ...
}


-(void)productFetchSuccesful:(NSNotification*)notification{

    NSArray *products = (NSArray*)[[MKStoreManager sharedManager] purchasableObjectsDescription];
    NSLog(@"%@",products);
    //*****populate ui
}

一旦填充了接口。与每个订阅方案关联的UIbuttons链接到一个IBAction

代码语言:javascript
复制
-(IBAction)purchaseSubscription:(id)sender{
    UIButton *currentBtn = (UIButton*)sender;
    switch (currrentBtn.tag) {
        case product1Tag:
            [[MKStoreManager sharedManager] buyFeature:kFeatureAId
                                            onComplete:^(NSString* purchasedFeature)
             {
                 NSLog(@"Purchased: %@", purchasedFeature);

                 [self grantAccess];
             }
                                           onCancelled:^
             {

             }];
            break;
        case product2Tag:
            ...
            ...
            ...
    }
}

我设置了MKStoreKitConfigs.h中的值,设置了OWN_SERVER和共享密钥

代码语言:javascript
复制
#define kConsumableBaseFeatureId @"com.mycompany.myapp."
#define kFeatureAId @"1month"
#define kFeatureBId @"7days"
#define kConsumableFeatureBId @"com.mycompany.myapp.005"
#define FishBasket @"FishBasket"

#define SERVER_PRODUCT_MODEL 1
#define OWN_SERVER @"http://testsite.com/demo/itunes"
#define REVIEW_ALLOWED 1

//#warning Shared Secret Missing Ignore this warning if you don't use auto-renewable subscriptions
#define kSharedSecret @"*****"

我也发布了服务器端的代码,但它似乎不起作用。数据库中似乎也没有记录任何内容。

我怎么才能把这件事做好呢?

EN

回答 1

Stack Overflow用户

发布于 2012-04-17 22:46:46

自动续订订阅不需要服务器组件。Apple自动负责记住服务器上的订阅。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8311140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档