作者:a13786812476 | 来源:互联网 | 2023-05-17 21:35
年前做的事情,年后才来总结。因公司项目需要接入广点通广告,花费了一天时间接入到项目中。如何接入项目以及使用,广点通的DEMO已经很详细,很容易理解了,在此不做过多说明。
年前做的事情,年后才来总结。
因公司项目需要接入广点通广告,花费了一天时间接入到项目中。如何接入项目以及使用,广点通的DEMO已经很详细,很容易理解了,在此不做过多说明。
本想项目上线后再做优化和整合,没想到在上架oppo市场的时候,因内涵广告插件被评为C,原来国内的市场已经严峻到这种地步。![微笑](https://www.#.com/imgs/5/1/7/6/73/61c17ed2eb67211a84e137429ac3f7ad.jpe)
好了,想办法吧。
最容易实现的,也是现阶段使用的方法,封装aar,根据不同的市场,做不同的arr引入。
本文只说想法,具体代码不做详细介绍。
先看aar结构
这个很明了啦。
再看实现。
在build中建立三个分支,分别实现不同的广告,开始并没有接入oppo,因为oppo广告的坑点太多啦。上架oppo市场使用noop的空实现。
分支结构大家应该都明白,将第三方的广告监听封装到一起,建立抽象类做需要的监听回调。
再看具体实现
可以使用自定义layout来装广告,在项目中直接引用,笔者喜欢使用fragment,因为经常记不住繁多的自定义view名称。具体操作,建立fragment来实现具体广告请求。项目中只需要在需要的地方framelayout容器即可。所有的操作都是独立在fragment里面完成,好维护。
ok,想法到此结束,使用起来也很方便,一句话调用。
下面是空实现。![偷笑](https://www.#.com/imgs/2/3/6/5/24/33c29e3268d66ef5c09858efe40a3635.jpe)
将不同的aar引入项目中
在打包的时候分别引入不同的aar包即可。后也已经将oppo集合到包中,不过因为oppo广告有些地方还是没有完善,所以没有使用。
公司大佬觉得引用不同的aar包,项目也比较大,打包起来还是比较费力。小弟也觉得如此,确定编译运行切换起来都是不小的耗时。大佬建议朝classloader的方向试试。![大笑](https://www.#.com/imgs/9/0/5/5/98/899229cfab2c02d614490485cabb781b.jpe)
另:有大佬就是好。