當前位置:首頁 » 安卓系統 » android渠道

android渠道

發布時間: 2023-05-25 18:35:11

A. 如何在Android應用中加入渠道信息

為了統計渠道信息,就不得不在程序的某個地方加入渠道的信息運喊,然後針對不同的渠道打不同的包。一般可以在Manifest文件中加入渠道編號,而不直接寫在代碼中。這樣做的好處是,可以針對不同渠道,自動化去修改Manifest文件中的渠道編號,然後自動為該渠道打包。

Manifest文件支持Meta Data標簽,建議使用這種自定義標簽。例如下面的文件片段。

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

android:versionCode="X"

android:versionName="X.X.X"

package="com.XXX">

……

<application android:icon="@drawable/icon"

android:label="@string/app_name">

……

<meta-data android:name="CHANNEL" android:value="C_001" />

</application>

</manifest>

在這段代碼示例中,我們在Application節點下增加了一個meta-data標簽,名稱是CHANNEL,值是C_001,是我們規定的一個渠道的編號。

為不同的渠道打包,就要手工或者自動鉛悄鍵化修改C_001成為C_002、C_003等等其它我們定義的渠道編號,然後再打不同的包。

程序如何讀取打包的渠道編號?
在程序代碼中,可以讀取Manifest文件中定義的meta-data。以下為代碼實例。

public static String getChannelCode(Context context) {

String code = getMetaData(context, "CHANNEL");

if (code != null) {

return code;

}

return "C_000";

}

private static String getMetaData(Context context, String key) {

try {

ApplicationInfo ai = context.getPackageManager().getApplicationInfo(

context.getPackageName(), PackageManager.GET_META_DATA);

Object value = ai.metaData.get(key);

if (value != null) {

return value.toString();

}

} catch (Exception e) {

//

}

return null;

}

如何自動化打包過程?
我們想要自動化針對不同渠道打不同包的過程,有兩種情況。一種是有源代碼的情況,一種是沒有源代碼只有APK文件的情況。

有源代碼的情況。
有源代碼的情況比較簡單。我們可以使用自動化腳本工具進行打包,比如使用Ant。

使用Ant打包,有兩個關鍵問題:一個是要在Ant中支持For循環,以自動做多次打包動作;一個是如何能夠在Ant中修改Manifest文件,以支持不同的市場。只要解決了這兩個關鍵問題,配合Ant的基本功能,就能實現我們的要求了。

1. 在Ant中支持循環

在Ant的核心包里沒有相關的槐巧For循環的Task,要下載相應的擴展包。可以使用開源的Ant-contrib包。

下載地址:http://ant-contrib.sourceforge.net/

下載完成後,把ant-contrib里的lib包復制到安裝好的Ant庫apache-ant-XXX\lib下面,就可以使用了。

具體如何使用,可以參考ant-contrib的官方網站。

2. 在Ant中修改Manifest文件

利用 Ant 擴展任務所提供的 <replaceRegExp> 任務,還可以實現基於正則表達式的替換。

B. APP常用的推廣渠道包括哪些 Android產品推廣渠道匯總

1.應用市場:
360,應用寶,網路手機助手,91安卓,豌豆莢,應用匯,機鋒,搜狗UC淘寶手機助手,網易,N多,優億市場,安智市場,3G,木螞蟻,歷趣市場等。
2.手機運營商應用商店:
所謂運營商渠道就是指中國移動、聯通、電信運營商,他們主要的有點就是用戶基數大,如果你的產品夠好,沒准還能獲得運營商的支持。
3.手機系統商應用商店:
就是三星,華為,小米,聯想,樂視,金立,酷派,OPPO,VIVO,魅族,奇酷,堅果等官方應用商店。
4.第三方應用商店:
第一種就屬於第三方商店,渠道專員要准備大量素材,測試等與應用市場對接。各應用市場規則不一,如何與應用市場負責人溝通,積累經驗與技巧至關重要。資金充足的情況下,可以投放一些廣告位及推薦等。
5.軟體下載站:
比如天空下載、華軍軟體下載、網路軟體中心、中關村下載、太平洋下載等下載站也可以提交你的app獲得用戶。

C. ANDROID多渠道快速打包實踐

參考資料:
美團Android自動化之旅—生成渠道包
Android批量打包提速
AndroidMultiChannelBuildTool

背景
隨著發版需要,每次發版所需渠道包越來越多(現在差不多有一百個左右了),正常gradle打包由於耗時效率過低已無法滿足需求,開始了android多渠道快速打包實踐。

方法
下面主要介紹兩種快速打包的方式:
1、類似美團的方式,在META-INF中寫入渠道名的空文件,用於讀取空文件。 美團Android自動化之旅—生成渠道包
2、在apk末尾動態寫入渠道信息。 一種動態為apk寫入信息的方案
其實這兩種方式都是同一個原理,替換以前從manifest中讀取渠道號的方式,而使用新的獲取方式(渠道號如何寫入就如何讀取)。
所以這首先需要客戶端(重要!):
1、統一應用中獲取渠道的方式並替換之前的(最好兼容)。
2、注意第三方SDK渠道號的傳入,比如友盟sdk,否則第三方會使用默認從manifest中讀取的方式。

