本文已在個人公衆號hongyangAndroid原創首發。java
我我的對於新事物抱着老是樂於嘗試的態度,多是小時候可以接觸的東西太少。目前狀況下,在本身的承受或者精力範圍內,會主動去買一些或者作一些東西,更多時候是爲了體驗一下。我始終認爲,不少東西只有親身去感覺,才能深入的認識到本身對這個東西的看法。android
今天給你們分享下,是否要去製做而且上線一款我的app,重點是上線,相信你們或多或少都製做多一款或者多款app。git
上線的目的並非爲了說能掙多少錢...github
想要掙錢沒那麼容易,很難作到。面試
上線的目的也不是爲了給面試官看,我作了一個多麼牛逼的app...後端
這個針對應屆生是能夠的,不過多數狀況下,上線的app很難達到讓面試官眼前一亮的感受...api
可是,我仍然鼓勵你們去開發一款我的app,而後去嘗試上市場的。bash
爲何呢?服務器
假如你掙錢了咋辦...(開個玩笑),不過我身邊確實有製做我的app的朋友,app中有會員機制和廣告,每一年收入還能夠的,至關於給本身漲薪了,厚着臉皮要了個本週某日的數據:微信
已經向該製做者承諾,不泄露app相關信息。
固然這個很難作到,若是作到了,那隻能恭喜你們躺着掙錢了。不過不但願你們抱着掙錢的目的去作,這樣會比較耗費你的精力。
重要的目標仍是體驗:從開發-上線-打磨這個過程。
經過這個過程,你能夠獲得一些:
你能夠更好的瞭解渠道的定義,工做中老是有多渠道的概念,這個時候你會深入理解;
你須要本身去搞應用內升級、日活檢測、crash率修復、三方登陸等;
你會了解各個平臺對開發者上線app審覈的力度,好比你知道某些平臺只讓企業開發者,某些平臺須要軟著,某些平臺就較爲寬泛的管理;
做爲本身視野的開闊與談資;
接下來就以我的經驗,分享幾個上線我的app的注意事項。
不但要集成數據統計sdk,還要注意分渠道。不過通常咱們我的app上線,並不會有那麼多的渠道,例如使用友盟,利用productFlavors
和manifestPlaceholders
在manifest中註明渠道便可。
數據統計sdk能夠幫你:
發現crash,不少時候咱們設備單一,大多數的crash仍是須要用戶去幫你測試出來的;
查看每一個渠道的數據,這個會幫你發現哪些渠道比較關鍵,你能夠選擇首發,或者遇到審覈不過的又非優質的渠道,能夠穩住。
查看版本分佈;
瞭解新增、每日日活、留存等,若是發現不對勁,多是最新上線的功能有什麼問題。
總之,能夠幫你更好的打磨和了解你的應用。
即每次更新版本,不須要推到市場,用到打開app便可收到應用內更新。
爲何要這個呢?
當咱們更新代碼後,能夠先開啓應用內更新,通常狀況下非強制,你能夠升級一部分用戶後關閉,利用這部分用戶作一個簡單的灰度。當他們使用過程當中沒有出現崩潰,也沒有反饋,你就能夠開心的打各個渠道包,上市場了;若是有問題,你還能夠及時的修改代碼。避免了剛上市場,發現問題,從而又要當即市場更新,並且這個更新是非及時的。
還有個很關鍵的緣由,尤爲是針對我的開發者,不少時候,因爲各個市場的評估標準不一樣,你的app可能只在應用寶
,百度手機助手
,這兩個渠道上。那麼小米手機的用戶,是沒法作到後臺自動更新的,須要用戶哪天手動打開對應的市場,手動更新,這個過程仍是至關漫長的。
總之,應用內檢測更新,能夠幫你更快的完成版本收斂,更好的保證線上app的質量。
其實應用內更新很方便,github上庫也比較多,只要有個地方能放置apk的下載連接,接口利用www.wanandroid.com/tools/mocka…便可。
好比我:
這屬於偷懶的方案。
反饋這個功能就更關鍵了,不少時候,你本身一我的測試和使用者的狀況是不一樣;其次,便於收集需求。
你能夠利用雲服務器,寫個簡單的接口,能上傳文字就行,記得以前我推薦過京東雲,不少人購買了,能夠利用起來。固然也能夠利用相似bomb這樣的後端雲去作,總之,必定要可以拿到用戶的反饋。
親身體驗,我的app大部分需求迭代,都是用戶反饋提供的。
反饋讓你真正瞭解到用戶的需求和吐槽。
後續考慮在wanandroid上面,給你們提供一個接收反饋的能力。
記得app上線了一年多,只有一個好評,恩,我本身評的...尷尬
實際上是由於app並無可以直接跳轉到市場的功能,用戶評價的可能性過低了。
加上後,幾天內就迎來了好幾個好評。
這個成本很是低:
#僞代碼
String appPkg = context.getPackageName();
Uri uri = Uri.parse("market://details?id=" + appPkg);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
複製代碼
幾行代碼的就能搞定。
可是,因爲我的app的特殊性,大多數狀況下,不少市場是上不去的,好比小米對app質量要求比較高,vivo oppo對開發者資質審查太嚴格。
自帶的市場即便跳轉過去,也只會顯示未收錄該應用。
上述代碼只能跳轉到手機自帶的市場,因此狀況應該是,提早掃描用戶手機中的市場軟件,若是包含你上線的渠道市場,則跳轉過去:
#僞代碼
String appPkg = context.getPackageName();
// 掃描已經安裝的市場包名
ArrayList<String> marketPkgs = MarketUtils.queryInstalledMarketPkgs(context);
L.d("market = " + marketPkgs);
Uri uri = Uri.parse("market://details?id=" + appPkg);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
// 指定市場
if (!TextUtils.isEmpty(marketPkg) && marketPkgs.contains(marketPkg)) {
intent.setPackage(marketPkg);
}
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
複製代碼
想要好評,就儘量讓好評變得容易。
分享也是很關鍵的一個功能,正由於,你的app存在的市場比較少,使用者給其餘人推薦的時候可能對方並不能在自帶的市場搜索到。
因此最好集成上。
若是你比較懶,也能夠加一個分享apk的功能,也沒問題:
#僞代碼
public static void shareFile(Context context) {
File apkFile = AppUtils.getApkFile(context);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(apkFile));
context.startActivity(intent);
}
複製代碼
這樣就能夠將apk分享給別人了。
不是那麼容易可觸達,就努力變得容易。
不少時候,一些細節,就能給你帶來很是多的改善。
固然不只是app,相信全部你所經歷的事情,多觀察,多思考,都有不少相似的技巧。
常常思考,努力完善這些細節。
以上就是我作我的app的親身感悟,但願這些經驗能夠幫到你!
你們當中應該有比我更有經驗的,歡迎留言分享給你們。
推薦閱讀:
支持個人話能夠關注下個人公衆號和網站,天天都會推送新知識~
掃一掃關注個人微信公衆號:hongyangAndroid