เคล็ดลับในการพัฒนาแอพ Android: บทเรียนของฉันที่ได้รับ

เผยแพร่แล้ว: 2022-03-11

สวัสดี! ฉันชื่ออีวาน และเป็นนักพัฒนาแอป Android มาระยะหนึ่งแล้ว หรือดูเหมือนว่า ย้อนกลับไปในสมัยนั้น (เรากำลังพูดถึงปี 2009) Android เป็นเพียงเด็กทารก และฉันได้เห็น Little Green Man เติบโตตั้งแต่นั้นเป็นต้นมา ฉันเกรงว่าเมื่อก่อน Android สามารถเอาชนะฉันได้

ปัจจุบัน Android ไม่ได้มีแค่โทรศัพท์และแท็บเล็ตหลายหมื่นเครื่องเท่านั้น มันอยู่บนข้อมือของคุณในห้องนั่งเล่น ในรถของคุณ และทันทีที่เราเริ่มกำหนดที่อยู่ IP ให้กับวัตถุที่ไม่มีชีวิต มันจะมีอยู่ทุกที่รอบตัวเรา มีพื้นฐานมากมายสำหรับนักพัฒนา Android ที่มีประสบการณ์

นอกจากนี้ยังมีแอปมากกว่าหนึ่งล้านแอปบน Google Play ไม่นับรวม Amazon AppStore หรือตลาดที่เราไม่ค่อยสนใจ เช่น จีน อย่าลืมบริษัทพัฒนาแอพมือถือนับไม่ถ้วนที่สร้างรายได้หลายพันล้านทุกปี

ดังนั้น นักพัฒนาอิสระจะสร้างแอพที่ประสบความสำเร็จในตลาดขนาดใหญ่ที่มีผู้เล่นรายใหญ่ได้อย่างไร? ฉันไม่รู้ ฉันไม่ได้สร้างแอปที่ประสบความสำเร็จ! แต่ฉันได้ทำอันที่น่ารักและฉันต้องการแบ่งปันเรื่องราวของฉันกับคุณ

บทที่ 1: เชื่อมต่อจุด

ความสำเร็จ (โดยปกติ) ไม่ได้เกิดขึ้นชั่วข้ามคืน และนี่ไม่ใช่แอปแรกของฉัน ฉันมีตั้งแต่ การพัฒนายอดฮิตในช่วงสุดสัปดาห์ที่ คาดไม่ถึง เช่น Macedonian Orthodox Calendar ที่มีผู้ใช้มากกว่า 30,000 คนในภาษาที่คนไม่เกิน 4 ล้านคนสามารถเข้าใจ ไปจนถึงความล้มเหลวที่ประสบความสำเร็จมากขึ้น เช่น TweetsPie แอปที่มีสื่อครอบคลุมจำนวนมากและ ฐานผู้ใช้ที่น่ากลัวมีผู้ใช้งานมากกว่า 600 ราย บทเรียนมากมายที่นั่น!

ในขณะที่แอปเหล่านี้ช่วยให้ฉันเข้าใจจิตใจของ "สิ่งมีชีวิตที่เข้าใจยากที่เรียกว่าผู้ใช้" ได้ดีขึ้นเล็กน้อย แอปที่สร้างแรงบันดาลใจให้ฉันคือโครงการสองชั่วโมง เดิมทีพัฒนาขึ้นเพื่อทำให้ฉันเป็นเศรษฐี เมื่อผู้ใช้ 1,428,571 รายซื้อแอปนี้เนื่องจาก Google ใช้เงิน 30 เซ็นต์จากทุกๆ ดอลลาร์ แอป Dollar ถูกสร้างขึ้นเพื่อทดสอบบัญชีผู้ขายของฉัน

