Продаем контент iTunes из своего приложения

Начиная с iOS 6 у разработчиков появилась замечательная возможность продавать контент, из iTunes прямо внутри приложения, используя нативный интерфейс. Под контентом понимается не только музыка и книги или кино, но и другие приложения.

Для подключения этой функциональности нужно буквально несколько строк кода:


SKStoreProductViewController* storeViewController =
                        [[SKStoreProductViewController alloc] init];

storeViewController.delegate = self;
__weak typeof(self) weakSelf = self;
                 
NSNumber* gameAppstoreId = @595181582;

[storeViewController loadProductWithParameters: @{
    SKStoreProductParameterITunesItemIdentifier: gameAppstoreId
}
                    completionBlock:^(BOOL result, NSError *error)
{
  if (result)
  {
      [weakSelf presentViewController:storeViewController
                             animated:YES
                           completion:nil];
  }
}];

Здесь используется класс SKStoreProductViewController, который нужно инициализировать с помощью id - уникального для апстора числа, с которым ассоциируется контент. В данном случае это id игры Trister, адрес которого https://itunes.apple.com/us/app/trister/id595181582. Как видите этот-же id используется и самим сайтом iTunes. Найти его можно или вручную, или с помощью Link Maker. Когда контент будет загружен, будет вызван completion блок,  из которого необходимо показать стор контроллер.

Ну и делегат, у которого есть только один метод, который будет вызван, когда пользователь нажмет "закрыть":

#pragma mark - SKStoreProductViewControllerDelegate
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController{
    [self dismissViewControllerAnimated:YES completion:nil];
}

Вот и все. К сожалению используя это API невозможно узнать купил/скачал ли пользователь предложений ему контент.

Смотри также: TDD и разработка.

UPD:
Работать это будет только на реальном устройстве, не на симуляторе. И выглядеть примерно так:


Комментарии

Популярные сообщения из этого блога

Алгоритм NEAT. Эволюционирующие нейронные сети возрастающих топологий.

Цепи Маркова простыми словами. Пишем пирожки.