美文网首页
广告SDK开发经验总结

广告SDK开发经验总结

作者: PaulLuv | 来源:发表于2021-09-17 14:26 被阅读0次

    一、SDK简介

    SDK全称 Software Development Kit,即软件开发工具包。通常是辅助开发某个软件而抽出剥离的特定功能软件包。与App开发的不同,SDK通常更偏向功能的开发实现,App则是从用户层面到业务逻辑,全程处理用户的行为。

    二、SDK核心原则

    1. 稳定性: 崩溃率≤4‰

    SDK作为嵌入在App里面的一部分,可能会被多个App集成使用,这必须要求SDK性能稳定,没有崩溃。通常开发中,多做一些校验判断,以及可能出现异常的地方进行捕获(注意线程内部产生的异常,需要在线程内部进行捕获)。
    通常业界App的崩溃率在4‰左右,提供代码质量是一方面,增加线上异常捕获是一方面。通过线上异常的反馈,迭代修复增进稳定性。

    2.安全性:无安全风险、遵守规范

    SDK必须没有安全风险,如注入、包含病毒、违反隐私规范等可能导致App被应用市场下架的风险。
    常见的如:js注入风险,上架GP等应用市场可能需要遵守相关规定,海外市场如安全隐私条例等。

    3.高性能:内存占用小、无经常性卡顿

    一些公司对上线产品有严格的性能检测指标,对于集成的SDK也有相应的标准要求。SDK尽可能的占用较小的内存,不会造成性能的卡顿等。

    4.体积小:减少或避免直接依赖三方库

    SDK包要小而精,避免造成接入方包体积过程。包体积过大,下载耗时长,不利于广告转化。
    策略:尽量不依赖第三方开源库(可以进行功能裁剪接入)、 使用混淆等

    5.对外接口要求
    5.1 简单易用性

    接口尽量简单,接口数量不会太多。减少使用方集成接入成本。

    5.2 命名规范统一

    命名除了编码上的命名规范,所见即所得外,最好形成统一的风格,能一眼看出是哪家厂商的SDK,好的规范能形成口碑,促进提升品牌效应。

    5.3 跨端接口尽量保持一致

    对于同一套SDK,尽量保持各端的接口命名、实现逻辑一致,减少接入过程中的困惑,减少技术支持成本,给人较好的接入体验。

    5.4 接口兼容性:新老接口的兼容、新功能兼容

    新版本尽可能的兼容老版本,避免已经集成的开发者在接入新版本后,出现问题,提高新版本的推进铺量速度。

    6.高健壮性、高鲁棒性

    要尽可能的提高程序的健壮性、鲁棒性。对于依赖服务端、开发者、或用户配合的各种环境,我们要有各种冗长兜底的逻辑,假定各种依赖环境异常,我们也务必要保证程序的稳定性,尽可能的采用兜底方案,减少对业务的损失。

    三、SDK集成与维护
    1.集成方式:灵活多样

    SDK集成方式尽可能灵活方便。对于Android,可以采用maven,gradle依赖引入,或者直接提供jar、aar包来集成。

    2.集成指南

    对于SDK的集成步骤,使用步骤,版本更新说明,API接口介绍等,应用详细的文档说明。常见的官方文档包括:

    • 概要
    • 集成前准备
    • 获取SDK
    • 初始化
    • 使用说明
    • 测试说明
    • 集成建议&常见问题
    • changeLog
    • 其他须知

    3.集成测试

    可以提供检测集成工具,帮助开发者检验是否正确接入。或者必要的测试步骤以及结果说明引导开发者完成集成测试。

    四、SDK开发经验
    1.埋点要全

    对于SDK内部的各种行为,流程,尽可能的加入埋点。通过埋点,为业务方数据分析提供支持。

    2.灵活配置化:铺量至少2周

    SDK由于需要App的集成,依赖App的发版周期,导致铺量时间长。所以对于SDK内的业务支持,尽可能采用灵活的方式实现,如配置化,H5化。

    3.SDK架构图
    架构图画的比较简单,有一点点问题,如bid模块的存储地方,暂不修改,仅供参考


    架构.png

    相关文章

      网友评论

          本文标题:广告SDK开发经验总结

          本文链接:https://www.haomeiwen.com/subject/uyojgltx.html