ฉันไม่รู้เลยสักนิดว่าหลายปีต่อมา ฉันจะได้รับอีเมลจากแม่ที่มีความสุขซึ่งระบุว่าเป็นดอลลาร์ที่ดีที่สุดที่เธอเคยใช้ตั้งแต่ลูกชายของเธอยิ้มทุกครั้งที่แอปของฉันกอดเขา

การพัฒนาแอพ Android สำหรับผู้เริ่มต้นสามารถทำได้ง่ายและสนุกเมื่อปรับขนาดอย่างมีประสิทธิภาพ

และนั่นคือที่มาของความคิด! ทำไมไม่ใช้ความต้องการพื้นฐานของมนุษย์ในการกอดแล้วทำให้สวยล่ะ? สร้างมาเพื่อผู้ชมเฉพาะกลุ่ม โต้ตอบได้ ท้าทาย ใช้สนุก และน่าแชร์ยิ่งขึ้นไปอีก

บทที่ 2: ทำความเข้าใจกับ Android Market

ทุกสิ่งที่ฉันกล่าวข้างต้นรวมเข้ากับแอพวอลเปเปอร์เคลื่อนไหว พื้นฐานไม่ยากอย่างที่คิด Android มีส่วนแบ่งการตลาดที่ใหญ่กว่า iOS แต่ผู้ใช้ iOS ซื้อมากกว่า แอพส่งข้อความเป็นที่นิยมอย่างมาก แต่เกม freemium สร้างรายได้สูงสุด จีน อินเดีย บราซิล และรัสเซียเป็นตลาดเกิดใหม่ แต่ไม่มีพฤติกรรมการใช้จ่าย คุณสามารถอ่าน App Annie Index สำหรับข้อมูลเชิงลึกเพิ่มเติม

แอพวอลเปเปอร์สดเหมาะกับสิ่งนี้อย่างไร อย่างแรกเลย มันกำจัดแพลตฟอร์มส่วนใหญ่ออกไป เนื่องจาก วอลเปเปอร์เคลื่อนไหว เป็นสิ่งของ Android ประการที่สอง คุณลักษณะนี้ถูกเพิ่มเข้ามาใน Android 2.1 ดังนั้นจึงมีชุมชนขนาดใหญ่และตัวอย่างที่สวยงามบางส่วน Muzei โอเพ่นซอร์สของ Paperland และ Roman Nurik ที่สะดุดตาที่สุดน่าจะเป็นจุดอ้างอิงที่ดีที่สุดสำหรับการพัฒนา Android

แม้ว่าจะมีวอลเปเปอร์เคลื่อนไหวอยู่มากมาย แต่ส่วนใหญ่อยู่ในหมวดหมู่ทิวทัศน์/สภาพอากาศ และมีเพียงไม่กี่รายการที่จัดอยู่ในหมวดหมู่ ความน่ารักเกินพิกัด นี่คือสิ่งที่เราต้องการเปลี่ยนแปลงและนำเสนอบางสิ่งที่ทำให้คุณยิ้มได้ทุกครั้งที่คุณปลดล็อกโทรศัพท์ แม้ว่าคุณจะปลดล็อกด้วยเหตุผลที่ต่างไปจากเดิมอย่างสิ้นเชิง เรามอบความสุขเล็กๆ น้อยๆ น่ารักๆ ให้คุณกอดคุณก่อนนอนตอนกลางคืน หรือเมื่อคุณปิดนาฬิกาปลุกในตอนเช้า และยิ่งไปกว่านั้น ทำให้เป็นแบบส่วนตัวและปรับแต่งได้

โดยไม่ต้องกังวลใจอีกต่อไป และก่อนที่เราจะพูดถึงรายละเอียดทางเทคนิค ฉันภูมิใจนำเสนอคุณ: Ooshies - The Live Wallpaper

Ooshies เป็นชื่อแอป Android ของฉัน อาจไม่ประสบความสำเร็จ แต่ช่วยให้ฉันเรียนรู้บทเรียนที่จำเป็นในการเขียนคู่มือนี้สำหรับนักพัฒนา Android มือใหม่

