這里會顯示出您選擇的修訂版和當前版本之間的差別。
兩側同時換到之前的修訂記錄 前一修訂版 后一修訂版 | 前一修訂版 | ||
razor:android-developer-guide [2015/03/24 16:50] cobub |
razor:android-developer-guide [2017/07/14 11:18] (當前版本) |
||
---|---|---|---|
行 8: | 行 8: | ||
===== 1.1 注冊應用,獲取AppKey,下載開發文檔 ===== | ===== 1.1 注冊應用,獲取AppKey,下載開發文檔 ===== | ||
- | |||
登陸賬號后,到管理后臺注冊應用,填寫Android應用的相關信息。App建立成功后,可獲得該App的AppKey以及最新的開發文檔。 | 登陸賬號后,到管理后臺注冊應用,填寫Android應用的相關信息。App建立成功后,可獲得該App的AppKey以及最新的開發文檔。 | ||
===== 1.2 Android SDK使用步驟 ===== | ===== 1.2 Android SDK使用步驟 ===== | ||
- | ==== 1.2.1 導入com.wbkit1.0.jar(簡稱SDK) ====? | + | ==== 1.2.1 導入Cobub的SDK jar包 ==== |
- | 打開放在服務端的android_sdk, 導入android_sdk到eclipse,打包生成的bin\classes下com文件夾為com.wbkit1.0.jar。 | + | 打開下載文件中的sdk\android_sdk目錄, 導入SDK項目到eclipse(或其它IDE),打包生成jar包。 |
- | Eclipse用戶右鍵工程根目錄,選擇Properties —>Java Build Path —>libraries,然后點擊Add External JARs…選擇指向 com.wbkit1.0.jar的路徑,點擊OK,即導入成功。 | + | Eclipse用戶右鍵工程根目錄,選擇Properties —>Java Build Path —>libraries,然后點擊Add External JARs…選擇指向上述生成的jar包文件的路徑,點擊OK,即導入成功。 |
==== 1.2.2 配置AndroidManifest.xml ==== | ==== 1.2.2 配置AndroidManifest.xml ==== | ||
行 93: | 行 91: | ||
**import com.wbtech.ums.UmsAgent;** | **import com.wbtech.ums.UmsAgent;** | ||
- | * 設置服務器URL? | + | * 初始化Ums對象? |
- | 在Android應用的入口Activity的onCreate()方法中調用UmsAgent.setBaseURL(String url)方法,注意這個方法應置于所有其他的方法之前。 | + | 在Android應用的入口Activity的onCreate()方法中調用UmsAgent.init(Context context, String url)方法,**注意這個方法應置于所有其他的方法之前**。url為自行安裝的Cobub Razor服務端地址,注意地址以index.php?結束,如"http://demo.cobub.com/razor/index.php?"。 |
* 獲取用戶ID | * 獲取用戶ID | ||
- | 在可以獲得用戶唯一標識符的地方調用UmsAgent.bindUserIdentifier(String userID)方法,該方法會記錄下該標示 符,以確定某一用戶在使用該應用。該方法后需要調用UmsAgent.postClientData(Context con)方法(稍后介紹)才能將 數據上傳至服務器,否則只在本地保存該用戶的標示符記錄。 | + | 在可以獲得用戶唯一標識符的地方(如登錄界面)調用UmsAgent.bindUserid(Context context, String userID)方法,該方法會記錄下該標示符(如app應用的用戶名,手機號或郵箱等標識用戶唯一性的id),該函數會將設備與用戶id的關系發至服務端保存。 |
* 綁定tag | * 綁定tag | ||
行 133: | 行 131: | ||
setContentView(R.layout.activity_main); | setContentView(R.layout.activity_main); | ||
button = (Button) findViewById(R.id.button1); | button = (Button) findViewById(R.id.button1); | ||
- | UmsAgent.setBaseURL("http://192.168.1.204/UMS/index.php?"); | + | UmsAgent.init(context,"http://192.168.1.204/UMS/index.php?"); |
UmsAgent.update(this); | UmsAgent.update(this); | ||
- | UmsAgent.onError(this);? | + | ? |
- | UmsAgent.setDefaultReportPolicy(this, 1);? | + | UmsAgent.setDefaultReportPolicy(this, SendPolicy.REALTIME);? |
- | UmsAgent.bindUserIdentifier(this, "xd..");? | + | UmsAgent.bindUserid(this, "cobub");? |
- | UmsAgent.postClientData(this); | + | |
button.setOnClickListener(new OnClickListener() { | button.setOnClickListener(new OnClickListener() { | ||
行 156: | 行 154: | ||
==== 1.2.5 注意事項 ==== | ==== 1.2.5 注意事項 ==== | ||
- | |||
* AppKey | * AppKey | ||
行 173: | 行 170: | ||
===== 2.1 錯誤報告 ===== | ===== 2.1 錯誤報告 ===== | ||
- | |||
SDK可以幫您捕捉用戶在使用應用過程中出現的異常退出(FC),并將錯誤報告發送給服務器,錯誤報告包含應用程序版本、操作系統版本和設備型號以及程序出現異常時的Stacktrace,這些數據將幫助您調試應用程序的錯誤。我們提供兩種方式報告錯誤信息,一種是我們自動捕獲的錯誤信息,一種是開發者自己傳遞的錯誤 | SDK可以幫您捕捉用戶在使用應用過程中出現的異常退出(FC),并將錯誤報告發送給服務器,錯誤報告包含應用程序版本、操作系統版本和設備型號以及程序出現異常時的Stacktrace,這些數據將幫助您調試應用程序的錯誤。我們提供兩種方式報告錯誤信息,一種是我們自動捕獲的錯誤信息,一種是開發者自己傳遞的錯誤 | ||
行 188: | 行 184: | ||
===== 2.2 自定義事件 ===== | ===== 2.2 自定義事件 ===== | ||
- | |||
除了基本統計分析功能外,SDK還支持您自定義的事件的統計分析,例如您可以統計廣告點擊次數或者視頻被播放的次數等等,這里我們將提供幾個簡單而通用的接口: | 除了基本統計分析功能外,SDK還支持您自定義的事件的統計分析,例如您可以統計廣告點擊次數或者視頻被播放的次數等等,這里我們將提供幾個簡單而通用的接口: | ||
行 213: | 行 208: | ||
UmsAgent.onEvent(Context context,String event_id,String label,double value)</code> | UmsAgent.onEvent(Context context,String event_id,String label,double value)</code> | ||
例如 event_id代表一個“下單”事件,那么label可以標記為某個“訂單號”,而value就為該“訂單號”的金額(即價值)。 | 例如 event_id代表一個“下單”事件,那么label可以標記為某個“訂單號”,而value就為該“訂單號”的金額(即價值)。 | ||
- | ===== 2.3 分發渠道分析 ===== | ||
+ | ===== 2.3 調試 ===== | ||
- | 不同的發布渠道,對應著不同的appkey,統計結果可以使您很好的了解有多少用戶從聯想樂園或者Google android market 下載到您的應用程序。 | + | Cobub Android SDK提供了調試的功能,提供盡可能多的日志信息,以確定可能出現的問題。? |
+ | 調用以下函數,可以打開調試功能,sdk所有上報的數據可以在logcat中顯示。**注意:請在產品正式發布時,關閉該功能。**? | ||
+ | <code java>? | ||
+ | UmsAgent.setDebugEnabled(true);? | ||
+ | </code>? | ||
+ | ? | ||
+ | Log的不同等級,可以通過以下函數設置:? | ||
+ | <code java>? | ||
+ | UmsAgent.setDebugLevel(UmsAgent.LogLevel);? | ||
+ | </code>? | ||
+ | LogLevel分為Info,Debug,Warn,Error和Verbose。 | ||
====== 3 應用程序更新 ====== | ====== 3 應用程序更新 ====== | ||
===== 3.1 上傳APK ===== | ===== 3.1 上傳APK ===== | ||
- | |||
這個功能將幫助您把新版的Android應用程序推送給用戶,您只需修改AndroidManifest.xml中的VersionCode,并把應用程序的apk文件上傳到服務器。 | 這個功能將幫助您把新版的Android應用程序推送給用戶,您只需修改AndroidManifest.xml中的VersionCode,并把應用程序的apk文件上傳到服務器。 | ||
===== 3.2 添加權限 ===== | ===== 3.2 添加權限 ===== | ||
- | |||
**android.permission.WRITE_EXTERNAL_STORAGE** | **android.permission.WRITE_EXTERNAL_STORAGE** | ||
行 241: | 行 244: | ||
考慮到用戶流量的限制,目前我們默認在Wi-Fi介入情況下才進行自動提醒。 | 考慮到用戶流量的限制,目前我們默認在Wi-Fi介入情況下才進行自動提醒。 | ||
===== 3.4 機制說明 ===== | ===== 3.4 機制說明 ===== | ||
- | |||
每次更新Android應用程序,您只需要修改VersionCode,把Android應用程序的apk文件上傳到服務器。UmsAgent.update()方法會判斷是否有新版應用程序,如果發現可更新的應用程序安裝包,會提示用戶是否更新。用戶選擇更新后,安裝包會下載安裝更新。(按照version code來檢測是否需要更新) | 每次更新Android應用程序,您只需要修改VersionCode,把Android應用程序的apk文件上傳到服務器。UmsAgent.update()方法會判斷是否有新版應用程序,如果發現可更新的應用程序安裝包,會提示用戶是否更新。用戶選擇更新后,安裝包會下載安裝更新。(按照version code來檢測是否需要更新) | ||
- | |||
====== 4 數據發送 ====== | ====== 4 數據發送 ====== | ||
行 250: | 行 251: | ||
===== 4.1 模式解釋 ===== | ===== 4.1 模式解釋 ===== | ||
- | ? | + | * 啟動時發送 |
- | * 啟動時發送(推薦使用) | + | |
應用程序每次只會在啟動時向服務器發送一次消息,在應用程序過程中產生的所有消息都會在下次啟動時候發送。如果應用程序啟動時處在不聯網狀態,那么消息將會緩存在本地,下次再嘗試發送。 | 應用程序每次只會在啟動時向服務器發送一次消息,在應用程序過程中產生的所有消息都會在下次啟動時候發送。如果應用程序啟動時處在不聯網狀態,那么消息將會緩存在本地,下次再嘗試發送。 | ||
- | * 實時發送? | + | * 實時發送(推薦使用)? |
- | 應用程序每產生條消息時,就立即發送到服務器 | + | 應用程序每產生條消息時,就立即發送到服務器。這種方式使得計算更及時 |
===== 4.2 設置發送模式 ===== | ===== 4.2 設置發送模式 ===== | ||
在Android應用程序的入口Activity中調用**UmsAgent.setDefaultReportPolicy(Context,int)**,參數int可取值0或者1,其中1表示實時發送,0表示啟動時發送。 | 在Android應用程序的入口Activity中調用**UmsAgent.setDefaultReportPolicy(Context,int)**,參數int可取值0或者1,其中1表示實時發送,0表示啟動時發送。 | ||
- | |||
====== 5 使用在線配置功能 ====== | ====== 5 使用在線配置功能 ====== | ||
行 265: | 行 264: | ||
UmsAgent.updateOnlineConfig(Context)</code> | UmsAgent.updateOnlineConfig(Context)</code> | ||
在Android應用程序的入口Activity的onCreate()方法中調用。SDK將聯網檢測您的在線配置,將這些信息保存在本地。你也可以通過下面的方法讀取您的自定義參數。 | 在Android應用程序的入口Activity的onCreate()方法中調用。SDK將聯網檢測您的在線配置,將這些信息保存在本地。你也可以通過下面的方法讀取您的自定義參數。 | ||
- | |||
- | **UmsAgent.updateOnlineConfig(Context context,String key)** 其中key為在網站上編輯好的key,返回值是對應的value ,如果沒有讀到相應的value將返回空字符串。 |