十年专注于品牌网站建设 十年专注于品牌网站建设,低调、高逼格、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

iOS中的商业模式

百恒网络 2017-05-16 342

App Store作为一个为iOS设备提供应用软件下载的平台,将开发者与用户有机地连接起来。苹果公司规范化地管理这个市场,可以很好地保护开发者的利益。另外,苹果公司为开发者提供了十分详尽的开发资料和文档,在利润上苹果公司与开发者采用3:7的分成方式。在种种因素的作用下,很多开发者投入到iOS的开发中,他们希望有一天凭借优秀的创意和设计创造出属于自己的一片天空。接下来,南昌网络公司小编和大家一起来探讨如何在App Store上淘自己的第一桶金,以及盈利相关的一些技巧。

1、收费策略

App Store是一个巨大的应用市场,“买家”来自全球各地。在这个平等、稳定的市场里,开发者作为“卖家”,唯一的奋斗目标就是创造利润。那么如何将利益最大化,如何能够脱颖而出呢?

1.1 iOS 如何赚钱

作为App Store淘金者,如何赚钱是开发者最关心的问题,下面我们先介绍几种盈利方式。

产品定价。应用和游戏开发好后,在上传App Store之前,你需要为自己的产品定价,10元、20元或者更多,这个定价由你决定。之后,用户在App Store上下载你的产品,下载一次收费一次。《愤怒的小鸟》、《水果忍者》、《植物大战僵尸》等优秀的产品,依靠下载收费为他们带来了相当可观的收入。

植入广告。可以在你的产品中放入一些第三方广告,第三方广告联盟根据产品中广告展示次数和点击次数支付给你相关的费用。苹果自身带有iAd广告,做得比较好的还有被谷歌收购的AdMob。产品是否适合植入广告取决于产品的粘稠度,如果粘稠度不高,则当用户打开你的产品时,点几下就关掉了,这样广告就失去了价值。

应用内购买。这种盈利方式很值得研究,它通过提供增值服务来刺激用户再次消费。应用内购买是目前很多应用(尤其是游戏类应用)最常用的手段,盈利效果非常明显。一般有购买虚拟道具、关卡解锁、延长服务时间、扩充存储空间、升级用户权限、提升隐私级别等方式。现在很多应用采用免费模式,然后在产品中鼓励、刺激用户进行消费。

1.2 避免定价策略误区

获得最大的赢利点是我们的最终追求。有些开发者会把产品开发周期、开发成本甚至是主观上对产品的信心作为定价的依据,感觉这款产品可玩性强,定价就高一些,否则就低点。鉴于销售额等于单价×销售量,而产品价格会直接影响产品的销售情况,上述的定价方式难免有些盲目。

单价是开发者决定的,销售量是用户决定的,但是单价的高低会直接影响销售量,获得最大化的利润要从单价和销售量之间寻找一个平衡点。针对某一具体应用的定价,我们至少要对它的潜在用户群、竞争对手进行详细的调研和分析。

1.3 免费软件的艺术

免费应用真的免费么?如果想做一款免费的应用,它一定要做得比收费的应用还要好,才会有更大的竞争力。一般用户会认为收费的应用优于免费的应用,但是如果一款免费的应用比一些同类收费的应用更有趣、更实用、用户体验更好,那我为什么还要选择收费的应用呢。免费应用的好评率会大大提高其知名度,这就是免费应用最好的宣传。想从用户手中赚钱,就要先给用户甜头。首先占有广大用户,使用户深深受到免费应用的吸引,这个时候用户已经不知不觉地上了“瘾”,当用户玩劲正酣的时候,总有些功能满足不了他的需求,这时他会发现原来这款应用是有增值服务的,应用内购买的虚拟道具等出现了,同时应用系统 本身会不断地鼓励用户购买这些服务。这就是免费软件的艺术,预先取之,必先予之。

上述免费应用的特征一般都是高收入应用的共同特点,也是成为高收入应用的基本要素。要成为顶级高收入应用,还需要一套非常精巧而完善的收费机制。

1.4 在适当的时间、适当的地点植入广告

在应用中植入广告是一个很不错的盈利模式。现在iOS设备的用户量相当大,但由于一些消费观念等问题,我们不愿意付费下载应用,更希望使用免费的应用或者破解的应用。这些因素使很多开发者开始转变营销思路,有的进军海外市场,有的使用应用内购买模式,还有的通过投入广告营利。针对这么大的用户量,如果广告投放适当,也会给开发者带来一笔很可观的收益。那么,广告该如何投放呢?

首先,需要分析一下我们的应用是否适合投放广告。这要从产品的可玩性、粘稠度等性能来考虑,如果用户使用时间不长,使用频率也不是很高的话,那么对这类应用投放广告就没什么意义。投放广告的应用一定要可玩性很强,粘度很高,非常吸引用户使用。