มันมี:

  • แอพวอลเปเปอร์สดฟรีที่ให้คุณกอด
  • ooshies ที่ไม่ซ้ำกัน 12 แบบให้เลือก
  • เนื้อหาฟรี ปลดล็อคได้ และซื้อได้
  • อัพเดทสภาพอากาศปัจจุบัน
  • เข้าสู่ระบบโซเชียลและการซิงโครไนซ์ข้อมูล
  • คำทักทายตามฤดูกาล
  • เซอร์ไพรส์มากมาย
  • แมวนินจา
  • เราพูดถึงการกอดไหม?

แอพ Android ที่ประสบความสำเร็จบางครั้งทำให้คุณยิ้มได้

บทที่ 3: พยายามทำให้มันเกิดขึ้น

Ooshies ดูเหมือนจะเป็นแนวคิดเกี่ยวกับแอพ Android ที่ค่อนข้างตรงไปตรงมา ทาสีพื้นหลัง ซ้อนเมฆและดวงดาว ใส่หมีที่มีบอลลูนอยู่ด้านบน เท่านี้ก็เรียบร้อย แต่ไม่ใช่ มันคือ Android! สิ่งที่ดูเหมือนง่ายมักจะค่อนข้างยาก และเรามักจะทำข้อผิดพลาดเดิมๆ ซ้ำแล้วซ้ำเล่า ต่อไปนี้คือบทสรุปสั้นๆ เกี่ยวกับความท้าทายที่ฉันเผชิญ:

  1. การเร่งด้วยฮาร์ดแวร์ - ทำไมต้องวาดโดยใช้ CPU ในเมื่อ GPU ดีกว่ามาก? ปรากฎว่าการวาดบิตแมปบนผืนผ้าใบไม่สามารถเร่งด้วยฮาร์ดแวร์ได้ อย่างน้อยก็ไม่ใช่ในตอนนี้

  2. OpenGL - ถ้าเราต้องการเร่งความเร็วด้วยฮาร์ดแวร์ เราจำเป็นต้องใช้ OpenGL ES หรือเฟรมเวิร์กที่ดีกว่านั้นซึ่งทำงานได้ดีที่สุดสำหรับเรา

  3. การโหลดบิตแมป - ปัญหาการใช้หน่วยความจำที่รู้จักกันดี เราจำเป็นต้องจัดสรรหน่วยความจำ 1 ไบต์ [0-255] สำหรับแต่ละช่องใน #ARGB เพื่อแสดงพิกเซลเดียว นอกจากนี้ รูปภาพที่เราใช้มักจะมีความละเอียดสูงกว่าจอแสดงผลของอุปกรณ์ การโหลดทั้งหมดจะส่งผลให้เกิด OutOfMemroyException อย่างรวดเร็ว

  4. ตัวเรียกใช้งานหน้าแรก - วอลล์เปเปอร์แบบเคลื่อนไหวจะถูกโฮสต์ในกระบวนการตัวเรียกใช้งานหลัก และตัวเรียกใช้งานที่แตกต่างกันมักจะให้การโทรกลับที่แตกต่างกันไปยังบริการวอลเปเปอร์เคลื่อนไหว (ที่โดดเด่นที่สุดคือ Nova และ TouchWiz)

  5. อายุการใช้งานแบตเตอรี่ - หากทำไม่ถูกต้อง วอลเปเปอร์เคลื่อนไหวและวิดเจ็ตอาจทำให้แบตเตอรี่หมดได้ ด้วยข่าวลือเกี่ยวกับอายุการใช้งานแบตเตอรี่ที่แย่มากของ Lollipop (Android 5.0) แอพแรกที่จะไปจะเป็นวอลล์เปเปอร์สด

