您好,登錄后才能下訂單哦!
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;
}
這里有兩個工具:Ant、愛加密渠道監測。
使用Ant打包,需要注意兩點:一個是要在Ant中支持For循環,以自動做多次打包動作;一個是如何能夠在Ant中修改Manifest文件,以支持不同的市場。
1. Ant
在Ant的核心包里沒有相關的For循環的Task,要下載相應的擴展包。可以使用開源的Ant-contrib包。
下載地址:http://ant-contrib.sourceforge.net/
下載完成后,把ant-contrib里的lib包復制到安裝好的Ant庫apache-ant-XXX\lib下面,就可以使用了。
具體如何使用,可以參考ant-contrib的官方網站。
2. 愛加密渠道監測
使用地址:http://www.ijiami.cn/Channels
可以一鍵打多渠道包,精準獲取國內外600個APP推廣渠道信息,包括應用商店、下載站、論壇等。一站式監控所有APP相關渠道的信息,包括:版本、渠道、下載源、下載量等。方便快捷的輔助開發者管理APP在各大渠道的上線及推廣運營工作。
具體使用流程詳見http://www.ijiami.cn/ 愛加密官方網站。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。