对免费应用投放广告,对于开发者来说是一个盈利模式,但是对于用户来说,即使你的应用可以免费下载,他们仍然比较反感广告,会担心广告影响使用或造成不便。开发者在设计时要把这些情况考虑在内,把广告的负面影响降到最低,让用户能接受带广告的应用。

广告出现的位置很重要,一般放到应用的启动和结束的位置,这样对用户的使用不会造成影响。如果是使用性的应用,可以将广告放到顶部或者底部的位置;如果是游戏,可以将广告放到不影响游戏操作、不遮挡视线的位置,或者放到虚拟道具介绍、关卡转换等位置中。广告窗口的选择也很关键,广告窗口的颜色、色调要与整体应用色调一致,如果反差很大,也会造成用户反感。

1.5 尝试不同的盈利模式

上面提到,在App Store上面发布产品有很多盈利方式,那么究竟选择哪种方式呢?免费+广告?还是免费+应用内购买?或者是收费+应用内购买?其实,最好的方法是把这些方式都试一下,看哪个盈利模式最适合你的应用。不要单纯地以自己的主观想法去选择盈利方式,实践才是检验真理的唯一标准。

要应用保持良好的收益,经常做一些分析是很有必要的。知己知彼,百战不殆。从产品自身角度、市场角度、客户群体、竞争对手、合作伙伴、用户价值等方面分析,不断地完善我们的应用。

2、使用苹果 iAd 广告

iAd广告是苹果官方的广告平台,我们可以在iOS应用上放置iAd广告。对于在iAd中投放广告的商家,一般都有很高的门槛限制,不过相对而言对开发者的回报率比较好,但遗憾的是,iAd广告支持的国家很少。

2.1 横幅广告

横幅广告像“条幅”一样挂在屏幕上,在屏幕中某一位置占有部分空间。当点击横幅广告时,导航到另外的一个应用或者弹出模态窗口以呈现广告的细节。点击关闭广告按钮,可以回到原始的屏幕。

横幅广告的尺寸与设备类型和朝向有关系,具体如下所示。

在iPhone设备竖屏的情况下,横幅广告的高度为50点,宽度是自适应的。

在iPhone设备横屏的情况下,横幅广告的高度为32点,宽度是自适应的。

在iPad横屏和竖屏的情况下,横幅广告的高度为66点,宽度是自适应的。

此外,在iOS 6之后,还有一种矩形广告(Medium Rectangle)可以在iPad设备上使用。它的广告尺寸是美国互动广告局规定的320×250。

横幅广告栏是由ADBannerView类定义的,它是iOS对象库中的标准控件。要把它添加到屏幕中,可以通过Interface Builder设计器将其拖曳到设计窗口,如图1所示。

在Interface Builder设计器中添加横幅广告栏

图1 在Interface Builder设计器中添加横幅广告栏

直接从对象库中拖曳的这种方式在横屏和竖屏切换时不够灵活,因此,我们推荐采用编码方式动态设定ADBannerView的位置。无论采用哪种方式,在使用iAd之前,都需要引入iAd框架。如图2所示,在框架库中选择iAd.framework并将其添加到当前工程中。

添加iAd框架

图2 添加iAd框架

iAd框架也是插页广告必须使用的框架。下面我们看一个横幅广告栏案例,我们在屏幕的顶部放置ADBannerView,在屏幕旋转时ADBannerView的大小也会相应地变化。图3为ADBannerView竖屏的情况,图4为ADBannerView横屏的情况。

ADBannerView竖屏的情况

图3 ADBannerView竖屏的情况

ADBannerView横屏的情况

图4 ADBannerView横屏的情况

下面为iADBannerDemo实现中视图控制器ViewController的代码:

iADBannerDemo实现中视图控制器ViewController的代码

首先,我们引入iAd模块(或头文件),见第①行代码。在类声明的时候,需要声明遵守ADBannerViewDelegate协议,见第②行代码,该协议是ADBannerView的委托协议。第③行代码用于明ADBannerView类型的属性bannerView。

在viewDidLoad方法中创建并初始化ADBannerView对象,其中第④行代码中的,参数adType是指定广告栏类型ADAdType。ADAdType有两个成员属性:ADAdType.Banner(Objective-C版是ADAdTypeBanner)和ADAdType.MediumRectangle(Objective-C版是ADAdTypeMediumRectangle)。

第⑤行代码是设置宽度自适应的广告栏,autoresizingMask属性用于设置视图标识,其中UIViewAutoresizing.FlexibleWidth(Objective-C版是UIViewAutoresizingFlexibleWidth)是设置宽度自适应的视图。

第⑥行代码用于设置当前视图控制器为广告栏的委托对象。