ดังนั้น การซ้อนทับบิตแมป วาดภาพบนผืนผ้าใบ แล้วสลับเฟรมเมื่อสัมผัสเพื่อโอบกอด ดูเหมือนจะไม่ใช่เรื่องใหญ่ แม้ว่าจะทำบน CPU เสร็จแล้วใช่ไหม ถูกต้อง มันไม่ใช่ปัญหา แต่ใครล่ะที่ต้องการวอลล์เปเปอร์สดแบบคงที่? มันเอาชนะวัตถุประสงค์ วอลล์เปเปอร์ควรตอบสนองต่อการสัมผัสของคุณ มันควรจะเคลื่อนไหวเมื่อคุณเลื่อนหน้าจอหลักของคุณ มันควรทำการแสดงความเมตตาแบบสุ่มและทำให้คุณรู้สึกมีความสุข

และมีเคล็ดลับการพัฒนา Android สำหรับสิ่งนั้น มีคำที่เรียกว่าเอฟเฟกต์ พารั ลแลกซ์สำหรับเพิ่มความลึกในพื้นที่ 2 มิติ ลองนึกภาพตัวเองกำลังขับรถอยู่ บ้านที่อยู่ใกล้คุณเคลื่อนที่เร็วกว่าภูเขาในระยะไกล เอฟเฟกต์เดียวกันสามารถทำได้โดยการย้ายวัตถุด้วยความเร็วที่แตกต่างกันบนผืนผ้าใบ แม้ว่าพวกมันทั้งหมดจะอยู่ในระนาบเดียวกัน แต่สมองของคุณก็ยังรับรู้ถึงวัตถุที่เคลื่อนไหวเร็วกว่าว่าอยู่ใกล้คุณมากขึ้น เหมือนกับการเพิ่มเงาตกกระทบ เอฟเฟกต์พารัลแลกซ์จะเพิ่มแกน z

และนี่คือที่ที่นรกแตกสลาย! บนอุปกรณ์ส่วนใหญ่ที่เคลื่อนย้าย Ooshie การซ้อนทับสภาพอากาศและพื้นหลังที่ความเร็วต่างกันจะทำให้อัตราเฟรมลดลงอย่างมาก นี่คือวิธีการวาดเฟรมเดียว:

 canvas.drawBitmap(background, 0 - offsetX / 4, 0, null); canvas.drawBitmap(weatherOverlay, 0 - offsetX / 2, 0, null); if (!validDoubleTap) { canvas.drawBitmap(ooshieNormal, positionX - offsetX, positionY, null); } else { canvas.drawBitmap(ooshieTapped, positionX - offsetX, positionY, null); }

