我們要不要上線「個人app」 ?

鴻洋發表於2018-05-12

本文已在我的公眾號hongyangAndroid原創首發。

我個人對於新事物抱著總是樂於嘗試的態度,可能是小時候能夠接觸的東西太少。目前情況下,在自己的承受或者精力範圍內,會主動去買一些或者做一些東西,更多時候是為了體驗一下。我始終認為,很多東西只有親身去感受,才能深刻的認識到自己對這個東西的見解。

今天給大家分享下,是否要去製作並且上線一款個人app,重點是上線,相信大家或多或少都製作多一款或者多款app。

上線的目的並不是為了說能掙多少錢...

想要掙錢沒那麼容易,很難做到。

上線的目的也不是為了給面試官看,我做了一個多麼牛逼的app...

這個針對應屆生是可以的,不過多數情況下,上線的app很難達到讓面試官眼前一亮的感覺...

但是,我仍然鼓勵大家去開發一款個人app,然後去嘗試上市場的。

為什麼呢?

假如你掙錢了咋辦...(開個玩笑),不過我身邊確實有製作個人app的朋友,app中有會員機制和廣告,每年收入還可以的,相當於給自己漲薪了,厚著臉皮要了個本週某日的資料:

我們要不要上線「個人app」 ?

已經向該製作者承諾,不洩露app相關資訊。

當然這個很難做到,如果做到了,那隻能恭喜大家躺著掙錢了。不過不希望大家抱著掙錢的目的去做,這樣會比較耗費你的精力。

重要的目標還是體驗:從開發-上線-打磨這個過程

通過這個過程,你可以得到一些:

  1. 你可以更好的瞭解渠道的定義,工作中總是有多渠道的概念,這個時候你會深刻理解;

  2. 你需要自己去搞應用內升級、日活檢測、crash率修復、三方登入等;

  3. 你會了解各個平臺對開發者上線app稽核的力度,比如你知道某些平臺只讓企業開發者,某些平臺需要軟著,某些平臺就較為寬泛的管理;

  4. 作為自己視野的開闊與談資;

接下來就以個人經驗,分享幾個上線個人app的注意事項。

整合資料統計sdk

不但要整合資料統計sdk,還要注意分渠道。不過一般我們個人app上線,並不會有那麼多的渠道,例如使用友盟,利用productFlavorsmanifestPlaceholders在manifest中註明渠道即可。

資料統計sdk可以幫你:

  1. 發現crash,很多時候我們裝置單一,大多數的crash還是需要使用者去幫你測試出來的;

  2. 檢視每個渠道的資料,這個會幫你發現哪些渠道比較關鍵,你可以選擇首發,或者遇到稽核不過的又非優質的渠道,可以穩住。

  3. 檢視版本分佈;

  4. 瞭解新增、每日日活、留存等,如果發現不對勁,可能是最新上線的功能有什麼問題。

總之,可以幫你更好的打磨和了解你的應用。

整合應用內檢測更新

即每次更新版本,不需要推到市場,用到開啟app即可收到應用內更新。

為什麼要這個呢?

當我們更新程式碼後,可以先開啟應用內更新,一般情況下非強制,你可以升級一部分使用者後關閉,利用這部分使用者做一個簡單的灰度。當他們使用過程中沒有出現崩潰,也沒有反饋,你就可以開心的打各個渠道包,上市場了;如果有問題,你還可以及時的修改程式碼。避免了剛上市場,發現問題,從而又要立即市場更新,而且這個更新是非及時的。

還有個很關鍵的原因,尤其是針對個人開發者,很多時候,由於各個市場的評估標準不同,你的app可能只在應用寶百度手機助手,這兩個渠道上。那麼小米手機的使用者,是無法做到後臺自動更新的,需要使用者哪天手動開啟對應的市場,手動更新,這個過程還是相當漫長的。

總之,應用內檢測更新,可以幫你更快的完成版本收斂,更好的保證線上app的質量。

其實應用內更新很方便,github上庫也比較多,只要有個地方能放置apk的下載連結,介面利用www.wanandroid.com/tools/mocka…即可。

比如我:

我們要不要上線「個人app」 ?

這屬於偷懶的方案。

一定要有反饋的功能

反饋這個功能就更關鍵了,很多時候,你自己一個人測試和使用者的情況是不同;其次,便於收集需求。

你可以利用雲伺服器,寫個簡單的介面,能上傳文字就行,記得之前我推薦過京東雲,很多人購買了,可以利用起來。當然也可以利用類似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的親身感悟,希望這些經驗可以幫到你!

大家當中應該有比我更有經驗的,歡迎留言分享給大家。

推薦閱讀:

  1. 如何高效的閱讀技術文章
  2. 就如何高效學習的一點建議

支援我的話可以關注下我的公眾號和網站,每天都會推送新知識~

掃一掃關注我的微信公眾號:hongyangAndroid 我們要不要上線「個人app」 ?

相關文章