3 Hal Perbedaan ASO Dan SEO

Sebagian dari kita telah terbiasa mendengar kata SEO (search engine optimization). Definisi SEO yang paling sederhana adalah proses peningkatan visibilitas situs web di mesin pencari. Bagi yang bekerja di SEO akan tahu bahwa SEO modern jauh lebih komplek daripada sekadar meningkatkan rangking atau visibilitas.

Apa itu ASO (App Store Optimization) ?

ASO adalah proses meningkatkan visibilitas aplikasi di App Store. Cara untuk melihatnya adalah dengan melihat App Store seperti mesin pencari. Sama seperti dengan menemukan konten melalui Google, orang mencari dan menemukan aplikasi dengan menggunakan sistem pencarian toko aplikasi. Kita dapat mengatakan bahwa, di satu sisi, App Store adalah mesin pencari untuk aplikasi.

Perbedaan Utama Antara ASO dan SEO

Ranking Factors

Perbedaan utama antara ASO dan SEO adalah kompleksitas.

Dalam SEO Google menggunakan lebih dari 200 faktor peringkat untuk menentukan halaman mana yang harus diberi peringkat untuk apa dan di posisi mana, sedangkan pada ASO

daftar faktor peringkatnya jauh lebih sedikit. Berikut daftar utama peringkat pada ASO :

Judul Aplikasi – salah satu bagian terpenting ASO. Pilih judul yang tepat dengan menggunakan kata kunci yang relevan.

Kata Kunci Aplikasi – bidang yang sangat penting di App Store. Ini seperti tag kata kunci Meta yang sekarang sudah usang. Tapi yang satu ini sebenarnya memiliki dampak besar pada peringkat App Store.

Deskripsi Aplikasi – di sinilah Anda bisa menjelaskan aplikasi Anda dan mendorong orang untuk mendownloadnya.

Unduhan Aplikasi – jumlah unduhan aplikasi tampaknya menjadi salah satu faktor utama. Aplikasi populer berperingkat lebih tinggi.

Tautan balik – ini tidak berdampak pada peringkat aplikasi Anda.

Namun, beberapa orang percaya bahwa tautan balik dapat memengaruhi rangking Anda di Google Play. Ini masuk akal, mengingat Google sudah memiliki algoritma serupa untuk mesin pencarianya.

App Ratings and User Reviews

Ini adalah perbedaan besar antara ASO dan SEO.

Di App Store, setiap aplikasi memiliki rating sendiri. Peringkat bertindak sebagai bukti sosial untuk aplikasi: orang cenderung memanfaatkan dan mendownload aplikasi saat mereka melihat ratingnya bagus.

Dan sebaliknya, bahkan jika sebuah aplikasi berhasil menempati peringkat tinggi, tidak mungkin mendapatkan unduhan jika peringkatnya buruk.

Ulasan memainkan peran yang sangat mirip; Keputusan pengguna tentang apakah akan mendownload aplikasi atau tidak sering dipengaruhi oleh ulasan.

 

Keyword Research

Keyword Research adalah bagian penting dari SEO. Hal ini juga sangat penting bagi siapa saja yang bekerja di ASO.

Namun, ada satu perbedaan besar: ketika menyangkut Google, kita dapat mengakses data akurat dengan volume penelusuran bulanan untuk kata kunci menggunakan perencana Kata Kunci AdWords.

Tapi tidak ada cara untuk mendapatkan data kata kunci yang akurat untuk kata kunci yang dicari di App Store.

 

semoga memberi pencerahan

source : supreme media

 

 

 

 

Django CRUD Part 1

atomic transaction django

Python Django

 

Django adalah web framework Python yang didesain untuk membuat aplikasi web dinamis, kaya fitur dan aman. Django dikembangkan oleh Django Software Foundation. Django terus mendapatkan perbaikan sehingga membuat web framework yang satu ini menjadi pilihan utama bagi banyak pengembang aplikasi web.

Seperti halnya web framework yang mengadopsi sitem MVC (model view controller) django pun mengimplementasikan MVC. MVC pada django sedikit berbeda seperti halnya pada web framework lainya yang di kenal dengan MVT (Model View Template). di mana model mengatur segala hal yang berhubungan dengan basis data dan view mengatur segala hal yang berhubungan dengan controller, sedangkan template mengatur segala hal yang berhubungan dengan end user.

Saat ini versi terbaru dari django adalah 1.11.4. pada versi terbaru django telah memperbaiki banyak hal salah satunya dictionary dimana di django 1.11.x aturan tentang dictionary di perbaiki sesuai dengan default python 3.6.x yaitu penggunaan tanda ( ‘ ). hal ini bertujuan untuk membedakan penulisan dictionary dan json data.

Bagaimana menginstal django di windows ?

– pastikan di komputermu sudah terinstall python, saran gunakan versi terbaru dari python

– buat sebuah direktori samplecrud, gunakan command line

– install django environment dengan pip

pip install virtualenvwrapper-win

– buat virtual environment

mkvirtualenv samplecrud

