APP开发是指的具体某个具体的项目,更倾向于用户体验、功能更偏于特定业务、讲究的是快速迭代、快速占领市场,通常会涉及到多个模块或者多个业务场景。
SDK 是为APP服务的,提供的大多是公共基础服务,如网络请求、打点统计、帐号服务等,在App开发过程中,通常会使用到别人已经开发好的sdk。
第三方的SDK往往要做到一下几个方面:
二、集成第三方SDK
除了一个公司推广自己的业务,通过专业的团队来来开发维护一个SDK,供开发者使用外。更多的关于SDK的使用场景是作为开发者要在自己的项目和业务中集成相应的第三方的SDK的功能。
比如,常见的第三方的SDK的集成包括:社会化分享、移动应用统计、消息推送、支付等,下面我们来逐一看看如何集成第三方的SDK。
经常用到的各种社交软件,比如微信、微博、QQ等众多的应用。在应用开发中,常常有需要将自己业务的一些h5页面或者动态分享到其他的这些平台。
完成分享到这些平台有两个方案:
友盟+逐渐发展成了集:统计分析、开发者工具、营销增长、数据采集以及云服务产品的国内领先的第三方全域数据智能服务商,目前属于阿里阵营。
友盟的网址:https://www.umeng.com/?spm=a213m0.14091848.0.0.493558c7aLBavB
Android的SDK集成文档的链接:https://developer.umeng.com/docs/119267/cate/118577
友盟示例Demo链接:https://github.com/umeng/MultiFunctionAndroidDemo
友盟分享的SDK开发文档:https://developer.umeng.com/docs/128606/detail/129622
集成友盟SDK需要经过几个步骤:
新用户注册后的后台工作台,如上图所示。
接下来是注册app,填写相关信息,得到一个Appkey,比如:5eca9090dbc2ec0816fa1345
集成SDK有两种方式,既可以通过maven线上接入sdk,也可以手动下载SDK,网络环境允许的情况下,都推荐在线集成。
Bugtags主要是为移动产品质量的测试平台产品。使用Bugtags平台可以随时随地对移动产品提出准确的改善意见,使得测试更简单,修复问题更轻松。
在开发过程中经常使用BugTags来进行产品的埋点,用户行为跟踪,事件分析,以及bug的收集和处理,主要的目的有两个:
两者合起来,最终的目的是提高项目质量。
BugTags的官方网站:https://www.bugtags.cn/
官方提供了SDK集成文档,可以参考如下:https://docs.bugtags.cn/zh/start/integrate/android/maven.html
示例参考sdk对应的Demo。
消息推送主要指的是自动传送信息给用户。随着智能推荐算法的崛起,现在的应用,往往可以根据用户的过往行为数据,根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。比如,现在常常见到的:淘宝京东的商品打折推荐,应用的活动通知推送,微博的消息推送,抖音的关注用户直播推送,等均属于推送的使用。
如何使客户端能够实时的收到服务器的消息和通知,总体来说有两种方式:
总结:Pull和Push两种方式都能实现获取服务器端更新信息的功能,但是明显来说Push方式比Pull方式更优越。因为Pull方式更费客户端的网络流量,更主要的是费电量,还需要我们的程序不停地去监测服务端的变化。
依据以上的推送原理,有几种解决方案:
与前文的友盟一样,个推是主要提供消息推送、数据统计、运营推广等业务的第三方平台,个推因消息推送而起家。除个推外,还有小米推送,华为推送等等很多其他的推送,原理系统,只是厂商不同而已。
个推的官方网站:https://www.getui.com/
个推SDK的集成文档:http://docs.getui.com/getui/
在个推的sdk中,接收得消息后,根据是否以标准形式展示,一共分为两类,分别是:
个推在进行SDK接入过程中,除了客户端sdk需要接入外,还要服务端的配合。
上面讲的三个都是业务中常用的,比较简单的就可以接入。
目前随着移动应用,视频带货,线上购物消费场景的兴起,移动支付成了各个应用变现业务的必须环节。在开发自己的项目时,如果涉及到交易的业务,可以接入:支付宝、微信支付、百度支付、银联等渠道的支付,还有二维码支付等等。
此处以微信支付接入为例。
微信支付的官方网站如下所示:https://pay.weixin.qq.com/wiki/doc/api/index.html
可以支持的场景很多,我们主要看APP支付,其他都是一样的原理。
无论是微信支付,还是支付宝支付,都需要一些前提准备:
APP支付的接入文档地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1
因为支付涉及到结算业务,安全性要求较高,所以首先要了解完整的支付流程,如下图所示:
从上图中我们可以总结几个重要的步骤: