Ako pravimo PHP aplikaciju koji treba da čita (a i piše) iz neke Gugl tabele, evo postupka:
1. Google API Client
Treba nam Composer kako bismo instalirali Google API Client. Google API Client će nam olakšati rad sa autorizacijom i pristupom Gugl resursima. Za instalaciju je potrebno, u direktorijumu u kojem se nalazi naš projekat, kreirati sledeći composer.json fajl:
{
"require": {
"google/apiclient": "^2.0"
}
}
i pokrenuti composer update. Nakon ovoga će nam se pojaviti vendor direktorijum sa svim potrebnim klasama plus autoload skriptom.
Sledeći korak su kredencijali. Idemo na Credentials > Create credentials > Service account key. Biramo New service account, dajemo mu ime a kao ulogu (role) Project > Service Account Actor. Key type nam je JSON fajl koji ćemo da skinemo i spremimo negde na sigurno.
4. Permissions
Na kraju je potrebno da dodelimo dozvole za rad sa dokumentom korisniku čiji mejl se nalazi u JSON fajlu. Dozvola može da bude samo za čitanje ili i za čitanje i pisanje u zavisnosti od toga šta želimo da naša PHP aplikacija radi.
5. PHP
Primer u PHP-u za čitanje podataka iz dokumenta sa datim ajdijem, radnim listom 2017 i iz ranga ćelija A1:AH13:
Signing up for Oxigen Wallet: free
Online payment using Oxigen wallet: free
Transfer from wallet to bank account: 3% or fixed ammount, whichever is higher
Kao epilog ulaska u pretplatu, 2. marta je trebalo da se ona i obnovi. Google je pokušao naplatu, ja na kartici nisam imao dovoljno sredstava, naplata logično nije uspela ali sam istovremeno i izašao iz pretplate.
Izgleda da se pretplata otkazuje ako nemate sredstava, nema ponovonog pokušaja naplate (retry brick) što je na Android Developers stranici ovako objašnjeno:
If a recurring payment fails (for example, because the customer’s credit card has become invalid), the subscription does not renew.
Higher ranked means more visitors. How to appear on Google search pages (SERPs) without paying for it. There are paid and organic, unpaid search results. Organic have 2/3 clicks on search results: PPC vs organic - organic wins.
SEOmoz ranking:
trust/authority
link popularity
anchor text of external links
page keyword usage
registration and hosting data
traffic and CTR data
Your site needs to be authority hub. Be the endpoint, many links to you, not much links from your site (be selfish). External links are leakage.
SEO planning
business requirements (business and marketing plan)
description tags (not affecting but shows in results page)
different tags for every page
title tags
header tags (most important keywords)
use CSS wisely
content is very important
keyword naming structure for pages, images and folders
avoid dynamic URLs
bold words count (weight)
keyword densities
internal linking
don't use much bullets 🙂
don't use imagemaps
don't use Flash and frames
use more text, less images
use image alt tags
have a business address
W3C check/complaint
SEO and design
build for UX and optimise
know your consumer
consumers should determine the content
follow trends (white background, black text)
understand what's desirable and why
know how these signals and adding content affects your site's SEO profile
Have a reason and strategy for everything you do. Be visible, be useful. SEO is about building trust and authority online which generates more traffic and repeats circle. Content is king, have useful content. You want people to link to you. To be a useful site:
PPC advertising means advertisers pay a website owner whenever their ad is clicked on.
Original sales funnel
Translated to PPC
Awareness
Search
Interest
PPC ad click
Consideration
Lead/Sign-up
Intent
Nurture
Purchase
Convert
Google AdWords is biggest PPC advertising provider. Chose keywords, analyze keywords meta tag of competitions website. Google Keyword planner can be used to benefit Google Adwords advertising and SEO. Keyword match types: broad (widest), phrase, exact and negative (exclude). Facebook PPC have better targeting.
Acronyms:
CPC
cost per click
pay for a single click on your ad
CPM
cost per mile
you pay for 1000 impressions of your ad
CPA
cost per acquisition
pay for conversion
CPL
cost per lead
pay for a lead
CTR
clickthrough rate
number of clicks divided by number of impressions
ROI
return of investment
How online marketer increments spending: cost per ad impression, cost per click, cost per lead, cost per acquisition.
Risks of PPC advertising
need to be careful in this space
this costs money and does have a large element of risk to it
easy to setup account with AdWords
very hard to advertise successfully through it from a commercial perspective
Costs
one of the most direct forms of incurring a cost in digital advertising
getting pushed out by competitors
losing market share to new competitors
bidding wars
junk traffic, concerns
runaway costs
time management
Tips for success
experiment
structure is key
use keyword planner and keyword matching
research competitors
what is an acceptable ROI?
always use the resources available
Tips for writing great ads
check grammar
highlight what's unique
look at your ad with a critical eye
include prices/promotions
include keywords
experiment
Optimising AdWords ads: check trends, compare different ad texts and keyword groupings, refine bids and budget. Re-marketing means bring back visitors to your site (visitors see your ads on other websites in the Google display network). Ad rank = cost per conversion x quality score. Qualitiy score is determined by having relevant landing pages, keywords and ads.
Google je za potrebe svog Play stora razvio tzv. in-app billing pomoću kojeg je moguće prodavati digitalne sadržaje (slike i muziku), virtuelne sadržaje (kredite, oružja i slično) i premijum servise. Generalno gledano, "dobra" koja kupujemo iz samih aplikacija delimo na trajna i potrošna. Trajna dobra mogu biti puna verzija aplikacije, zahtev za uklanjanje reklama ili nivo u igri koji, jednom kada ga kupite, možete beskonačno prelaziti. Sa druge strane, potrošna dobra su npr. virtuelni novac, dodatni životi i bilo koji drugi kredit koji može biti iskorišćen u aplikaciji. Sve što se kupi iz aplikacije se vodi na vašem nalogu na Play storu s tim što, kada aplikacija jednom iskoristi potrošno dobro, Play stor ga označava sa unowned. Činjenica da su sva kupljena dobra vezana za vaš nalog vam omogućava da trajna dobra nastavite da koristite čak i ako resetujete vaš Android uređaj na fabrička podešavanja ili kupite novi uređaj. Sa druge strane, iskorišćeno potrošno dobro je vezano za aplikaciju i od aplikacije zavisi šta će se desiti ako resetujete uređaj: možda će negde na nekom serveru ostati zabeleženo da imate neke neiskorišćene kredite a ako se informacije beleže samo lokalno onda će oni najverovatnije nepovratno nestati.
Kada su u pitanju tipovi prodaje, razlikujemo:
one-time billing (jednokratna prodaja)
recurring automated billing (pretplata) sa opcionim probnim periodom
Bez obzira na tip prodaje i bilo da su u pitanju jednokratna prodaja ili pretplata, sama naplata se vrši Google Play checkout backend servisom, istim servisom koji služi i za kupovinu aplikacija na Play storu, čime je korisnicima prezentovano već poznato okruženje. Da bi developer mogao da vrši prodaju aplikacija i naplatu iz aplikacija, potrebno je da ima Google Wallet merchant nalog. Srbija nije na listi zemalja iz koje je moguće otvoriti ovakav nalog. Možete kao korisnik (kupac) da otvorite nalog ali ne i kao prodavac. Ja sam se kao korisnik iz Srbije uspešno pretplatio na jednu igricu pomoću Visa Internet kartice dodavši je kao jedan od načina plaćanja na svom korisničkom Wallet-u (https://wallet.google.com). Sada čekam svojrenewal koji bi Google trebalo da pokuša početkom marta bez prethodnog upozorenja.
Pretplata na Play storu
Periodi pretplate:
nedeljna
mesečna
tromesečna
šestomesečna
godišnja
sezonska (recimo, sportska sezona od-do)
Renewal može biti automatski (kada Google okine naplatu na isteku perioda) ili manuelni (kada korisnik koji je u pretplati dokupi još jedan period). Ako korisnik prekine pretplatu, Google ne nudi refund i podrazumeva se da korisnik može da iskoristi proizvod do isteka plaćenog perioda iako više nije u pretplati. Ako korisnik deinstalira aplikaciju, pretplata ostaje aktivna te je potrebno da ode na Play store i da pod "moje pretplate" deaktivira istu.
Prema podacima koje sam našao, Google zadržava 30% od svake transakcije, bilo da je u pitanju jednokratna transakcija, bilo da je u pitanju pretplata. Google uvek od krajnje cene proizvoda prvo odbija PDV pa onda sebi uzima 30% odnosno developeru isplaćuje 70%. U zemljama u kojima je Google poreski obveznik (u zemljama u kojima ima svoju firmu, na primer u Evropskoj uniji), Google uplaćuje PDV onome kome treba. Na primeru Srbije, developer bi platio PDV.
Primer:
Cena proizvoda je evro sa uključenim PDV-om od 20% (korisnik je platio cenu sa PDV-om od 1 evro). Cena bez PDV-a je 0.83, developer dobija 70% što je ~ 0.58. Porez je 0.17 i to će platiti Google u EU ili developer van EU. Ja sam platio pretplatu 5 dolara, Glu bi trebalo da plati 83 centa PDV-a Srbiji 🙂 mada se porez ne vidi na računu...
Trošak otvaranja merchant account-a za developera je 25 dolara jednokratno, fee od 30% ide na ime naknade partneru u distribuciji (Google-u) i za operativne troškove. Nisam našao nikakve druge troškove, ni vidljive ni skrivene. Isplata je par dana od završetka meseca a izgleda da nema minimuma za isplatu.
Play store jeste najpoznatija Android prodavnica ali nije jedina. SlideMe je najveća nezavisna online Android prodavnica i oni uzimaju manju naknadu od Google-a (na primer 10% + 10 centi za naplate putem debitnih kartica) ali imaju 50$ minimum za isplatu i neki remittance fee koji nisam shvatio. SlideMe radi na razvoju pretplate.
title tag je bitan zato što će se pojaviti kao naziv vaše stranice prilikom pretrage. Važno je uložiti napor i svakoj stranici koju kreirate dodeliti jedinstven naslov (title) dužine do 70 znakova.
description tag je takođe bitan, to će u rezultatu pretrage pisati odmah ispod naslova. Opet je bitno za svaku stranicu napisati konkretan opis koji se odnosi baš na sadržaj te stranice.
keywords tag nije više presudan ali neće da škodi ako ga ispravno popunite.
header (h) tagovi treba da prate strukturu stranice. Koristiti alt tagove kod slika. Linkovi na sajtu ne treba da budu generički tipa "klikni ovde".
Struktura URL-ova mora biti jednostavna tipa sajt.com/kategorija/tema što podrazumeva kreiranje jednostavne strukture direktorijuma i dokumenata unutar njih.
Ako posetilac odluči da obriše "tema" iz gornjeg URL-a, trebalo bi da mu se otvori stranica sa kategorijama a ne, recimo, poruka "ovaj dokument ne postoji".
Prikazati posetiocu breadcrumb kako bi u svakom trenutku znao gde se na sajtu nalazi.
Kod navigacije pre treba koristiti tekstualne linkove umesto slika, javascript-a, padajućih menija, flash-a itd.
Stranica 404 (dokument nije nađen) treba da ima upotrebnu vrednost, na primer, da na sebi ima polje za pretragu, neku sugestiju ili mapu sajta
Za svaki dokument/stranicu koji imate na sajtu potrebno je da postoji jedinstvena URL adresa, u protivnom saobraćaj će se deliti između njih i biće na neki način konkurentne jedna drugoj. Izvršiti i canonical URL check
Vreme učitavanja stranica treba smanjiti na minimum.
Postoji više mapa sajtova koje možete da obezbedite za vaš sajt. Najbitniji su sitemap.xml koji će koristiti botovi prilikom prolaska kroz vaš sajt i mapa sajta koju će koristiti vaši posetioci. Ako želite, možete napraviti i mapu slika kao i mapu stranica optimizovanih za mobilne telefone.
Pomoću datoteke robots.txt možete sprečiti botove da indeksiraju određene delove sajta a pomoću "rel=nofollow" možete sprečiti bota da prati neki od linkova.
Trend pokazuje da sve više ljudi koristi mobilne uređaje kako bi pristupalo sajtovima pa stoga treba razvijati sajtove koji se podjednako dobro vide i na punom HD monitoru i na mobilnom telefonu (responsive dizajn, na primer).
Knjiga SEO 2013 and beyond na jednostavan i praktičan način opisuje kako je Google nekada rangirao rezultate pretraživanja a kako to radi od 2012. godine, odnosno, od Penguin apdejta. Da sumiram to u par rečenica...
Pre Pingvina, za visok rejting među rezultatima pretrage je bilo potrebno:
pronaći visoko tražene ključne reči za koje je konkurencija slaba
optimizovati stranicu za te ključne reči
generisati masu povratnih linkova koji u naslovu imaju ove ključne reči
uživati u kratkotrajnom skoku popularnosti
Od sredine 2012. godine Google uvodi optimizaciju svog pretraživača a sve u cilju da smanji spam i nekvalitetne tekstove tako da nam je sada potrebno sledeće:
Kvalitetan sadržaj za posetioce a ne sadržaj optimizovan za pretraživače. To podrazumeva da u tekstu "gustina" ključnih reči treba da bude prirodna a ne napumpana (tačka 2 iz vremena pre Pingvina). Dalje, tekst treba da izgleda kao da ga je napisao stručnjak odnosno neko ko zna o čemu priča, stručnjak prirodno u pisanju koristi termine koji se odnose na datu temu (niche vocabulary) što doprinosi relevantnosti teksta i njegovom boljem rangiranju i, jako važno, tekst treba da doda neku vrednost u odnosu na već postojeće tekstove (prvih 10 iz rezultata pretraživanja tzv. serps) na istu temu.
Organizacija sajta u smislu da naziv domena ne utiče više na pozicioniranje (kupivijagru dot com više neće biti prvi na listi rezultata), da sadržaj treba grupisati po tematici ili kategorijama (tzv. silosi) kojima će se pristupati preko menija kako bi se korisnicima olakšala navigacija. Treba koristiti interno povezivanje/linkovanje sadržaja/stranica u okviru teksta kako bi korisnici na klik mogli da saznaju nešto više. Isto tako treba koristiti povezane sadržaje i, na kraju, treba koristiti tagove.
Autoritet - sadržaji moraju da imaju status informacija ili saveta stručnjaka, povratni linkovi treba da dolaze sa kvalitetnih sajtova iz branše, odlazni linkovi takođe treba da vode na kvalitetne sajtove, poželjno je povezati se u društvenu mrežu (FaceBook, Twitter, YouTube...), pisati na tuđim relevantnim blogovima itd.
Šta korisnik treba da dobije? Dobar dizajn, brzinu sajta, zaraznost sadržajem, interaktivnost (pitanja i komentari) i poverenje u informacije sa sajta.