【问题标题】:In app purchase Implementation应用内购买实施
【发布时间】:2016-09-14 06:09:31
【问题描述】:

如何在不进行实际付款的情况下检查应用内购买。我是否必须在 iTunes 上上传构建以检查应用内购买。 我在 iTunes 中创建了产品 ID,还创建了一个沙盒用户进行测试。 但我不知道下一步该怎么做。

【问题讨论】:

    标签: ios in-app-purchase app-store itunes-store


    【解决方案1】:

    经过长时间的 RnD,我找到了解决方案。 -首先您必须在输入所有信息后在itunes中创建一个产品ID,并且在此之前确保所有银行,税务和帐户信息都已填写协议。 -您还必须对要求在应用内购买的屏幕进行屏幕截图。 -After 在 xcode 功能中启用应用内购买。 - 导入框架 - 将 IAPHelper 和 RageIAPHelper 类导入您的项目 - 在您的 viewcontroller.h 类中 添加这些

    NSArray *_products;
    NSNumberFormatter * _priceFormatter;
    
    -(void)viewdidload
    {
     [self reload];
        [[RageIAPHelper sharedInstance] restoreCompletedTransactions];
        _priceFormatter = [[NSNumberFormatter alloc] init];
        [_priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
        [_priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    }
    
    - (void)restoreTapped:(id)sender {
        [[RageIAPHelper sharedInstance] restoreCompletedTransactions];
    }
    
    - (void)productPurchased:(NSNotification *)notification {
    
        NSString * productIdentifier = notification.object;
        [_products enumerateObjectsUsingBlock:^(SKProduct * product, NSUInteger idx, BOOL *stop) {
            if ([product.productIdentifier isEqualToString:productIdentifier]) {
                *stop = YES;
          NSLog(@" productPurchased");
    
    }
    - (void)reload {
        _products = nil;
    
        [[RageIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products) {
            if (success) {
                _products = products;
    
            }
    
        }];
    }
    
    - (void)buyButtonTapped {
    
    
        SKProduct *product = _products[0];
    
        NSLog(@"Buying %@...", product.productIdentifier);
        if(product!=nil)
        {
        [[RageIAPHelper sharedInstance] buyProduct:product];
        }
        else{
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Confirm Your In-App Purchase"
                                                            message:@"Subscription is required to access thi sfeature."
                                                           delegate:self
                                                  cancelButtonTitle:@"Cancel"
                                                  otherButtonTitles:@"Buy", nil];
            [alert show];
    
        }
    
    }
    -(void)viewwillappear
    {
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productPurchased:) name:IAPHelperProductPurchasedNotification object:nil];
    }
    

    在 IAPHelper.m 中

    - (void)provideContentForProductIdentifier:(NSString *)productIdentifier {
     if ([productIdentifier isEqualToString:@"com.abc.productName"]) {
    
            int currentValue = [[NSUserDefaults standardUserDefaults] integerForKey:@"com.abc.productName"];
    }
    

    在此处将“com.abc.productName”替换为您创建的产品 ID。 这都是在代码部分 要测试应用内购买 - 在手机设置中注销现有的 Apple id,然后使用您从 iTunes 创建的沙盒用户登录。 然后你可以在没有实际付款的情况下检查它。

    要下载 IAPHelper 类和文档,请参阅:https://github.com/saturngod/IAPHelper

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-25
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      相关资源
      最近更新 更多