返回
快速导航关闭
当前搜索
网站分类
栏目推荐
实用工具
热门标签
子分类:
付费推广技术网 >广点通怎么运营 » 正文

腾讯广点通,Android插件化突破应用市场无法上广告

广点通怎么运营 更新时间: 发布时间: 广点通怎么运营归档 最新发布 网站地图

先简单的描述一下在广告方面遇到的问题. 开发一款App有了一定的用户量之后通常会想接入第三方广告来实现变现, 然而在很多市场不让这类带广告的App上架,除非接的是他们家的广告.

在这里我只能呵呵了.这点困难就想难倒我们.

那接下来ShowTime.怎么做呢? 没错,就是插件化. 以广点通广告为例 这里我使用的是360开源的RePlugin,具体介绍和使用方法请看官方文档.

想学习Android或者在学习Android的过程中遇到了问题可以来我的Android学习群:110359956,私聊我就行了,不管你是小白还是大牛,只要我知道,问题都帮你解决,不定期分享干货,包括我自己整理的一份2017最新的Android资料和零基础入门视频教程

一.RePlugin插件接入指南 第 1 步:添加 RePlugin Plugin Gradle 依赖 在项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-plugin-gradle 依赖:

buildscript { dependencies { classpath 'com.qihoo360.replugin:replugin-plugin-gradle:2.2.0'

第 2 步:添加 RePlugin Plugin Library 依赖 在 app/build.gradle 中应用 replugin-plugin-gradle 插件,并添加 replugin-plugin-lib 依赖:

apply plugin: 'replugin-plugin-gradle'dependencies { compile 'com.qihoo360.replugin:replugin-plugin-lib:2.2.0'

接下来您就可以像正常接入广告那样,开发插件。生成出来的是APK,既可以“安装到设备”,又可以“作为插件”使用。

二.RePlugin主程序接入指南 第 1 步:添加 RePlugin Host Gradle 依赖 在项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-host-gradle 依赖:

buildscript { dependencies { classpath 'com.qihoo360.replugin:replugin-host-gradle:2.2.0'

第 2 步:添加 RePlugin Host Library 依赖 在 app/build.gradle 中应用 replugin-host-gradle 插件,并添加 replugin-host-lib 依赖:

apply plugin: 'replugin-host-gradle'repluginHostConfig {

第 3 步:配置 Application 类

public class App extends Application{ @Override

三.宿主App调用插件广告 1.编译插件广告,将生成的xx.apk包重命名xx.jar 将 xx.jar放到宿主App的 assets/plugins 目录下 , Replugin将会自动获取该内置插件

2.处理广点通开屏广告 由于广点通开屏广告的展示点击都由SDK封装处理了. 我们这里采用的方式是,由宿主跳转到插件的闪屏页,在插件中完成请求,展示,点击结束后回到宿主的主页面. (1)宿主跳转到插件Activity

 try {

(2)插件开屏广告请求处理,就按正常的广告逻辑走

(3)插件回到宿主的主页面

private void intoMainPage() { //TODO 打开宿主应用

(4)宿主的清单文件中添加必要配置,否则广告无反应

 <!-- 广点通广告 -->

注意 : 尽量使宿主和插件的包名一致,已避免广告无收益

3.处理广点通原生广告 广点通原生广告不同于开屏广告,其展示曝光和点击曝光都由自己处理. 我们只能通过反射的方案去请求广告

(1)在插件中先对广告请求做一层封装

package com.plugin.ad.managers;import android.app.Activity;import android.content.Context;import android.view.View;import android.view.ViewGroup;import com.plugin.ad.listeners.ILoadListener;import com.plugin.ad.models.ADModel;import com.plugin.ad.models.ModelManager;import com.plugin.ad.utils.JsonUtil;/**
/**

(2)宿主中反射LoadManager的requestNativeAD()方法 a.拿到插件的ClassLoader

 ClassLoader classLoader = RePlugin.fetchClassLoader("adPlugin");

b.取得需要反射的类

 Class<?> methodClass = classLoader.loadClass("com.plugin.ad.managers.LoadManager");

c.由于请求广告的requestNativeAD()方法中有一个参数是接口. (这里得使用动态代理) 取得被代理接口

 /**

d.接下来就是反射请求接口了

 /**

注意传入的Context必须是插件的Context e.在动态代理中取得回调

public class LoadCallBackProx implements InvocationHandler { /**

这里我使用了EventBus将回调的广告传到请求的界面中

/*** 原生信息流* 插件广告请求** @param event*/@Subscribepublic void onEventReADEvent(ReNativeAdEvent event) { if (event.isSucc) { //成功try {Object object = ReAdFactory.getNativeAD(POI_SECOND); //展示String title = (String) object.getClass().getMethod("getTitle").invoke(object);String iconUrl = (String) object.getClass().getMethod("getIconUrl").invoke(object); //反射调用曝光接口object.getClass().getMethod("onExposured", new Class[]{View.class}).invoke(object, findViewById(R.id.activity_main));} catch (Exception e) {e.printStackTrace();}} else { //失败}}

点击曝光的反射

 /**

撸完,收工,学习交流群110359956

考高分网交流群

扫一扫加入QQ交流群

和更多志同道合朋友一起交流,分享干货资料!
付费推广技术网客服

扫一扫加客服微信

有疑问请咨询付费推广技术网微信号,在线为您解答!
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 Copyright Your 折1CP备14032708号-6 Rights Reserved. Powered · 创奇学院

ICP备案号:浙ICP备14032708号