第⑦~⑨行代码是ADBannerViewDelegate委托方法,中bannerViewDidLoadAd:和bannerView:didFailToReceiveAdWithError:方法会被反复回调。因此,第一次出现“广告加载失败”也没有关系,可以等到下一次调用。

运行一下看看效果,加载失败时不显示横幅广告,加载成功时会看到如图3和图4所示的广告横幅,点击广告栏,将启动广告详细内容界面,如图5所示。

启动广告详细内容界面

图5 启动广告详细内容界面

提示 图3和图4的横幅广告栏以及图5所示的广告界面都是苹果给我们的测试条幅和界面,并不是真实的内容,我们只需要关注横幅广告栏是否会出现、它的位置,以及是否能够进入广告详细界面即可。在实际发布时,应用必须审核通过上线后才能看到真正的内容。

2.2 插页广告

与横幅广告不同,插页广告可以占用屏幕的全部空间。为了不引起用户反感,苹果对插页广告的使用有一些限制和指导意见。插页广告只能用于iPad设备,只能在“内容显示”和“过渡画面”这两个场景中使用。

1. 内容显示场景

这个场景是指插页广告与其他应用的内容一起呈现,主要在杂志等平铺页面导航模式下使用。如图6所示,原本只有3个画面,我们可以在它们之间添加插页广告。

内容显示的插页广告

图6 内容显示的插页广告

在这种方式中,广告画面看上去很像应用的一部分,不过它的内容是广告。插页广告画面以非模态方式呈现。比如,在看一部电影时,我们看到主人公拿着一瓶国窖1573在喝,这种模式的插页广告搞不好就会引起用户的极大反感。

我们通过案例(iAdFullScreen1Demo)介绍这种场景下插页广告的实现,案例设计原型图如图7所示。原本有3个图片视图放置在滚动视图中,通过左右滑屏来浏览它们,下面还有一个分屏控件来控制这些视图。当插页广告加载成功时,会添加一个视图,这样4个视图就并排放在滚动视图中了。当点击插页广告时,会弹出模态对话框,从中可以查看详细的广告内容。

内容显示插页广告案例

图7 内容显示插页广告案例

下面为iAdFullScreen1Demo中视图控制器ViewController的类定义、属性声明和初始化等的相关代码:

iAdFullScreen1Demo中视图控制器ViewController的类定义、属性声明和初始化等的相关代码一

iAdFullScreen1Demo中视图控制器ViewController的类定义、属性声明和初始化等的相关代码二

在iOS中,插页广告类是ADInterstitialAd,使用这个类时,也需要引入iAd模块,还需要实现ADInterstitialAdDelegate协议,见第①行代码。

在viewDidLoad方法中,第②行代码实例化了ADInterstitialAd,并赋值给属性interstitial。第③行代码调用自定义的reloadPage方法。由于ADInterstitialAd广告内容的插入视图数由原来的3个变成了4个,我们要使用reloadPage方法将这个新的视图添加到ScrollView中去。

在reloadPage方法中,第④行代码重新计算分屏控件的总页数,第⑤行代码重新调整滚动视图的内容视图大小,第⑥行代码中的for循环将集合中的视图添加到滚动视图上。为了防止重复添加,应该先从滚动视图移除一下再添加为好。

下面我们来看看ViewController中有关ADInterstitialAdDelegate委托协议的实现代码:

ViewController中有关ADInterstitialAdDelegate委托协议的实现代码

这5个方法都是ADInterstitialAdDelegate委托协议的方法,其中interstitialAdDidLoad:方法在新的广告加载成功时调用。全部广告必须要在一个视图控制器当中,所以第①行代码实例化UIView*类型的interstitialContainer对象,其中interstitialContainer是插页广告的容器。第②行代码把interstitialContainer视图添加到pageList集合中,然后在第③行代码中重新加载所有视图。第④行代码在interstitialContainer中呈现插页广告interstitial,presentInView:方法是ADInterstitialAd类中的实例方法,用于呈现插页广告ADInterstitialAd。

interstitialAdDidUnload:方法在ADInterstitialAd对象卸载时调用。ADInterstitialAd对象呈现一定时间后会主动卸载,因此,在该方法中需要注意的是我们不但要从ScrollView中移除原来的插页广告容器interstitialContainer,还要把它从pageList集合中移除掉,第⑤~⑧行代码的for循环实现了这个目的。

interstitialAd:didFailWithError:方法在广告加载失败时调用。在广告加载失败的情况下,应用会在一定时间后尝试重新加载,因此看到日志加载失败时不用惊慌。

interstitialAdActionShouldBegin:willLeaveApplication:方法在广告执行一个动作时,询问是否可以执行,如果返回true(或YES),表示可以继续执行动作,返回false(或NO),表示不能执行。

interstitialAdActionDidFinish:方法在广告动作执行完毕时回调。

运行一下看看插页广告能否呈现,有时加载比较慢,有时还会有加载错误,如果要触发卸载方法,需要等待更长的时间。

