IOS 之 商业模式 应用内购买
2013-12-21 17:33
309 查看
学习IOS开发一个目的是学技术,最重要的就是获利啦!其中有以下几种获利模式.
一.产品定价: 一次购买终身免费使用.这个不再多讲.
二.植入广告: 在程序内插入一些广告,来获利.可以使用以下几种方式:
1.使用苹果的iAd广告. 使用前要引入iAd.framework框架并且导入iAd.h头文件.
横幅广告 使用时用ADBannerView类和ADBannerViewDelegate协议实现.
插页广告 使用时用ADInterstitialAd类和ADInterstitialAdDelegate协议实现.
查看收入,通过iTunes Connect(https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa)
登录后点击 iAd Newwork链接,然后是Summary就可以看到了.
还有一些其它广告的SDK等等都可以使用.
三.应用内购买: 就是下载使用时免费,在内部增加一些商品,一些道具,或者限制使用时间来获利.
使用应用内购买的话可以使用苹果公司为我们提供的开发API---Store Kit, 苹果提供的应用内购买产品类型有3种:
1.消耗型 产品购买之后即被消费,再次购买该产品时还需要支付,只能应用于当前设备.
2.非消耗型 一旦购买可以一直使用,而且可以与该用户的帐号关联的多个设备上使用.
3.订阅型 在订阅周期内可以免费使用.一般这种类型都得自己架设服务器用来保存用户的信息和购买记录.
事实上Store Kit只是帮助收集付款信息,其他工作还得开发人员来设计和实现.下边我们来重点说一下消耗型的购买.
第一步 打开开发者网站登录https://developer.apple.com/ios/manage/overview/index.action, 点击Manage Users添加测试用户
第二步 复制你APP里的Bundle Identifier来生成测试App ID. 然后在网站上添加你的收费应用.
第三步 在iTunes Connect中为应用添加购买产品, 在主界面里点击Manage You Applications进去后先择你的应用,然后点击Manage In Purchases按钮进入应用内购买产品管理界面,点Create New,打开后选择Non-Consumable(非消耗型产品)接置配置一下就可以了.
下边是程序里的一些实现代码
需要加入,还需要建立一个plist文件用来存放购买产品标识
#import <StoreKit/StoreKit.h> 和协议 <SKProductsRequestDelegate, SKPaymentTransactionObserver>
一.产品定价: 一次购买终身免费使用.这个不再多讲.
二.植入广告: 在程序内插入一些广告,来获利.可以使用以下几种方式:
1.使用苹果的iAd广告. 使用前要引入iAd.framework框架并且导入iAd.h头文件.
横幅广告 使用时用ADBannerView类和ADBannerViewDelegate协议实现.
- (void)viewDidLoad { [super viewDidLoad]; //如果是IOS6以上则可以调用initWithAdType方法 ADBannerView *bannerView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner]; bannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth; bannerView.delegate = self; [self.view addSubview:bannerView]; // Do any additional setup after loading the view from its nib. } -(void)bannerViewDidLoadAd:(ADBannerView *)banner { NSLog(@"广告加载成功"); } -(void)bannerViewActionDidFinish:(ADBannerView *)banner { NSLog(@"广告关闭"); } -(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { NSLog(@"广告加载失败: %@", [error localizedDescription]); }
插页广告 使用时用ADInterstitialAd类和ADInterstitialAdDelegate协议实现.
- (void)viewDidLoad { [super viewDidLoad]; ADInterstitialAd *interstitialAD = [ADInterstitialAd new]; interstitialAD.delegate = self; } -(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd { NSLog(@"广告加载成功"); } -(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd { NSLog(@"广告卸载"); } -(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error { NSLog(@"广告加载失败"); } -(BOOL)interstitialAdActionShouldBegin:(ADInterstitialAd *)interstitialAd willLeaveApplication:(BOOL)willLeave { NSLog(@"可以执行一个广告动作"); return YES; } -(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd { NSLog(@"广告关闭, 用户关闭模态窗口时回调"); }
查看收入,通过iTunes Connect(https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa)
登录后点击 iAd Newwork链接,然后是Summary就可以看到了.
还有一些其它广告的SDK等等都可以使用.
三.应用内购买: 就是下载使用时免费,在内部增加一些商品,一些道具,或者限制使用时间来获利.
使用应用内购买的话可以使用苹果公司为我们提供的开发API---Store Kit, 苹果提供的应用内购买产品类型有3种:
1.消耗型 产品购买之后即被消费,再次购买该产品时还需要支付,只能应用于当前设备.
2.非消耗型 一旦购买可以一直使用,而且可以与该用户的帐号关联的多个设备上使用.
3.订阅型 在订阅周期内可以免费使用.一般这种类型都得自己架设服务器用来保存用户的信息和购买记录.
事实上Store Kit只是帮助收集付款信息,其他工作还得开发人员来设计和实现.下边我们来重点说一下消耗型的购买.
第一步 打开开发者网站登录https://developer.apple.com/ios/manage/overview/index.action, 点击Manage Users添加测试用户
第二步 复制你APP里的Bundle Identifier来生成测试App ID. 然后在网站上添加你的收费应用.
第三步 在iTunes Connect中为应用添加购买产品, 在主界面里点击Manage You Applications进去后先择你的应用,然后点击Manage In Purchases按钮进入应用内购买产品管理界面,点Create New,打开后选择Non-Consumable(非消耗型产品)接置配置一下就可以了.
下边是程序里的一些实现代码
需要加入,还需要建立一个plist文件用来存放购买产品标识
#import <StoreKit/StoreKit.h> 和协议 <SKProductsRequestDelegate, SKPaymentTransactionObserver>
-(void)viewDidLoad { [super viewDidLoad]; self.priceFormatter = [[NSNumberFormatter alloc] init]; //定义数字格式化行为 [self.priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; //设置NSNumberFormatter格式为通用货币 [self.priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; //读取资源文件,里边存放的是产品标识 NSString *path = [[NSBundle mainBundle] pathForResource:@"ProductIdentifiers" ofType:@"plist"]; NSArray *arrary = [[NSArray alloc] initWithContentsOfFile:path]; self.productIdentifiers = [[NSSet alloc] initWithArray:arrary]; //添回自己作为交易观察者对象 [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; } //请求产品数据 -(IBAction)request:(id)sender { //检查设备是否可以应用内购买 if ( [SKPaymentQueue canMakePayments] ) { SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:self.productIdentifiers]; request.delegate = self; [request start]; } } //start发出请求后执行下边委托方法 -(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { self.skProducts = response.products; for (SKProduct *skProduct in self.skProducts) { NSLog(@"找到产品:%@ %@ %0.2f", skProduct.productIdentifier, skProduct.localizedTitle, skProduct.price.floatValue); } } //购买时的方法 -(IBAction)buy:(id)sender { //取第一个产品来测试购买 SKProduct *product = self.skProducts[0]; SKPayment *payment = [SKPayment paymentWithProduct:product]; [[SKPaymentQueue defaultQueue] addPayment:payment]; } //上边代码执行过后,返回结果数据执行下边代理方法 -(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { for (SKPaymentTransaction *transaction in transactions) { switch ( transaction.transactionState ) { case SKPaymentTransactionStatePurchased: //交易完成 //一些处理 //移除付款队列 [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; break; case SKPaymentTransactionStateFailed: //交易失败 break; case SKPaymentTransactionStateRestored: //交易恢复 break; default: break; } } }
总之赚钱门路很多,祝大家发财!哈哈
相关文章推荐
- iOS监听模式系列之键值编码KVC、键值监听KVO的简单介绍和应用
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- 【读书笔记】iOS-应用内购买
- 重构Minot's应用——ios网络通信中的设计模式与架构设计
- 举例讲解iOS应用开发中对设计模式中的策略模式的使用
- iOS---KVO(Key Value Observing) 观察者模式之解析与应用
- spa(单页应用)中,使用history模式时,微信长按识别二维码在ios下失效的问题
- IOS 与ANDROID框架及应用开发模式对比一
- 单例模式及其在iOS中的应用
- 全面阐述搜索引擎技术、应用及商业模式
- 【读书笔记】iOS-应用内购买
- IOS应用内购买
- 商业智能应用系列之二:探讨有效的商业智能应用模式和实施方法论
- iOS应用开发中运用设计模式中的组合模式的实例解析
- IOS 与ANDROID框架及应用开发模式对照一
- iOS IAP应用内购买汇总
- 商业模式画布及应用 - MBA智库文档
- 物联网:技术、应用、标准和商业模式
- IOS 与ANDROID框架及应用开发模式对比一
- IOS应用内购买(In App Purchase)总结