今天就来聊聊,做 app 开发的小伙伴怎么利用业余时间赚外快或者叫零花钱。
本人不喜欢接外包,由于外包一般都有实效压力,一般会对我们工作和业余学习造成影响,而且新手如果没有渠道,自己接外包也可能被坑。那我们怎么才能利用我们的技术舒服的赚取一些工资之外的额外收入呢?当然是写 app 咯(本人对游戏开发涉及不深,所以这里不谈独立游戏开发),以下均是博主个人见解,仅供参考。
付费APP
这类 app 一般不是频繁使用的,需求量和竞争力度也是相对较小。比如一些专业工具、专业学习软件或者一些有意思的创意软件。但一些专业性、不可复制性比较强的工具,一般开发难度也会更大一些。
我们要做的付费 app 尽量避免和已经存在的热门应用重复度过大,平时我们可以多逛逛一些应用市场,不一定是 AppStore ,各种 Android 市场也是可以的。获取你会从中获取到一些灵感和想法,然后再去实现自己的 app 。
想让用户付费的话,难度还是比较大的,这类应用伙伴们自行研究吧。
免费APP
今天我要说的重点是免费 app ,通过向免费 app 内植入联盟广告从而获利。口碑比较好的Admob,还有收款方便的百度联盟都是我们首选的。至于做什么类型的 app 能赚钱,这个就得靠自己了。我们主要说下,写好了 app 后怎么植入广告,我选择的是 Admob ,是谷歌旗下的广告联盟。单价比较高,应该没有扣量,结算也方便。
AdMob初长成
首先我们通过 https://apps.admob.com 注册一个账号,也能使用谷歌账号。登录后,我们可以点击 通过新应用获利,来创建我们的第一个应用。如图所示:
如果您的 app 已经上架,直接点击 搜索您的应用 即可添加,如果还未上架,则可以 手动添加您的应用 。我们这里输入 AdMob 测试,可以任意输入,只是一个名称而已,然后选择平台为 iOS。
接下来,依次完成后面的步骤,也能在创建完成后,再修改的。由于有些伙伴是第一次使用,我还是截个图吧。
首先我创建了一个横幅广告,也就是我们平时看到在 app 顶部或者底部的一个横幅广告条,很恶心的。占据了屏幕一部分位置,非常影响整体界面美观。这里填写一个广告单页名称,其他都默认,然后保存。
为了方便管理和统计数据,建议都关联 Firebase Analytics。他的具体功能和作用,请自行去网站查看,不知道也不影响我们的集成。填写我们的包名,然后点击继续。
然后就可以下载自动为我们生成的 plsit配置文件 了,下载后直接导入项目中即可。
最后完成创建后,我们再多创建一个 插页式广告单页,也就是平时玩游戏或者app的时候,突然弹出一个全屏的广告页面,可能是动画可能是视频等。
做完上面的操作,准备工作就做完了。然后我们开始集成到我们的 app 中,博主为大家封装好了AdMob基础工具类,几行代码就完事了哈。如果不满足自己的需求,可以再通过 AdMob 的文档,自己进行封装。
集成到APP
我比较喜欢使用 cocoapods 来导入第三方,管理比较方便。AdMob 的 SDK 也是支持 cocoapods 的,在Profile文件中加入SDK库,然后自行 pod install 。值得注意的是,这里最好翻墙,因为库有点大,不然可慢了。
pod 'Firebase/AdMob'
然后导入博主封装好的 JFAdManager.swift 到项目中,如果是OC项目请自行桥接或翻译重写。
建议在项目启动的时候初始化工具类(因为请求网络广告是需要时间的,我们可以提前准备好),里面方法都有注释的可以自己看,参数命名也很明白了。
JFAdConfiguration.shared.config( applicationId: "", interstitialId: "ca-app-pub-3941303619697740/7924894514", bannerId: "ca-app-pub-3941303619697740/6448161319", timeInterval: 120)
调用插页式广告,在您需要触发插页广告的地方进行调用即可。
// 弹出插页广告 if let interstitial = JFAdManager.shared.getReadyIntersitial() { interstitial.present(fromRootViewController: self) }
设置横幅广告,横幅广告其实就是一个普通的 UIView ,你可以随意设置 view 属性并添加到任意父控件。
if let bannerView = JFAdManager.shared.createBannerView(self) { bannerView.frame = CGRect(x: 0, y: 20, width: UIScreen.main.bounds.width, height: 80) bannerView.backgroundColor = UIColor.red view.addSubview(bannerView) }
最终运行效果如下:
[button]demo下载[/button]