Pali mkangano wautali woti apatse ana ang'onoang'ono mwayi wogwiritsa ntchito mapiritsi ndi mafoni am'manja kapena ayi. Ena amati ndi zovulaza maso kapena maganizo awo, pamene ena amati makolo ayenera kusewera ndi kuwerenga ndi ana awo okha, m'malo moyesa kuwateteza ndi zipangizo zamakono. Kunena zoona, ndemanga zimenezi zimanenedwa ndi anthu amene alibe ana awoawo. Ndipo samadziŵa chisangalalo chimene chimakhalapo mwana akamatseka kwa theka la ola, kusiya kuwononga chilichonse chowazungulira, n’kugona mwamtendere pampando akuonera zojambulajambula. Mtsutso wina ndi woti ana amakhudzidwa kwambiri ndi zochita za makolo awo, ndipo ngati makolo amangokhalira kumamatira kumafoni awo, zimakhala zovuta kuwafotokozera chifukwa chake makolo awo amaloledwa kuchita zinthu koma iwo satero.

Nthawi zambiri, mutha kundiponyera tomato wovunda, koma mwana wanga, yemwe tsopano ali ndi masiku angapo wamanyazi wazaka zitatu, nthawi ndi nthawi amagona pabedi ndi piritsi ndikuwonera zojambula pa YouTube.
Tsoka ilo, ndinazindikira mwachangu kuti YouTube ya ana ndi GHEHE-LIKE TRASH. Ngakhale Habr analemba kale za izo. Makanema a ana ndi ma cesspools opanda pake odzazidwa ndi mavidiyo othirira maso monga "kumasula mazira zana a Kinder Surprise," "nyimbo zopusa zokhala ndi zithunzi za 3D zotsatizana ndi nyimbo zofuula," ndi "magalimoto othamanga mu Beam NG uku akumvetsera ndemanga zopusa." Pazifukwa zina, zonsezi zimakondweretsa kwambiri ana aang'ono, omwe amathamangira kudina mavidiyo oterowo atangowawona kuti akulimbikitsidwa. Ndipo YouTube sikulolani kuti muziwongolera zomwe mukufuna. Ngakhale ndikapatsa mwana wanga piritsi yokhala ndi zojambulajambula "zabwinobwino", mkati mwa mphindi zingapo ndimamuwona akupeza mazira a chokoleti owopsa ndikungodina kawiri pazotsatira ndikuyambanso kukopeka nawo.
Zokwanira, ndinaganiza. Chifukwa chake ndidayamba kupanga pulogalamu yangayanga ya YouTube, yomwe imakulolani kusankha mndandanda wamakanema ndikuwonetsa makanema okha kuchokera kumakanemawo. Momwe ndidapangira zili pansipa.
Pano pali chitsanzo chimodzi cha mavidiyo a zinyalala omwe tikulimbana nawo. Makanema osapangidwa bwino, opanda pake a 3D akhazikitsidwa kukhala nyimbo zopusa komanso mawonedwe 142 miliyoni. Pazifukwa zina, makanema ngati awa amangosokoneza ana; ali okonzeka kuwayang'ana mobwerezabwereza.

