More than Just Lines on a Map: Best Practices for U.S Bike Routes
NK API - Wprowadzenie
1. NK API
Wprowadzenie
Aplikacje
i Strony
Gry
(c) Marek Ziółkowski 2012
2. Platforma NK API
Co wchodzi w skład platformy?
● API OpenSocial - standard dla aplikacji społecznościowych
● Dokumentacja - opis platformy wraz z przykładami
● Blog - informacje o aktualizacjach platformy
● Serwis wsparcia - rozwiązywanie problemów deweloperów
● Aplikacje i Strony - zarządzanie swoimi aplikacjami i stronami
● JIRA - obsługa procesu publikowania aplikacji
3. API zgodne z OpenSocial
● Standard dla „social software” takich jak
np. portale społecznościowe
● Pierwsza wersja opracowana w 2007 przez Google i
MySpace
● OpenSocial jest używany przez wiele portali na świecie
takich jak: Hi5, Yahoo, Linkedin, Orkut, Ning, Mail.ru,
StudiVZ i inne
● Standard OpenSocial oraz jego referencyjna platforma
Shindig jest oprogramowaniem open source
4. Aplikacje vs Strony
Aplikacje Strony
● Osadzone na portalu nk.pl ● Integracja na zewnętrznych
● Wymagana umowa stronach i aplikacjach przy
● Podlegają audytowi poprawności użyciu przycisku Zaloguj się z
i bezpieczeństwa NK
● Komunikacja przez API JS'owe ● Oparte o OAuth 2.0
● Dostępne dla każdego - nie jest
wymagana umowa
● Wymagana zgoda użytkownika
5. Aplikacje vs Strony
Aplikacje Strony
JS API TAK NIE
TAK
REST API (wymagana specjalna umowa)
TAK
Możliwość kopiowania danych NIE TAK
użytkownika na inne serwery (użytkownik wyraża na to zgodę)
Wymagana specjalna umowa TAK NIE
(deweloper akceptuje regulamin)
Uwierzytelnianie i autoryzacja Zalogowany użytkownik na Zaloguj się z NK (OAuth 2.0)
portalu
Widoczność w katalogu TAK NIE
6. Funkcjonalności portalu nk.pl
Aplikacje Strony
TAK TAK
Wpisy - dodawanie w imieniu użytkownika (wymagana każdorazowo zgody (wymagana jednorazowa zgoda
użytkownika - popup) użytkownika)
TAK
TAK
Dane użytkownika (imię, nazwisko, avatar, (możliwe do pobrania za pomocą
(wymagana jednorazowa zgoda
płeć, wiek) JavaScript'u, możliwość przetwarzania
użytkownika)
wyłącznie w przeglądarce użytkownika)
Dodatkowe dane użytkownika (e-mail, TAK
wiek, miejscowość, numer telefonu, data NIE (wymagana jednorazowa zgoda
urodzenia) użytkownika)
Powiadomienia TAK NIE
Pobieranie zdjęć z galerii TAK TAK
Zapraszanie znajomych do aplikacji TAK NIE
Dodawanie zdjęć do galerii aplikacji TAK TAK
Płatności EuroGąbkami (waluta NK) TAK NIE
Powiązanie z Grupą TAK NIE
7. Aplikacje - dodawanie
1. Zgłoszenie chęci współpracy (http://developers.nk.pl/contact/)
2. Deweloper otrzymuje konto (uprawnienia) do
stworzenia nowej aplikacji
3. Deweloper dodaje aplikację w systemie
4. Integracja aplikacji OpenSocial'owej
5. Deweloper wysyła aplikację do akceptacji
przez NK
6. NK wykonuje audyt poprawności i
bezpieczeństwa
7. Aplikacja jest publikowana w katalogu
8. Strony - dodawanie
1. Zalogowanie się do panelu zarządzania
Aplikacjami i Stronami
2. Akceptacja regulaminu dla Zaloguj się z NK
3. Dodanie strony do systemu
4. Integracja strony przy użyciu OAuth
9. Aplikacje - Gadget'y - widoki
OpenSocial'owe gadgety mają możliwość uruchamiania się w wielu miejscach.
Ta sama aplikacja może wyglądać i działać inaczej w zależności od tego gdzie
jest wyświetlana.
Na portalu nk.pl dostępne są dwa widoki:
Główna strona
Box w grupie
aplikacji
Maksymalny rozmiar: 780 x 838 600 x 680
Identyfikator: canvas groups.right
10. Aplikacje - parametry
Nazwa Nazwa aplikacji widoczna na portalu.
Dostawca Nazwa firmy/organizacji wydawcy tytułu.
Pełny opis Wyświetlany na stronie instalacji/opisu aplikacji np. http://nk.pl/gry-online/doom/opis oraz w lewej
kolumnie w widoku po zainstalowaniu.
Krótki opis Wyświetlany w katalogu aplikacji, przy ikonie.
Adres aplikacji W zależności od typu aplikacji:
● gadget - URL wskazuje na xml-owy plik z opisem gadget'u
● flash - URL wskazuje na plik swf,
● HTML - URL do strony, która będzie wyświetlona w IFRAME
Wysokość i Rozmiar okna z aplikacją w widoku canvas.
Szerokość Aplikacje szersze niż 780px będą prezentowane na innej niż zwykle stronie, która jest dedykowana
dla szerokich aplikacji. Rekomendowany rozmiar to 760px.
Typ ● Gadget - pozwala uzyskać dostęp do API; zdefiniowany przez plik XML
● FLASH - aplikacja flash'owa bez dostępu do api; sam plik SWF (niedostępne)
● HTML - link do strony, która będzie osadzona jako IFRAME; bez dostępu do API
(niedostępne)
Kategoria GAME lub APPLICATION - mają wpływ na widoczność w odpowiedniej kategorii katalogu oraz na
komunikaty dla użytkowników (zagraj / uruchom)
11. Aplikacje - parametry
Adres do obrazka Główna ikona aplikacji w rozmiarze 100x100.
Adres dużego obrazka Duży obrazek prezentowany w rozmiarze 400x300 na stronie instalacji/opisu aplikacji.
Adresy screenshot'ów Zrzuty ekranu z aplikacji - obsługiwane do 4 obrazków w proporcjach 4:3.
Identyfikator grupy ID grupy powiązanej z aplikacją. Po podaniu ID grupy, będzie można na niej umieścić
aplikację (widok: groups.right).
Adres do obrazka Zaślepka w grupie widoczna, gdy użytkownik nie jest jej członkiem.
promującego na grupie
Adres do obsługi Adres pod który NK będzie wysyłać żądania z informacjami o użytkownikach, którzy
żądań o deinstalację odinstalowali Twoją aplikację.
aplikacji
Ukrywanie Jeżeli zaznaczone, wtedy użytkownik może wybrać, czy jego aktywności w tej aplikacji będą
widoczne przez znajomych. W przeciwnym wypadku użytkownik nie będzie miał takiego
wyboru.
Ukryj "Grających Jeżeli zaznaczone, ukrywa okienko z grającymi znajomymi na stronie aplikacji.
Znajomych"
Ukryj Galerię Aplikacji Jeżeli zaznaczone, użytkownik nie będzie mógł oglądać galerii aplikacji.
12. Aplikacje - parametry
Minimalny Wymagany Minimalny wiek użytkownika, któremu pokazujemy aplikację w katalogu.
Wiek Użytkownika
Maksymalny Maksymalny wiek użytkownika, któremu pokazujemy aplikację w katalogu.
Wymagany Wiek
Użytkownika:
Tryb Debug Kiedy tryb debug jest włączony, cache jest wyłączony a tryb javascript-a jest ustawiany na
debug (bez kompresji). Aplikacja dostępna publicznie nie może mieć ustawionego trybu
debug.
13. Aplikacje - audyt poprawności i
bezpieczeństwa
● Audyt to nie testy funkcjonalne
● Najważniejsze, czy:
○ Aplikacja uruchamia się, ma opis i niezbędne grafiki
○ Aplikacja nie przesyła danych użytkownika na swoje lub inne
serwery
○ Aplikacja ma odpowiednie zabezpieczenia przed atakami np. XSS
○ Tryb osadzenia flash'a to TRANSPARENT lub OPAQUE
○ Rozmiary widoków są poprawne
Szablon audytu