2. 过渡画面场景

过渡画面场景是在两个画面转移(或跳转)时出现插页广告,广告画面以模态方式弹出,关闭之后可以回到原来的画面。如图8所示,在画面1跳转到画面2时,会弹出模态iAd插页广告。

过渡画面的插页广告

图8 过渡画面的插页广告

这种广告就像我们看电影时突然暂停屏幕,出现请休息一下,播放15分钟的广告后再回来继续。这种广告也非常容易引起用户反感,我们要慎用。一般在游戏结束、音乐播放完成后,插入插页广告为好。

下面我们通过案例(iAdFullScreen2Demo)介绍一下这种场景下插页广告的实现。案例设计原型图如图9所示,在点击“切换图片”按钮时,不是马上进入第二个画面,而是先弹出广告的模态对话框,关闭该对话框之后才显示第二个画面。

过渡画面插页广告案例

图9 过渡画面插页广告案例

下面为iAdFullScreen2Demo中视图控制器ViewController类定义、属性声明和初始化等的相关代码:

iAdFullScreen2Demo中视图控制器ViewController类定义、属性声明和初始化等的相关代码

上述代码中,第①行定义UIView类型的属性adPlaceholderView,该属性是为了呈现ADInterstitialAd广告的,过渡画面广告需要放到视图中保持。

下面是点击“切换图片”按钮时调用的switchView:方法的代码:

点击“切换图片”按钮时调用的switchView:方法的代码

在上述代码中,UIView的animateWithDuration:animations:completion:方法实现了视图动画切换。animations部分和completion部分定义的都是代码块:前者是在播放动画时调用,其中实现了将两个视图添加和移除的工作;后者在完成动画时调用,其中实现了以模态方式呈现插页广告,第①行代码判断广告是否加载成功,如果加载成功,第②行代码是创建并初始化adPlaceholderView属性,它的类型是UIView。第③行代码用于将adPlaceholderView添加到当前视图中。第④行代码用于呈现插页广告。

下面我们看看ViewController中有关ADInterstitialAdDelegate委托的实现代码:

ViewController中有关ADInterstitialAdDelegate委托的实现代码一

ViewController中有关ADInterstitialAdDelegate委托的实现代码二

由于我们想一直循环加载广告,无论是关闭模态广告后还是广告卸载后,都需要重新创建ADInterstitialAd对象,然后发起广告请求。因此,我们需要在interstitialAdActionDidFinish:方法中添加第①~④行代码,其中第①行代码用于设置ADInterstitialAd委托对象为nil,第②行代码用于将视图adPlaceholderView从父视图中移除,第③行代码用于重新创建ADInterstitialAd对象,第④行代码用于重新设置ADInterstitialAd委托对象为当前视图。

3 、查看你的收入

如果应用发布成功,则可以通过查看应用的下载量和广告收入情况。登录时需要使用开发者账号,登录成功后看到的主界面如图10所示。

iTunes Connect登录成功的界面

图10 iTunes Connect登录成功的界面

点击iAd,进入iAd页面,点击View your iAd Reports按钮进入iAd报告界面。找到Summary部分,如图11所示,从中可以查看所有应用的广告收入情况。

iAd报告界面的Summary部分

图11 iAd报告界面的Summary部分

图12和图13是iAd界面中Performance的图表和表格,它们以不同的形式展示你的账户下应用广告的收入。在图13中,Ad Stauts(广告状态)一栏如果是绿色的Live Ads,则说明该应用iAd界面已经激活。

iAd界面中Performance部分图表界面

图12 iAd界面中Performance部分图表界面

iAd界面中Performance部分表格界面

图13 iAd界面中Performance部分表格界面

下面我们解释一下图13中的相关名词。

Revenue。收入。

eCPM。每一千次展示可以获得的广告收入。

Requests。请求次数。

Impressions。浏览次数。

Fill Rate。填充率,Impressions / Requests的结果。如果这个比例过低,说明效果不好。

iAd Fill Rate。iAd广告填充率。

TTR。点击率,这个指标很能说明广告有效性。广告的收入分为展示收入和点击收入,而点击收入要比展示收入高。

这些图表一方面可以帮助我们查看收入情况,另一方面可以帮助我们调整收费策略。例如,如果填充率比较低,可能是广告在应用中展示的时间太短,需要设定计时器延迟它的展示时间。再如,点击率比较低,可能是广告放的位置有问题。

本文仅限内部技术人员学习交流,不得作于其他商业用途.希望此文对广大技人员有所帮助。百恒网络是一家专业从事南昌网站建设、微信开发、南昌APP开发、网络营销等服务的南昌网络公司,技术过硬,经验丰富。如有任何网站方面的问题,百恒网络随时欢迎大家来电咨询,我们专业为您解答!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×