Kufananiza mamba - komwe Chris Hadfield amaimba ndi gitala pa ISS ali ndi malingaliro 40 miliyoni okha, ndi okhala ndi kulemera kwenikweni (palibe zingwe kapena fungulo la chroma, kungokhala opanda kulemera kwenikweni m'ndege yapadera) - 12 miliyoni okha, kuchepera kakhumi.
Mwa njira, otsatsa pa YouTube , monga kuwonetsa malonda pa iwo ndikuwononga bajeti. Ana amawonera zotsatsa, nthawi zina ngakhale dinani, koma osagula kalikonse, ndipo mawonedwe mamiliyoni ambiri amawononga bajeti.
Kupanga kwa vuto
Ndiloleni ndinene nthawi yomweyo kuti sindinayambe kupanga pulogalamu yosatheka ya ana. Kuyesera kotereku kwapangidwa kale, kuphatikizapo pano pa Habr-adula chirichonse kuti aletse ana kuchoka pa pulogalamuyi, kugula chirichonse, kutsegula msakatuli, ndi zina zotero. Palinso zosankha zokhala ndi maloko a hardware, madoko olumala, zikopa za Android, ndi zovuta zina (mwachitsanzo, (Kwa 2012, ntchitoyi ikuwoneka kuti idakalipo). Koma zonsezi ndi zomveka kwa ana okulirapo, omwe akuwunika kale luso la zida zawo. Kwa ana a zaka zapakati pa 2-3, palibe chitetezo chapadera chofunika; amasangalala kuonera makanema ndipo nthawi zina amadina tizithunzi ta makanema ena. Chinthu chachikulu ndi chakuti mavidiyowa ndi olondola, osati chirichonse chomwe YouTube chikusonyeza (chomwe chidzapereka mazira a chokoleti osatha ndi zala za ana).
Kuchokera apa mndandanda wa zofunidwa unabadwa:
- Customizable channel list
- Kuteteza ku zosintha (makamaka kuchokera kwamwangozi, popeza ana achikulire ochenjera ali kale ndi njira zambiri zodziwira mawu achinsinsi a makolo awo)
- Pulogalamuyo palokha ndi yofanana ndi YouTube, ndi kanema akusewera kumanzere ndi ndime ya zowoneratu kumanja kuti mukhoza dinani.
- Mlandu waukulu wogwiritsa ntchito ndikudina kwachisawawa pavidiyo; mwanayo alibe nazo ntchito kwenikweni zimene kuonera.
Ntchito ya pulogalamuyo imakhala ndi magawo awiri akulu: kusaka ndi kukhazikitsa njira pogwiritsa ntchito ndiyeno kusewera kanema. Panopa ndapeza njira ziwiri zosewerera makanema mkati mwa pulogalamu yakomweko:
YouTube Android Player API
Iyi ndi njira yovomerezeka yowonera makanema pa pulogalamu yanu ya Android. Kuti zigwire ntchito, chipangizo cha wogwiritsa ntchito chiyenera kukhala ndi pulogalamu yovomerezeka ya YouTube, yomwe ili ndi ntchito yomwe ingagwiritsidwe ntchito ndi mapulogalamu ena. Chifukwa chake, Player API ndi laibulale yaying'ono yomwe imalumikizana ndi pulogalamu yomwe idayikidwa padera.
Ndinayesa poyamba, koma nditagwiritsa ntchito kwa kanthawi, ndinazindikira kuti ili ndi vuto lalikulu. Ndikosatheka kusintha mawonekedwe a wosewerayo, kuphatikiza kuwongolera mabatani (njira yokhayo ndikubisa zonse, kenako mumataya batani lazenera lonse). Ndipo gulu lowongolera osewera lili ndi batani loyipa la "Sinthani ku YouTube", lomwe limatsegula pulogalamu yovomerezeka (yomwe iyenera kukhala nayo pazida), yomwe ilibenso kusefa. Ana mosavuta (mwangozi kapena ayi) dinani, kusinthira ku pulogalamu yosasefedwa, ndipo mkati mwa mphindi zochepa ndikubwerera kumva "chala cha mwana, chala cha mwana, muli kuti?" ndikuwona makanema ojambula pazinyalala otsirira ndi maso pazenera.
Zinyalala zambiri zomwe ana angapeze pongodina pang'ono. Mawonedwe opitilira 900 miliyoni!

Ichi ndichifukwa chake ndinasiya wosewera mpirawo ndikupeza wolowa m'malo mwa laibulale yotsatirayi.
Android-Wosewera wa YouTube
Laibulaleyi ikuwoneka ngati yozungulira pa WebView, yowongolera wosewera pa intaneti kudzera pa JavaScript API. Ubwino wake umaphatikizapo kutha kusintha mawonekedwe ake.
Kuyambitsa kwa osewera ndikosokoneza pang'ono, makamaka mutasintha kuchoka ku laibulale yovomerezeka:
- Timapeza malingaliro athu pa kalasi com.pierfrancescosoffritti.androidyoutubeplayer.player.YouTubePlayerView
- Timachitcha kuti initialize (), kudutsa omvera
- Womvera amayimba njira ya onInitSuccess(@Nonnull final YouTubePlayer youTubePlayer), yomwe imalandira chitsanzo cha chinthu chosewera. Iyi ndi njira yokhayo yopezera izo. Mpaka pano, njira yoyambira inali yofanana ndi ya kasitomala wovomerezeka.
- Timatcha njira ya player's addListener(), ndikuyipereka kwa omvera ena (omvera ambiri kwa mulungu womvera!)
- Njira ya omvera iyi ya onReady() imatchedwa - pokhapo pamenepa mutha kutsitsa ndikuwonetsa makanema ndikugwiritsa ntchito chosewerera. Ngati mwangoyesa kutsitsa china chake paInitSuccess, laibulale imayamba kuponya zolakwika zachilendo.
Mutha kuyang'anira moyo wa wosewerayo (kuyimitsa kusewera paPause() ndi zina zotero) pamanja, kapena mutha kulembetsa malingaliro anu ngati Lifecycle Observer (yomwe Ntchito yanu iyenera kuwonjezera AppCompatActivity). Pankhaniyi, laibulale adzagwira ntchito zonse wamba kwa inu.
Chinthu china chodabwitsa cha laibulale ndi kusowa kwa chithandizo chazithunzi zonse kunja kwa bokosi. A batani chifukwa alipo mu wosewera mpira mwa kusakhulupirika, koma si kuchita kalikonse. Kwenikweni, muyenera kutsegula mawonekedwe azithunzi zonse pamanja-kubisa GUI, kukulitsa zenera la osewera, ndikubwezeretsanso. Izi zitha kukhala zachinyengo ngati muli ndi mawonekedwe ovuta kuzungulira wosewera mpira. Anga anali ndi mndandanda wamavidiyo okha, omwe amabisika mosavuta pamanja.
Zitsanzo za laibulale zikuphatikiza kalasi ya FullScreenHelper, komwe mutha kuchotsamo code yofunikira. Kugwiritsa ntchito kwake kumawoneka motere:
youTubePlayerView.addFullScreenListener(new YouTubePlayerFullScreenListener() {
private final View rootLayout = findViewById(R.id.rootLayout);
@Override
public void onYouTubePlayerEnterFullScreen() {
fullScreenHelper.enterFullScreen();
rootLayout.setPadding(0, 0, 0, 0);
}
@Override
public void onYouTubePlayerExitFullScreen() {
fullScreenHelper.exitFullScreen();
rootLayout.setPadding(8, 8, 8, 8);
youTubePlayerView.getLayoutParams().height = LinearLayout.LayoutParams.MATCH_PARENT;
}
});FullScreenHelper imabisa mawonekedwe osafunikira ndikuyika mbendera zowonetsera. Ndidayeneranso kusinthira makonda am'mphepete (nthawi zonse mu code ndi zoyipa, ndikudziwa), ndipo pazifukwa zina kutalika kumatha kuyambiranso ndikutuluka pazenera zonse pokhapokha nditazisintha pamanja.
Ponseponse, laibulale iyi ili ndi zovuta zambiri, koma zonse zimachulukitsidwa ndi mwayi wake waukulu - kuthekera kosintha mawonekedwe a osewera. Kwa ine, zinali zokwanira kubisa batani la "Show pa YouTube" ndikusunga mawonekedwe azithunzi zonse:
youTubePlayerView.getPlayerUIController().showFullscreenButton(true);
youTubePlayerView.getPlayerUIController().showYouTubeButton(false);Mwambiri, mutha kuwongolera mabatani onse, kuwonetsa nthawi yomwe ilipo, yonjezerani Mawonedwe anu, ndi zina zotero - chifukwa chake, malinga ndi luso lokonzekera, laibulaleyi imasiya mpikisano wake wovomerezeka kumbuyo.
Chabwino, mutatha kukhazikitsa wosewera mpira, kanema watsopanoyo amadzaza ngati youTubePlayer.loadVideo(url, startTime);
Kupeza mndandanda wamakanema, kugwira ntchito ndi YouTube Data API
Muyenerabe kupeza ulalo kanema kuchokera kwinakwake. Mwamwayi, YouTube ili ndi API yolemera yomwe imakupatsani mwayi wopanga mitundu yonse yamafunso ndikupeza zambiri zamakanema. Kuti muyambe kugwiritsa ntchito, muyenera mu Developer Console yanu ndikupeza kiyi.
Kuti pulogalamuyo igwire ntchito, tifunika ntchito ziwiri: kusaka ma tchanelo ndikupeza mndandanda wamavidiyo panjira yomwe wapatsidwa. Kusakaku kumawoneka motere: tikufuna kusaka mayendedwe ndi mndandanda wazosewerera pafunso la "Peppa Nkhumba." Tili ndi chidwi ndi ID (kotero titha kutsitsanso mndandanda wamakanema a tchanelo potengera ID) komanso mawu ofotokozera, omwe ali ndi chidziwitso chokhudza kampaniyo: mutu, chithunzi chowoneratu, ndi mafotokozedwe.
YouTube.Search.List searchListByKeywordRequest = youTube.search().list("snippet,id");
searchListByKeywordRequest.setMaxResults(10L);
searchListByKeywordRequest.setQ("Peppa Pig");
searchListByKeywordRequest.setType("channel,playlist");
searchListByKeywordRequest.setKey("<api key>");
SearchListResponse response = searchListByKeywordRequest.execute();Ndikofunika kulongosola molondola mndandanda wa zigawo za chinthu (panthawiyi, mawu ndi id) zomwe tikufuna kubweza. YouTube API imagwiritsa ntchito njira yochepetsera zopempha zovuta: mwachisawawa, kuchuluka kwatsiku ndi tsiku ndi miliyoni imodzi, koma pempho limodzi limatha kudya mayunitsi ambiri. Kulemba zopempha (kukweza makanema kapena kusintha mndandanda wamasewera) kumadya kwambiri, koma zopempha zowerenga zitha kuwononganso ndalama zambiri. Werengani zopempha zimawononga gawo limodzi pagawo lililonse, kuphatikiza mayunitsi awiri pagawo lililonse la data. Chifukwa chake, mwachitsanzo, pempho lomwe lili pamwambapa limagwiritsa ntchito mayunitsi 5 (imodzi yofunsira yokha ndi ziwiri pazidutswa zachidule ndi id). Pempho lathunthu la data yonse yamakanema, yomwe ili ndi zidutswa zisanu ndi imodzi, ingadye mayunitsi 13. Pamavidiyo, zidutswa 10 zilipo, kotero kuti pempho lathunthu likhoza kudya mayunitsi 21. Choncho, n’kwanzeru kupempha zimene mukufuna.
Pempho loti mupeze mndandanda wamakanema kuchokera ku tchanelo likuwoneka motere:
YouTube.Search.List request = youTube.search().list("snippet,id");
request.setChannelId("<channel id>");
request.setType("video");
request.setMaxResults(50L);
request.setKey("<api key>");
SearchListResponse response = request.execute();Momwe yankho limagawika m'masamba sizidziwika bwino. M'malo mofotokoza momveka bwino nambala yatsamba ndi kuchuluka kwa zotsatira, yankho likhoza kukhala ndi parameter yotsatiraPageToken. Ngati ilipo, zikutanthauza kuti pali masamba omwe akubwera. Muyenera kuyika chizindikiro ichi muzopempha ndikuchitanso zomwe mwapempha.
if (response.getNextPageToken() != null) {
request.setPageToken(response.getNextPageToken());
response = request.execute();
}Ponseponse, API imalembedwa bwino, yokhala ndi zitsanzo zamakhodi okonzeka m'zilankhulo zambiri, zitsanzo za mafunso ogwiritsira ntchito osatsegula, ndi zina zotero.
Zochitika za ogwiritsa ntchito
Baibulo loyamba litakonzeka, kuyesa kunayamba. Choyamba, pabanja langa, ndiye ndidatulutsa pa Google Play ndikuyamba kusonkhanitsa mayankho a ogwiritsa ntchito. Nthawi yomweyo ma nuances ena adawonekera:
- Kuphatikiza pa matchanelo, tinkafunikiranso mndandanda wamasewera. Chifukwa njira imodzi nthawi zambiri inkaphatikiza mavidiyo abwino ndi zinyalala. Mwachitsanzo, Teremok TV ili ndi zojambulajambula zamakhalidwe abwino za mafumu ndi mitundu yonse yazabodza (monga "Beep" kapena "Dr. Mashinkova"), zomwe zidapangitsa kuwonjezera tchanelo chonse kukhala kosayenera.
- Ndiyeno pali mavidiyo payekha. Mwachitsanzo, pali ma tchanelo omwe amapereka zosonkhetsa monga "magawo onse a makanema ojambula muvidiyo imodzi," komanso, mukufuna kusankha makanema apawokha m'malo mwa tchanelo chonse.
- Ndinafunika kubwereranso kuvidiyo yapitayi. Chifukwa chipwirikiti cha mwana yemwe mwangozi adadina pavidiyo yotsatira ndipo sangathe kubwereranso ku zomwe amangoyang'ana si nthabwala.
- Tsopano ndazindikira kuti ndikufunikanso kufufuza. Chifukwa "Ndikufuna chojambula chokhudza magalimoto ndi mzimu," ndipo palibe chofufuzira mu pulogalamuyi, kotero nditha kuthera nthawi yayitali ndikungoyembekeza kuti injini yosaka mwachisawawa ipeza katuniyo.
- Ndalemba kale pamwambapa za kuletsa batani lowonera pa YouTube.
- Ndikufunanso kuyika Pinned Mode — kuyambira ndi Android 5, mutha kuyipanga kotero kuti kuchepetsa pulogalamu, muyenera kukanikiza ndi kugwira mabatani angapo nthawi imodzi.
Ngati wina anakonda lingalirolo, Mtundu waulere umangokulolani kuti muwonjezere njira zitatu. Nditumizireni uthenga mwachinsinsi ndipo ndikupatsani kiyi kuti mutsegule. Aliyense amene akufuna kuthandizira chitukuko akhoza kugula code yotsegula mu pulogalamuyo yokha. Pakadali pano, ndikupukuta zinthu zatsopano pang'onopang'ono malinga ndi zopempha, ndipo ndine wokondwa kuti tsopano nditha kukhala ndi chidaliro pa zomwe mwana wanga amawonera.
Ndipo ayi, sakhala tsiku lonse pamaso pa piritsi; m'malo mwake, amakonda kuyenda ndi masewera olimbitsa thupi, kusewera zobisala ndi kufunafuna, kujambula pa chilichonse (kuchokera pazithunzi mpaka zoseweretsa), ndipo madzulo amakonda kumvetsera nkhani. Tabuleti ndi zojambulajambula ndi imodzi mwa njira zambiri zomwe mwana angasangalalire nazo, koma zilinso m'gulu lazovuta kwambiri kuziwongolera. Izi ndi zina zomwe pulogalamu yanga ikufuna kuthana nayo.
DUPAnthu ambiri amafunsa makiyi, kotero ndikanawasakaniza mwangozi ndikutumiza makiyi omwewo kwa anthu angapo. Ndiye ngati mukupeza uthenga woti kiyi yatha ntchito kapena simukupezeka, ndidziwitseni, ndikutumizirani ina. Muyenera kuyika kiyi mu gawo la "Promo Codes" la Play Market.
UPD2Monga ndidachenjezedwa m'mawu, Google yathetsa pulogalamu yanga ndi akaunti yanga yokonza. Tikayang'ana zomwe zalembedwa pa Habr, kudandaula kapena kuyesa kudziwa chomwe chili cholakwika ndi Google ndi zopanda pake.
UPD3Ndinachotsa pulogalamuyi ku ma API a Google. Tsopano mutha kutsitsa APK apa: Pukutani nkhope yanu, Google!
Source: www.habr.com