offset คือเปอร์เซ็นต์ของระยะทางที่ผู้ใช้เลื่อนไป เป็นการโทรกลับที่เอ็นจิ้นวอลเปเปอร์ให้:

 @Override public void onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset){ super.onOffsetsChanged(xOffset, yOffset, xOffsetStep, yOffsetStep, xPixelOffset, yPixelOffset); // athe current offset should be a fraction of the screen offset to achieve parallax if (!isPreview()) { float newXOffset = xOffset * 0.15f; wallpaperDrawHelper.setOffsetX(newXOffset); if (isVisible() && hasActiveSurface) { wallpaperDrawHelper.drawFrame(false); } } }

ฉันต้องสังเกตว่าทั้งหมดนี้ไม่จำเป็นถ้าฉันรู้วิธีทำงานกับ OpenGL! อยู่ในรายการ สิ่ง ที่ต้องทำของฉัน เนื่องจากสิ่งที่ซับซ้อนกว่าที่เรามีในตอนนี้จะต้องใช้การเร่งด้วยฮาร์ดแวร์ แต่สำหรับตอนนี้ฉันต้องทำงานให้หนักขึ้น ไม่ฉลาดขึ้น (ฉันเปิดรับข้อเสนอแนะในความคิดเห็น) นี่คือสิ่งที่เราทำ:

บทที่ 4: ทำงานกับสิ่งที่คุณมี

ในฐานะผู้สนับสนุนรายใหญ่ของความคิดริเริ่ม minSdk=15 เราได้กำจัดอุปกรณ์ 2.x ทั้งหมดตั้งแต่เริ่มต้น ความพยายามในการรักษาความเข้ากันได้แบบย้อนหลังนั้นมากกว่ารายได้ที่เป็นไปได้จากผู้ใช้ที่ไม่เต็มใจที่จะอัปเกรดโทรศัพท์ของตน ดังนั้น ในกรณีส่วนใหญ่ เราจะสามารถได้รับประสบการณ์ที่ราบรื่นด้วยตัวเลือกเพิ่มเติมเพื่อปิดใช้งานพารัลแลกซ์หากต้องการ

ตามคู่มือการพัฒนา Android นี้ ฉันต้องการให้ตัวเลือกในการปิดใช้งานพารัลแลกซ์

การเพิ่มประสิทธิภาพที่สำคัญอีกประการหนึ่งคือวิธีที่เราจัดการกับบิตแมป เอฟเฟกต์พารัลแลกซ์ที่คล้ายกันมากสามารถทำได้ด้วยการวาดสองบิตแมปแทนที่จะเป็นสาม:

  1. โอเวอร์เลย์ Ooshie - บิตแมป Ooshie ที่ตัดแต่งและปรับขนาดอย่างระมัดระวัง (สามารถเพิ่มได้)

  2. โอเวอร์เลย์รวม - บิตแมปพื้นหลังและสภาพอากาศที่รวมกันซึ่งเคลื่อนที่ด้วยความเร็ว Ooshie เพียงเล็กน้อย

เคล็ดลับการพัฒนา Android นี้ช่วยประหยัดหน่วยความจำและเพิ่มความเร็วในการวาด เนื่องจากเอฟเฟกต์พารัลแลกซ์ลดลงเล็กน้อย

เมื่อเลื่อนหน้าจอหลัก เฟรมจะถูกวาดค่อนข้างบ่อย (ควรมากกว่า 30 ครั้งต่อวินาที) จำเป็นอย่างยิ่งที่จะไม่วาดมันเมื่อมองไม่เห็นหน้าจอหลัก (หน้าจอล็อกบางหน้าจอ ลิ้นชักแอปบางส่วน การเปิด/สลับแอป ฯลฯ) เพื่อลดการใช้ CPU

ทั้งหมดนี้เชื่อมโยงอย่างใกล้ชิดกับการอัปเดตสภาพอากาศ ในขั้นต้น มีงานที่ต้องทำซ้ำๆ ซึ่งดำเนินการทุก ๆ ชั่วโมงหรือสองชั่วโมง เพื่อปรับสภาพอากาศให้ตรงกัน แต่มันก็เกินความสามารถจริงๆ หากผู้ใช้ไม่เห็นวอลเปเปอร์ แสดงว่าข้อมูลสภาพอากาศไม่เกี่ยวข้อง ดังนั้นตอนนี้ การอัปเดตสภาพอากาศจะเกิดขึ้นก็ต่อเมื่อมองเห็นวอลเปเปอร์เท่านั้น

 long lastUpdate = prefStore.getLong(SharedPrefStore.Pref.WEATHER_TIMESTAMP); if (System.currentTimeMillis() - lastUpdate > Consts.WEATHER_UPDATE_INTERVAL){ // update the weather if obsolete Intent intent = new Intent(getApplicationContext(), WeatherUpdateService.class); startService(intent); }

โดยพื้นฐานแล้ว นี่คือรายการตรวจสอบสำหรับการวาดบิตแมปซอฟต์แวร์ที่ราบรื่นของหน่วยความจำที่ปรับให้เหมาะสม:

  1. รวมบิตแมปครั้งเดียว
  2. วาดบิตแมปน้อยลง
  3. วาดใหม่ตามความต้องการ
  4. หลีกเลี่ยงงานเบื้องหลัง
  5. ให้ผู้ใช้ควบคุมกระบวนการบางส่วน

บทที่ 5: การทดสอบ ทดสอบ. ทดสอบ

ฉันไม่สามารถเน้นว่าสิ่งนี้สำคัญแค่ไหน! ไม่เคย ฉันพูดซ้ำ ไม่เคย ปล่อยแอปของคุณก่อนทำการทดสอบ! และฉันไม่ได้หมายความว่าคุณควรทำการทดสอบ คุณเขียนโค้ด คุณรู้ว่ามันทำงานอย่างไร และคุณมีอิทธิพลต่อผลลัพธ์ด้วยการรู้ความคาดหวัง ฉันไม่ได้พูดถึงการทดสอบ JUnit (แม้ว่าจะแนะนำ) แต่เกี่ยวกับการเปิดตัวแบบทีละขั้น เช่น การทดสอบอัลฟ่าและเบต้า

หากคุณเป็นสายการพัฒนาซอฟต์แวร์ Android ข้อกำหนดนั้นตรงไปตรงมา แต่นี่คือบทสรุปโดยย่อ:

  1. ผู้ทดสอบอัลฟ่า - กลุ่มคนกลุ่มเล็กๆ ที่ประกอบด้วยเพื่อนร่วมทีมและผู้คนจากอุตสาหกรรมนี้ โดยเฉพาะนักพัฒนา Android โอกาสที่พวกเขากำลังจะมีอุปกรณ์ระดับไฮเอนด์และจะเล่นกับตัวเลือกของนักพัฒนา พวกเขาจะส่งสแต็กเทรซ รายงานข้อบกพร่อง และแม้กระทั่งให้คำแนะนำและเคล็ดลับในการเพิ่มประสิทธิภาพโค้ด/UI สมบูรณ์แบบสำหรับการเปิดตัวครั้งแรกด้วยคุณสมบัติบางส่วน/ขาดหายไป

  2. ผู้ทดสอบเบต้า - ผู้ชมที่กว้างขึ้นมากด้วยข้อมูลประชากรที่หลากหลาย การเผยแพร่ที่เสถียรควรเผยแพร่ที่นี่ แม้ว่าระดับนินจาของคุณจะสูงเกินไป คุณไม่สามารถคาดเดาได้เลย นับประสาอะไรกับการแจกจ่าย Android ที่เป็นไปได้และวิธีที่ผู้คนใช้โทรศัพท์ของพวกเขา

เมื่อเราผ่านอัลฟ่า ฉันคิดว่าเราทำเสร็จแล้ว แต่ไอ้หนู ฉันคิดผิด! ปรากฎว่าไม่ใช่ผู้ใช้ Android ทุกคนที่มีอุปกรณ์ Nexus ที่มีซอฟต์แวร์ล่าสุด! ใครจะรู้? :)

ต่อไปนี้คือปัญหาการพัฒนา Android บางส่วนตามการเปิดเผยนี้:

  1. ตัวเรียกใช้งานที่แตกต่างกันมีหน้าจอหลักเริ่มต้นที่แตกต่างกัน - โดยปกติคือหน้าจอแรกหรือหน้าจอกลาง และเท่าที่ฉันรู้ ไม่มีทางรู้ตำแหน่งของมัน

  2. เป็นการยากที่จะจัด Ooshie ให้อยู่ตรงกลางโดยไม่ทราบตำแหน่งเริ่มต้นของหน้าจอหลัก - ดังนั้นตัวเลื่อนการตั้งค่าสำหรับการปรับค่าชดเชยพารัลแลกซ์

  3. ผู้ใช้ทั่วไปไม่ทราบว่า Parallax offset หมายถึงอะไร ควรใช้คำศัพท์ที่ง่ายกว่ามากในหน้าการตั้งค่า

  4. ผู้ใช้สุ่มจะแนะนำคุณลักษณะต่อไปของคุณ

ดังนั้นฉันอยากจะขอบคุณผู้ทดสอบเบต้าของเราทุกคนสำหรับการทำงานหนักที่พวกเขาทำ ฉันหวังว่าการรับคุณสมบัติล่าสุดทั้งหมดก่อนใครจะเป็นรางวัลที่ดีสำหรับการอุทิศตนของพวกเขา หากต้องการ คุณสามารถเป็นส่วนหนึ่งของชุมชน Google+ เบต้าของเราได้

การทดสอบเบต้าเป็นขั้นตอนที่สำคัญสำหรับผู้เริ่มต้น Android ที่ต้องจำไว้ในขณะที่พวกเขาเริ่มเขียนโปรแกรมแอป Android ที่ประสบความสำเร็จ

บทที่ 6: ปล่อยให้ข้อมูลพูด

การสร้างแอพ Android ที่โดดเด่นในปัจจุบันนั้นยากกว่าการสร้างแอพเครื่องคิดเลขเล็กน้อยเมื่อไม่มีในปี 2009 การสร้างแอพที่สมบูรณ์แบบนั้นยาก ส่วนใหญ่เป็นเพราะความสมบูรณ์แบบอยู่ในสายตาของคนดู สิ่งที่ดีสำหรับฉัน ไม่ได้แปลว่ามันดีสำหรับคุณเสมอไป นั่นเป็นสาเหตุว่าทำไมการปล่อยให้แอปเติบโตจึงเป็นเรื่องสำคัญ รายการตรวจสอบแผนงานของเราสำหรับคุณลักษณะใหม่แสดงให้เห็นว่าเรามีงานเพียงพอสำหรับทั้งปี 2015 และเร็วๆ นี้จะมี:

  1. เสียง
  2. ภูมิหลังตามฤดูกาล
  3. การปรับแต่ง (สีพื้นหลัง แพ็กสภาพอากาศ สกินโอชิ ฯลฯ)
  4. ooshies เฉพาะภูมิภาค (เช่น babushkas)
  5. ooshies ใหม่และวิธีปลดล็อกมากมาย

ตอนนี้ เราอาจเก็บแอปไว้ในรุ่นเบต้าจนกว่าทุกอย่างจะเสร็จสิ้น แต่ด้วยวิธีนี้ เราจะทิ้งข้อมูลอันมีค่าทิ้งไป ผู้ทดสอบเบต้าบางรายอาจไม่ได้อุทิศเวลาส่วนหนึ่งของวันเพื่อส่งความคิดเห็นถึงคุณ นั่นคือที่ที่คุณจะได้รับประโยชน์จากการใช้เครื่องมือในการรับคำติชม คุณสามารถใช้ Google Analytics, Flurry, Mixpanel, Crashalytics, ACRA ฯลฯ เพื่อรวบรวมข้อมูลการใช้งาน

ตัวอย่างเช่น โดยการวิเคราะห์ข้อมูล เราพบว่าผู้ใช้ไม่ได้คลิกปุ่มการตั้งค่ามากนัก ดังนั้นเราจึงทำให้มันชัดเจนขึ้นและเพิ่มบทแนะนำสั้นๆ สำหรับการปรับแต่งการตั้งค่า

แม้ว่านี่จะเป็นกระบวนการในเบื้องหลัง แต่ก็สามารถใช้เพื่อปรับปรุงประสบการณ์ผู้ใช้เพิ่มเติมได้ ทำไมไม่แสดงให้ผู้ใช้เห็นกี่ครั้ง:

  1. เขา / เธอได้รับการกอด
  2. กี่วันที่ฝนตกก็สดใสด้วยรอยยิ้ม
  3. ต้องใช้กี่ก๊อกเพื่อปลดล็อก Ooshie ด้วยมินิเกม
  4. มีเพื่อนติดตั้งแอปเพราะคุณกี่คน

คู่มือการพัฒนา Android ทุกเล่มควรให้ความสำคัญกับ Google Analytics ในการเพิ่มประสิทธิภาพแอปของคุณ!

นี่เป็นสิ่งสำคัญเพราะมันส่งผลสำหรับการกระทำของพวกเขา อย่าทำผิดพลาดแบบเดียวกับที่ระบบการศึกษาของเราทำ เพราะทำให้ผู้ใช้เป็นผู้บริโภคเนื้อหาที่ไม่โต้ตอบ ทำให้พวกเขารับผิดชอบ ให้ตัวเลือกแก่พวกเขาในการควบคุมอุปกรณ์ของตนเองและสร้างประสบการณ์ส่วนตัว หากคุณจัดการรวมสิ่งเหล่านี้เป็นมัดน่ารักที่ขโมยรอยยิ้มจากการสาดครั้งแรก ไม่ควรเรียกให้ไกลเกินกว่าที่จะขอให้ผู้ใช้ช่วยเรื่องสแปมในการปลดล็อกเนื้อหา

ในท้ายที่สุด คุณต้องพัฒนาการพัฒนาแอป Android โดยอิงตามข้อมูลนี้เป็นแนวทาง แม้ว่าแอปนี้มีไว้สำหรับคุณแม่/เด็กเป็นหลัก แต่แอปนี้อาจได้รับความนิยมในกลุ่มประชากรอื่นๆ อาจไม่สอดคล้องกับวิสัยทัศน์เดิมของเรา แต่ผู้ใช้ต้องได้รับการตอบสนอง มิฉะนั้นพวกเขาจะพบคนที่สามารถ

บทสรุป

กลับไปที่ความล้มเหลวที่ประสบความสำเร็จที่สุดของฉัน TweetsPie แม้จะมีสองรางวัลและการรายงานข่าวจากสื่อจำนวนมาก แต่แอปไม่สามารถรักษาผู้ใช้ได้ (เหตุผลที่อยู่นอกเหนือขอบเขตของบทความนี้)

ความสำเร็จไม่ได้ชัดเจนเสมอไป ขอบคุณประสบการณ์ทั้งหมดที่ฉันได้เรียนรู้มากมาย อย่างน้อย ฉันได้บรรยายหลายสิบครั้งเกี่ยวกับ How (not) ที่จะล้มเหลวในฐานะสตาร์ท อัพในอีเวนต์ต่างๆ และ hackathons และจัดการหาลูกค้าสองสามรายที่ Toptal

ที่สำคัญกว่านั้น ฉันพยายามไม่ทำผิดพลาดในการพัฒนา Android แบบเดียวกันกับ Ooshies โดยทำตามเคล็ดลับและคำแนะนำในคู่มือนี้

เพื่อสรุปแนวทางยาวนี้ สิ่งที่เรากำหนดเป็นความสำเร็จในขั้นต่อมา ควบคู่ไปกับสิ่งที่เราตั้งเป็นเป้าหมายในตอนเริ่มต้นอย่างแน่นหนา การวัดความสำเร็จที่พบบ่อยที่สุดคือการทำเงินเป็นจำนวนมาก ไม่ว่าแอปของคุณจะสร้างหรือไม่ก็ตาม คุณต้องพยายามทำให้มันเกิดขึ้น และเชื่อฉันในตอนท้าย คุณจะเป็นคนที่ดีขึ้น (หวังว่าคนที่เรียนรู้ OpenGL ได้) คุณจะได้เพื่อนใหม่ ศัตรูไม่กี่คน และถ้าคุณโชคดี/ฉลาดพอ คุณจะทำให้ผู้ใช้จำนวนมากมีความสุข

คุณสามารถตรวจสอบเว็บไซต์ของเราหรือดาวน์โหลด Ooshies เพื่อทดลองใช้