下面介紹一種已經測試過的方法(git上開源項目 AndroidMultiChannelBuildTool )
1、安裝環境由於腳本環境是使用python語言,所以需要我們 安裝環境 。
2、導入項目導入開源項目 AndroidMultiChannelBuildTool ),並把想要批量打包的apk文件拷貝到PythonTool目錄下(與py同級),運行py腳本即可打包完成。

以上基本實現快速打包,經過測試一分鍾百十個無壓力。另外需要注意這種方式只適用於打包需求一致渠道號不同,不適用特殊定製渠道。

備註:9月21日補充快速打包java版本,詳見 AndroidMultiChannelBuildTool-Java-master

D. Android app的渠道包是什麼意思

1、渠道包:
渠道包指的是在各大應用市場,發布的apk包的清單文件中,某個meta-data標簽下,配置的value不一樣,這個標簽的作用就是用來區分是哪個市場的,比如你發布到360.這個值就是你就可以配置成360,豌豆莢就可以配置成wandoujia,那麼這么配置的作用是幹嘛的?很簡單,就是用來做統計的,比如我們項目中用的是友盟統計,它可以統計用戶從哪個平台下載了你們的app,從而更好的掌握用戶的操作習慣。所以,如果app沒有統計功能的需求,你只需要打一個同樣的包,直接發布到各個平台即可,根本不用關心什麼渠道。
2、首發渠道包的含義我並不理解,字面的意思可能是說
在同一個apk版本中,有些渠道平台擁有優先體驗最新版本的許可權,那麼這些平台就是首發平台,之後過了一個星期,才將這個apk發布到另外一些的平台。
3、抓包
首先要明白,抓包和渠道包沒有半點關系。
抓包指的是我們在請求伺服器的時候,發出去的所有請求我都可以直觀的看到,包括請求的地址,請求頭,請求體,以及伺服器返回的結果:響應頭,響應體等等。這個從不可見到直觀可見的抓取過程,才是抓包。
抓包的主要作用是方便與服務端人員的配合。Windows比較好用的抓包工具是Filder,OS可以使用Charles(收費)。

E. (五)Android多渠道打包:美團多渠道打包原理以及使用

1.傳統打包:
傳統的打包方法都是在AndroidManifest添加渠道標示,每打一次包修改一次標示的名稱。效率特別的低,一個稍微大一點的項目打上幾十個渠道包可能需要幾個小時半天的時間。
2.由於傳統的打包方式每次修改渠道都需要重新的構建項目,時間都浪費構建上面了,美團提供了一種新的打包方案:
Android應用使用的APK文件就是一個帶簽名信息的ZIP文件,根據 ZIP文件格式規范,每個ZIP文件的最後都必須有一個叫 Central Directory Record 的部分,這個CDR的最後部分叫」end of central directory record」,這一部分包含一些元數據,它的末尾是ZIP文件的注釋。注釋包含Comment Length和File Comment兩個欄位,前者表示注釋內容的長度,後者是注釋的內容,正確修改這一部分不會對ZIP文件造成破壞,利用這個欄位,我們可以添加一些自定義的數據,Packer-Ng方式打包就是在這里添加和讀取渠道信息。打包神器,100個渠道包只需5s 哈哈 。
原理很簡單,就是將渠道信息存放在APK文件的注釋欄位中。

第一步:直接將PackerNg作為Utils拷貝到項目中。

第二步:創建一個保存渠道包名的txt文件,可以放在項目主目錄下:比如命名market.txt
渠道名可以按照需求隨便添加
an

huawei
legend
letv
meizu
oppo
qq
PC
sougou
UC
update
update1
vivo
wandoujia
woshangdian
xiaomi

第三步:ChannelUtil這個工具類是用於取出文件里的渠道名

第四步:打開第二步中的PackerNg類,首先配置一下此類main函數中接受的參數信息。本事例通過Android Studio的方式進行配置直接上圖:

圖中標注3的位置就是PackerNg類配置main函數中接受的兩個參數: 第一個參數為默認的release包的apk源文件,包名為ChannelUtil起初默認的包名

拿到這個包名可以傳給後台進行統計或進行其它的操作。

第六步:運行PackerNg類,會在項目目錄下自動生成文件夾apks(在PackerNg.java文件中配置好的apk渠道包存儲路徑)

注意點:第四步中ChannelUtil起初默認的包名為源文件,其它所有的的渠道包都是通過PackerNg打包方式都是以這個源文件為模版,進行復制,將不同的渠道名復制給這個源文件。如果是360渠道上線的話需要將這個包名默認改為360的渠道單獨打包,因為360上線需要加固,會把之前通過源文件復制渠道名給抹掉,所以對於360加固的文件需要單獨把360作為源文件來打包不改為360默認的渠道包後會統計不到360渠道的信息。

