周りを見回した後、次のケースに対する率直な答えを得ることができませんでした: アプリ内購入 API を統合せずに、iPhone アプリから iBook ストアの本にリンクできますか?
私が知る限り、iBooks は本を置くのに料金を請求するので、そうしないと 2 回請求されることになるので、私の論理ではそれが可能であると言っています。
どうもありがとう。
周りを見回した後、次のケースに対する率直な答えを得ることができませんでした: アプリ内購入 API を統合せずに、iPhone アプリから iBook ストアの本にリンクできますか?
私が知る限り、iBooks は本を置くのに料金を請求するので、そうしないと 2 回請求されることになるので、私の論理ではそれが可能であると言っています。
どうもありがとう。
アプリが iOS 6.0 を対象としている場合は、新しいSKStoreProductViewController
を使用して、ユーザーがアプリから直接、iTunes、App Store、および iBooks コンテンツを購入できるようにすることができます。
から提示する方法は次のとおりUIViewController
です。アプリケーションに StoreKit.framework を追加する必要があります。
ViewController.h
#import <StoreKit/StoreKit.h>
@interface UIViewController : UIViewController <SKStoreProductViewControllerDelegate>
@end
ViewController.m
-(void)showProductPageForProductID:(NSInteger)productID {
SKStoreProductViewController *sv = [[SKStoreProductViewController alloc] init];
sv.delegate = self;
NSDictionary *product = @{ SKStoreProductParameterITunesItemIdentifier: @(productID)};
[sv loadProductWithParameters:product completionBlock:^(BOOL result, NSError *error) {
if(result)
[self presentModalViewController:sv animated:YES];
else {
//product not found, handle appropriately
}
}];
}
-(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[viewController dismissModalViewControllerAnimated:YES];
}
ターゲット デバイスが iOS 6.0 未満の場合は、これを使用できます。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/us/book/the-casual-vacancy/id518781282?mt=11"]];
その URL 文字列をリンクに置き換えるだけで、アプリを離れて、その製品を表示している iBooks アプリに入ります。
iOS 6.0 以前の両方をターゲットにしたい場合はSKStoreProductViewController
、次の条件を使用して新しいものがあるかどうかを確認できます。
if([SKStoreProductViewController class]) {
//show the SKStoreProductViewController
}
else {
//use UIApplication's openURL:
}
製品の Apple 製品 ID を取得するには、製品の URL を確認するだけです。たとえば、次のようになります。
http://itunes.apple.com/us/book/the-casual-vacancy/id518781282?mt=11
商品IDは518781282
. id
URL の の後に来ます。?
の後にまたは何も含めないでください。