本文已在我的公眾號hongyangAndroid原創首發。
我個人對於新事物抱著總是樂於嘗試的態度,可能是小時候能夠接觸的東西太少。目前情況下,在自己的承受或者精力範圍內,會主動去買一些或者做一些東西,更多時候是為了體驗一下。我始終認為,很多東西只有親身去感受,才能深刻的認識到自己對這個東西的見解。
今天給大家分享下,是否要去製作並且上線一款個人app,重點是上線,相信大家或多或少都製作多一款或者多款app。
上線的目的並不是為了說能掙多少錢...
想要掙錢沒那麼容易,很難做到。
上線的目的也不是為了給面試官看,我做了一個多麼牛逼的app...
這個針對應屆生是可以的,不過多數情況下,上線的app很難達到讓面試官眼前一亮的感覺...
但是,我仍然鼓勵大家去開發一款個人app,然後去嘗試上市場的。
為什麼呢?
假如你掙錢了咋辦...(開個玩笑),不過我身邊確實有製作個人app的朋友,app中有會員機制和廣告,每年收入還可以的,相當於給自己漲薪了,厚著臉皮要了個本週某日的資料:
已經向該製作者承諾,不洩露app相關資訊。
當然這個很難做到,如果做到了,那隻能恭喜大家躺著掙錢了。不過不希望大家抱著掙錢的目的去做,這樣會比較耗費你的精力。
重要的目標還是體驗:從開發-上線-打磨這個過程。
通過這個過程,你可以得到一些:
-
你可以更好的瞭解渠道的定義,工作中總是有多渠道的概念,這個時候你會深刻理解;
-
你需要自己去搞應用內升級、日活檢測、crash率修復、三方登入等;
-
你會了解各個平臺對開發者上線app稽核的力度,比如你知道某些平臺只讓企業開發者,某些平臺需要軟著,某些平臺就較為寬泛的管理;
-
作為自己視野的開闊與談資;
接下來就以個人經驗,分享幾個上線個人app的注意事項。
整合資料統計sdk
不但要整合資料統計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