當前位置:編程學習大全網 - 編程語言 - Android插件化突破應用市場無法上廣告的問題

Android插件化突破應用市場無法上廣告的問題

先簡單的描述壹下在廣告方面遇到的問題.

開發壹款App有了壹定的用戶量之後通常會想接入第三方廣告來實現變現,

然而在很多市場不讓這類帶廣告的App上架,除非接的是他們家的廣告.

在這裏我只能呵呵了.這點困難就想難倒我們.

那接下來ShowTime.怎麽做呢?

沒錯,就是插件化.

以廣點通廣告為例

這裏我使用的是360開源的 RePlugin ,具體介紹和使用方法請看官方文檔.

壹. RePlugin插件接入指南

第 1 步:添加 RePlugin Plugin Gradle 依賴

在項目根目錄的 build.gradle(註意:不是 app/build.gradle) 中添加 replugin-plugin-gradle 依賴:

第 2 步:添加 RePlugin Plugin Library 依賴

在 app/build.gradle 中應用 replugin-plugin-gradle 插件,並添加 replugin-plugin-lib 依賴:

接下來您就可以像正常接入廣告那樣,開發插件。生成出來的是APK,既可以“安裝到設備”,又可以“作為插件”使用。

二. RePlugin主程序接入指南

第 1 步:添加 RePlugin Host Gradle 依賴

在項目根目錄的 build.gradle(註意:不是 app/build.gradle) 中添加 replugin-host-gradle 依賴:

第 2 步:添加 RePlugin Host Library 依賴

在 app/build.gradle 中應用 replugin-host-gradle 插件,並添加 replugin-host-lib 依賴:

第 3 步:配置 Application 類

三. 宿主App 調用 插件廣告

1.編譯插件廣告,將生成的xx.apk包重命名xx.jar

將 xx.jar放到宿主App的 assets/plugins 目錄下 , Replugin將會自動獲取該內置插件

2.處理廣點通開屏廣告

由於廣點通開屏廣告的展示點擊都由SDK封裝處理了.

我們這裏采用的方式是,由宿主跳轉到插件的閃屏頁,在插件中完成請求,展示,點擊結束後回到宿主的主頁面.

(1)宿主跳轉到插件Activity

(2)插件開屏廣告請求處理,就按正常的廣告邏輯走

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

(4)宿主的清單文件中添加必要配置,否則廣告無反應

註意 : 盡量使宿主和插件的包名壹致,已避免廣告無收益

3.處理廣點通原生廣告

廣點通原生廣告不同於開屏廣告,其展示曝光和點擊曝光都由自己處理.

我們只能通過反射的方案去請求廣告

(1)在插件中先對廣告請求做壹層封裝

(2)宿主中反射LoadManager的requestNativeAD()方法

a.拿到插件的ClassLoader

b.取得需要反射的類

c.由於請求廣告的requestNativeAD()方法中有壹個參數是接口.

(這裏得使用動態代理)

取得被代理接口

d.接下來就是反射請求接口了

註意傳入的Context必須是插件的Context

e.在動態代理中取得回調

這裏我使用了EventBus將回調的廣告傳到請求的界面中

點擊曝光的反射

四.最後,第壹次寫文章,歡迎點評

宿主App : /AndWong/RePluginHostForAD/tree/master/app

插件App : /AndWong/RePluginHostForAD/tree/master/pluginApp

  • 上一篇:Java線程:新特征-線程池
  • 下一篇:stm32f407和tms320f28335的對比
  • copyright 2024編程學習大全網