Gunakan perintah workon untuk mengaktifkan virtual environment dan deactivate untuk keluar dari virtual environment

– install django dengan pip

pip install django

-buat sebuat project django dengan nama crud

django-admin startproject crud

-jalankan django, untuk menguji apakah proses instalasi berhasil atau tidak

  python manage.py runserver

perhatikan gambar di bawah ini

 

selanjutnya buka di web browser localhost:8000

Bagaimana Cara Membuat Template Tags di Django ?

atomic transaction django

Python Django

Django template dilengkapi dengan beragam tags dan filter built-in yang dirancang untuk menangani kebutuhan aplikasi yang kita buat. namun adakalanya kita membutuhkan fungsionalitas tambahan yang tidak ditemukan dalam built-in django template.

Misal kita akan membuat sebuah library tambahan untuk mengubah unixtime kedalam format yang kita inginkan.

Langkah pertama, buat folder dengan nama templatetags pada project apps yang kita buat misal flights/templatetags. kemudia buat sebuah file dengan nama convert_time.py

from django import template
from datetime import datetime
import time
register = template.Library()
 
def print_timestamp(timestamp):
    if timestamp != None:
        unix_time = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
    else:
        unix_time = timestamp
    return unix_time
 
register.filter(print_timestamp)

 

Langkah kedua, buka settings.py pada main project kemudian tambah builtin pada context template. tujuanya agar library convert_time dapat di import di template html

 

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "templates")],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            #add builtin
            'builtins': [
                'flights.templatetags.convert_time'
            ],
        },
 
    },
]

 

Langkah ketiga, import library convert_time pada template html

{% load convert_time %}
 
<html>
<head></head>
<body>
{{created_date_unix|print_timestamp}}
</body>
</html>

Aiohttp WSDL Post

Pada artikel sebelumnya kita sudah membahas tentang aiohttp. Aiohttp mendukung action POST dan GET seperti halnya library requests.

pada SOAP ada 3 hal yang perlu di perhatikan pada saat mengirimkan method post ke server

  • url
  • body
  • headers

parsing xml dengan etree

login_envelope = cls.ev.Envelope(
            cls.s.Header(
                cls.h.ContractVersion('0')
            ),
            cls.s.Body(
                cls.l.LogonRequest(
                    cls.lg.logonRequestData(
                        cls.a.DomainCode('xxx'),
                        cls.a.AgentName('xxx'),
                        cls.a.Password('xxx'),
                        cls.a.LocationCode('',{cls.nill_type:'true'}),
                        cls.a.RoleCode('xxxxx'),
                        cls.a.TerminalInfo('',{cls.nill_type:'true'})
                    ),xmlns='http://schemas.navitaire.com/WebServices/ServiceContracts/SessionService'
                )
            )
 
        )

buat sebuah headers, gunakan soap ui untuk melakukan testing

headers = {'Accept': '*/*',
                            'Accept-Language': 'en-us',
                            'soapaction': 'http://schemas.navitaire.com/WebServices/ISessionManager/Logon',
                            'Content-Type': 'text/xml; charset=utf-8',
                            'Accept-Encoding': 'gzip, deflate',
                            'Connection': 'Keep-Alive',
                            'Pragma': 'no-cache'}

post data ke webservice dengan aiohttp

body = etree.tostring(login_envelope)
async def fetch(session, url,data,headers):
    with async_timeout.timeout(100):
        async with session.post(url,data=data,headers=headers) as response:
            return await response.text()
 
 
async def main(loop, url, data,headers):
    async with aiohttp.ClientSession(loop=loop) as session:
        etJson1 = await fetch(session, url, data, headers)
        return getJson1
 
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop = asyncio.get_event_loop()
data = loop.run_until_complete(main(loop, "https://xx.com", body,headers))
loop.close()
print(data)

 

 

 

Sample Async Aiohttp Client

 

Python 3.5 keatas, menambahkan beberapa sintaks baru yang memungkinkan pengembang membuat aplikasi dan paket asinkron lebih mudah. Salah satu paket tersebut adalah aiohttp yang merupakan client / server HTTP untuk asyncio. Pada dasarnya ini memungkinkan Anda untuk menulis asynchronous klien dan server. Paket aiohttp juga mendukung Server WebSockets dan Client WebSockets. Anda bisa menginstal aiohttp menggunakan pip :

pip install aiohttp

perhatikan sample di bawah ini, bagaimana aiohttp mendownload sebuah halaman website

import aiohttp
import asyncio
import async_timeout
 
class PageAsync(object):
    async def fetch(session, url):
        with async_timeout.timeout(10):
            async with session.get(url) as response:
                return await response.text()
 
 
    async def main(loop):
        async with aiohttp.ClientSession(loop=loop) as session:
            html = await PageAsync.fetch(session, 'https://www.tiket.com/')
        return html
 
loop = asyncio.get_event_loop()
response = loop.run_until_complete(PageAsync.main(loop))
print(response)

 

documentation aiohttp : http://aiohttp.readthedocs.io/en/stable/