F. Android為什麼要多渠道打包

android多渠道打包應該是android應用的多渠道打包推廣。

渠道打包就是分不同的市場打包,比如安卓市場,網路市場,Google市場,360市場等等,太多了。分渠道打包目的是為了針對不同市場做出不同的一些統計,數據分析,收集用戶信息。

G. Android的APP渠道統計是怎麼做的

免費接入第三方的數據統計平台,碧雹我們的打卡提醒軟體悔虛帆不管是數據統計還是push推送都接的是第三方譽掘的介面,你也可以試試!

H. Android 怎麼獲取 umeng 的 渠道信息

Andriod版本APP獲取umeng的渠道信息,可以讓技術人員在程序羨擾中嵌入渠道編碼,具體步驟如下:

  1. 進入兄仔旦友盟網站,注冊帳號,綁定友盟應用統計;

  2. 下載友盟SDK文件,由技術開發人員嵌入到APP程序代碼中,具體操作方法可以參戚衡考友盟網站的嵌入指南;

  3. 根據安卓版本不同的發布渠道,定義好channel ID;

  4. 修改代碼中與channel相關的代碼,比如將<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>中的Channel ID替換為您應用的推廣渠道名稱,channel id自定義。

  5. 對應每個渠道生成一一對應的APK安裝包;

  6. 將標記好Channel ID的渠道安裝包,在對應的渠道發布;

  7. 定時登錄友盟後台查看渠道數據。

I. 如何獲取 android 渠道名稱

/**
*獲取渠道名
*@paramctx此處習慣性的設置為activity,實際上context就可以
*@return如果沒有獲取成功,那麼返回值為空
*/
(Activityctx){
if(ctx==null){
returnnull;
}
StringchannelName=null;
try{
PackageManagerpackageManager=ctx.getPackageManager();
if(packageManager!=null){
纖扮巧//注意此處為ApplicationInfo而不是ActivityInfo,因為友盟設置的meta-data是在application標簽中,而不是某activity標簽中,所以用ApplicationInfo
=packageManager.getApplicationInfo(ctx.getPackageName(),PackageManager.GET_META_DATA);
if(applicationInfo!=null){
if(applicationInfo.metaData!=null){
channelName=applicationInfo.metaData.getString("");
}
}

}
}catch(PackageManager.NameNotFoundExceptione){
缺輪e.printStackTrace();
}
returnchannelName;
}

提取為通用方法:
/**
*獲取application中指定的meta-data
*@return如果沒有獲取成功(沒有對應值,或者異常),則返回值為空
*/
(Contextctx,Stringkey)毀鍵{
if(ctx==null||TextUtils.isEmpty(key)){
returnnull;
}
StringresultData=null;
try{
PackageManagerpackageManager=ctx.getPackageManager();
if(packageManager!=null){
=packageManager.getApplicationInfo(ctx.getPackageName(),PackageManager.GET_META_DATA);
if(applicationInfo!=null){
if(applicationInfo.metaData!=null){
resultData=applicationInfo.metaData.getString(key);
}
}

}
}catch(PackageManager.NameNotFoundExceptione){
e.printStackTrace();
}

returnresultData;
}

J. Android的APP,是怎麼做渠道統計的

安卓渠道統計方案

方法1:通常傳統的做法是對不同渠道進行分包發布,每個渠道打一個標識唯一的渠道id的安裝包,再收集渠道安裝數據。這種方式有些弊端,如果渠道很多的話比如說有100個渠道要推廣,就得手工打100個渠道包,這樣做的話技術人員就比較辛苦了。另一個弊端就是應用市場會存在抓包的情況,這樣就會造成數據不準的情況。

方法2:用渠道鏈接替代渠道安裝包做渠道統計,這種方案就可以免去手工打渠道包,而且統計數據會更精確。具體實現請參考openinstall的官網 www.openinstall.io

熱點內容
bilibi手機緩存目錄在 發布:2025-02-12 08:33:11 瀏覽:457
聽ti密碼是多少 發布:2025-02-12 08:22:15 瀏覽:288
淘寶上傳視頻憑證 發布:2025-02-12 08:06:46 瀏覽:878
java畫 發布:2025-02-12 08:01:00 瀏覽:549
光遇安卓官服是在哪裡下載 發布:2025-02-12 07:47:47 瀏覽:648
安卓手機如何關閉程序打開廣告 發布:2025-02-12 07:31:06 瀏覽:469
新版影視大全不能緩存 發布:2025-02-12 07:31:04 瀏覽:976
sql兩個欄位in 發布:2025-02-12 07:29:45 瀏覽:771
漂亮網站源碼 發布:2025-02-12 07:26:40 瀏覽:760
執行腳本前 發布:2025-02-12 07:14:49 瀏覽:472