Podstawy i konfiguracja zakupu w aplikacji na platformie Xamarin.iOS
Zaimplementowanie zakupów w aplikacji wymaga, aby aplikacja mogła korzystać z interfejsu API StoreKit na urządzeniu. StoreKit zarządza całą komunikacją z serwerami iTunes firmy Apple, aby uzyskać informacje o produkcie i wykonywać transakcje. Profil aprowizacji musi być skonfigurowany do zakupu w aplikacji, a informacje o produkcie muszą być wprowadzane w programie iTunes Połączenie.
Korzystanie ze sklepu App Store w celu zapewnienia zakupu w aplikacji wymaga następującej konfiguracji i konfiguracji:
- iTunes Połączenie — konfigurowanie produktów do sprzedaży i konfigurowania kont użytkowników piaskownicy w celu przetestowania zakupu. Musisz również podać swoje informacje bankowe i podatkowe do Firmy Apple, aby mogły przekazać fundusze zebrane w Twoim imieniu.
- Portal aprowizacji systemu iOS — tworzenie identyfikatora pakietu i włączanie dostępu do sklepu App Store dla aplikacji.
- Store Kit — dodawanie kodu do aplikacji w celu wyświetlania produktów, kupowania produktów i przywracania transakcji.
- Kod niestandardowy — śledzenie zakupów dokonanych przez klientów i dostarczanie zakupionych produktów lub usług. Może być również konieczne zaimplementowanie procesu po stronie serwera w celu zweryfikowania paragonów, jeśli produkty składają się z zawartości pobranej z serwera (na przykład książki i problemy z magazynem).
Istnieją dwa zestawy Store Kit "server environments":
- Produkcja — transakcje z rzeczywistymi pieniędzmi. Dostępne tylko za pośrednictwem aplikacji przesłanych i zatwierdzonych przez firmę Apple. Przed udostępnieniem ich w środowisku produkcyjnym należy również przejrzeć i zatwierdzić produkty w aplikacji.
- Piaskownica — gdzie odbywa się testowanie. Produkty są dostępne natychmiast po utworzeniu (proces zatwierdzania dotyczy tylko środowiska produkcyjnego). Transakcje w piaskownicy wymagają od użytkowników testowych (nie rzeczywistych identyfikatorów Apple ID) do wykonywania transakcji.
Reguły zakupu w aplikacji
Nie można zaakceptować innych form płatności za produkty cyfrowe lub usługi w aplikacji, ani nie wspomnieć o nich ani odwołać się do nich od użytkowników z poziomu aplikacji. Oznacza to, że nie można akceptować kart kredytowych ani usługi PayPal, gdy zakup w aplikacji jest najbardziej odpowiednim mechanizmem płatności. Istnieje szczególny przypadek zakupu produktów cyfrowych poza aplikacją, ale do użycia w aplikacji, takich jak zakup książek w witrynie internetowej, które są skojarzone z określonym "logowaniem" i używanie tego "identyfikatora logowania" w aplikacji umożliwia użytkownikowi dostęp do zakupionych książek. Aplikacje, które działają w ten sposób, nie mogą wspominać ani łączyć się z funkcją zakupu zewnętrznego — deweloperzy muszą komunikować tę możliwość swoim użytkownikom w inny sposób (na przykład za pośrednictwem marketingu e-mail lub innego kanału bezpośredniego).
Jednak ponieważ nie można używać zakupów w aplikacji dla towarów fizycznych, w takim przypadku możesz użyć alternatywnego mechanizmu płatności (np. karty kredytowej, PayPal) z poziomu aplikacji.
Firma Apple musi zatwierdzić każdy produkt przed jego rozpoczęciem sprzedaży — nazwa, opis i zrzut ekranu "produkt" jest wymagany do przeglądu. Czasy przeglądu produktu są takie same jak w przypadku przeglądów aplikacji.
Nie możesz wybrać żadnej ceny produktu — możesz wybrać tylko "warstwę cenową", która ma określoną wartość w każdym kraju/walucie obsługiwanej przez firmę Apple. Nie można mieć innej warstwy cenowej na różnych rynkach.
Konfigurowanie
Przed zapisaniem kodu zakupu w aplikacji należy wykonać pewne czynności konfiguracji w programie iTunes Połączenie (itunesconnect.apple.com) i portalu aprowizacji systemu iOS (developer.apple.com/iOS).
Te trzy kroki należy wykonać przed napisaniem jakiegokolwiek kodu:
- Konto dla deweloperów firmy Apple — przesyłanie informacji o bankowości i opodatkowaniu do firmy Apple.
- Portal aprowizacji systemu iOS — upewnij się, że aplikacja ma prawidłowy identyfikator aplikacji (nie symbol wieloznaczny z gwiazdką * w niej) i ma włączoną opcję Zakup aplikacji.
- Zarządzanie aplikacjami w programie iTunes Połączenie — dodawanie produktów do aplikacji.
Konto dla deweloperów firmy Apple
Tworzenie i rozpowszechnianie bezpłatnych aplikacji wymaga bardzo małej konfiguracji w programie iTunes Połączenie, jednak do sprzedaży płatnych aplikacji lub zakupów w aplikacjach wymaga dostarczenia apple informacji bankowych i podatkowych. Kliknij pozycję Umowy, Podatki i Bankowość z menu głównego pokazanego tutaj:
Twoje konto dewelopera powinno mieć obowiązującą umowę płatnej aplikacji dla systemu iOS, jak pokazano na poniższym zrzucie ekranu:
Nie będzie można przetestować żadnej funkcji StoreKit, dopóki nie otrzymasz umowy płatnej aplikacji dla systemu iOS — wywołania StoreKit w kodzie nie powiedzą się, dopóki firma Apple nie przetworzy informacji o umowach, podatku i bankowości .
Portal aprowizowania dla systemu iOS
Nowe aplikacje są konfigurowane w sekcji Identyfikatory aplikacji w portalu aprowizacji systemu iOS. Aby utworzyć nowy identyfikator aplikacji, przejdź do centrum członkowskiego portalu aprowizacji systemu iOS, przejdź do sekcji Certyfikaty, Identyfikatory i profile w portalu, a następnie kliknij pozycję Identyfikatory w obszarze Aplikacje systemu iOS. Następnie kliknij przycisk "+" w prawym górnym rogu, aby wygenerować nowy identyfikator aplikacji.
Formularz tworzenia nowych identyfikatorów aplikacji
wygląda następująco:
Wprowadź odpowiedni opis, aby można było łatwo zidentyfikować ten identyfikator aplikacji na liście. W polu Prefiks identyfikatora aplikacji wybierz identyfikator zespołu.
Format sufiksu identyfikatora pakietu/identyfikatora aplikacji
Możesz użyć dowolnego ciągu dla identyfikatora pakietu (o ile jest on unikatowy na twoim koncie), jednak firma Apple zaleca stosowanie odwrotnego formatu DNS zamiast używać dowolnego ciągu. Przykładowa aplikacja, która towarzyszy temu artykule, używa biblioteki com.xamarin.storekit.testing dla identyfikatora pakietu, jednak będzie równie ważna, aby użyć identyfikatora takiego jak my_store_example (mimo że firma Apple jej nie zaleca).
Ważne
Firma Apple umożliwia również dodawanie gwiazdki z symbolami wieloznacznymi na końcu identyfikatora pakietu, dzięki czemu pojedynczy identyfikator aplikacji może być używany dla wielu aplikacji, jednak identyfikatory aplikacji wieloznaczne nie mogą być używane w przypadku wykupu w aplikacji. Przykładem identyfikatora pakietu wieloznacznego może być com.xamarin.*
Włączanie usługi App Services
Pamiętaj, że zakup w aplikacji zostanie automatycznie włączony na liście Usługi:
Profile aprowizacji
Utwórz profile tworzenia i aprowizacji w środowisku produkcyjnym, tak jak zwykle, wybierając identyfikator aplikacji skonfigurowany na potrzeby zakupu w aplikacji. Aby uzyskać więcej informacji, zobacz przewodniki Device Provisioning and Publishing w sklepie App Store w systemie iOS.
Połączenie iTunes
Kliknij Moje aplikacje w programie iTunes Połączenie, aby utworzyć lub edytować wpis aplikacji systemu iOS. Strona przeglądu aplikacji jest wyświetlana tutaj:
Kliknij pozycję Zakupy w aplikacji, aby utworzyć lub edytować produkty do sprzedaży. Ten zrzut ekranu przedstawia przykładową aplikację z kilkoma dodanymi już produktami:
Proces dodawania nowych produktów obejmuje dwa kroki:
- Wybierz typ produktu:
- Wprowadź atrybuty produktu, w tym identyfikator produktu, warstwę cenową i zlokalizowane opisy:
Pola wymagane dla każdego produktu zakupu w aplikacji zostały opisane poniżej:
Nazwa odwołania
Nazwa odwołania nie jest wyświetlana dla użytkowników; jest przeznaczony do użytku wewnętrznego i jest wyświetlany tylko w Połączenie iTunes.
Format identyfikatora produktu
Identyfikator produktu może zawierać tylko znaki alfanumeryczne (A-Z,a-z,0-9), podkreślenie (_) i kropkę (.). Mimo że można użyć dowolnego ciągu dla identyfikatorów, firma Apple zaleca odwrotny format DNS. Na przykład przykładowa aplikacja używa tego identyfikatora pakietu:
com.xamarin.storekit.testing
W związku z tym konwencja identyfikowania produktów zakupu w aplikacji byłaby następująca:
com.xamarin.storekit.testing.consume5credits
com.xamarin.storekit.testing.consume10credits
com.xamarin.storekit.testing.sepia
com.xamarin.storekit.testing.greyscale
Ta konwencja nazewnictwa nie jest wymuszana, a po prostu zalecenie ułatwiające zarządzanie produktami. Ponadto pomimo przestrzegania tej samej konwencji reverse-DNS identyfikatory produktu nie są powiązane z identyfikatorem pakietu i nie są wymagane do rozpoczęcia od tego samego ciągu. Nadal ważne byłoby używanie identyfikatorów, takich jak photo_product_greyscale (mimo że firma Apple tego nie zaleca).
Identyfikator produktu nie jest wyświetlany użytkownikom, ale służy do odwołowania się do produktu w kodzie aplikacji.
Typ produktu
Istnieje pięć typów produktu zakupu w aplikacji, które można zaoferować:
- Eksploatacyjne — rzeczy, które są "używane", takie jak waluta w grze, którą gracz może wydać. Jeśli użytkownik wykonuje kopię zapasową/przywracanie lub w inny sposób odświeży urządzenie, transakcja eksploatowana nie zostanie przywrócona (co skutecznie dałoby graczowi tę samą korzyść ponownie). Kod aplikacji musi mieć pewność, że po zakończeniu transakcji należy podać element eksploatacyjny.
- Nieużywalne — produkty, które użytkownik jest właścicielem po zakupie, takie jak wydanie magazynu cyfrowego lub poziom gry.
- Subskrypcje autoodnawialne — podobnie jak subskrypcja magazynu w świecie rzeczywistym, po zakończeniu okresu subskrypcji firma Apple automatycznie pobiera opłaty za klienta i przedłuża okres subskrypcji, na zawsze lub do momentu, gdy klient jawnie go anuluje. Jest to preferowana forma płatności dla aplikacji Newsstand (w rzeczywistości aplikacje MUSZĄ obsługiwać tę formę płatności, aby została zatwierdzona dla dystrybucji Newsstand).
- Bezpłatna subskrypcja — może być oferowana tylko w aplikacjach z obsługą wiadomości i umożliwia klientowi dostęp do zawartości subskrypcji na wszystkich urządzeniach. Bezpłatne subskrypcje nigdy nie wygasają.
- Subskrypcja nieodnoważająca — powinna być używana do sprzedaży ograniczonego czasowo dostępu do zawartości statycznej, takiej jak miesięczny dostęp do archiwum zdjęć.
Ten dokument obejmuje obecnie tylko dwa pierwsze typy produktów (Eksploatacyjne i Nieożywne).
Warstwy cen
Sklep App Store nie pozwala wybrać dowolnej ceny produktów — firma Apple oferuje warstwy cen stałych, które można wybrać. Ceny są ustalone w każdej walucie, a Apple zastrzega sobie prawo do dostosowania względnych cen (na przykład po trwałej zmianie względnego kursu wymiany walut między określoną walutą a dolarem amerykańskim).
Firma Apple udostępnia macierz cen, która ułatwia wybranie odpowiedniej warstwy dla odpowiedniej waluty/ceny. Poniżej przedstawiono fragment macierzy cen (sierpień 2012 r.):
W momencie pisania (czerwiec 2013 r.) istnieje 87 warstw z 0,99 USD do 999,99 USD. Macierz cen pokazuje cenę, którą klienci będą płacić, a także kwotę otrzymaną od Firmy Apple — jest to mniej ich 30% opłaty, a także wszelkie podatki lokalne, które są wymagane do zebrania (zwróć uwagę na to, że amerykańscy i kanadyjscy sprzedawcy otrzymują 70c za produkt 99c, podczas gdy australijscy sprzedawcy otrzymują tylko 63c ze względu na "Towary i usługi podatku" pobierane w cenie sprzedaży).
Ceny produktu można aktualizować w dowolnym momencie, w tym zmiany w cenie zaplanowanej, które wejdą w życie w przyszłości. Ten zrzut ekranu przedstawia sposób dodawania przyszłej zmiany ceny — cena jest tymczasowo zmieniana z warstwy 1 na warstwę 3 tylko w miesiącu września:
Bezpłatne produkty nie są obsługiwane
Mimo że firma Apple udostępniła specjalną opcję bezpłatnej subskrypcji dla aplikacji Newsstand, nie można ustawić ceny zerowej (bezpłatnej) dla innych typów zakupów w aplikacji. Chociaż możesz edytować (tj. niższe) ceny promocji sprzedaży, nie można dokonać zakupów w aplikacji "bezpłatnie" za pośrednictwem Połączenie iTunes.
Lokalizacja
W programie iTunes Połączenie możesz wprowadzić inny tekst Name (Nazwa) i Description (Opis) dla dowolnej liczby obsługiwanych języków. Każdy język można dodać/edytować za pomocą wyskakującego okienka:
Po wyświetleniu informacji o produkcie w aplikacji zlokalizowany tekst będzie dostępny do wyświetlenia za pośrednictwem zestawu StoreKit. Wyświetlanie waluty musi być również zlokalizowane, aby wyświetlić prawidłowy symbol i formatowanie dziesiętne — to formatowanie zostało omówione w dalszej części dokumentu.
Przegląd sklepu App Store
Tak samo jak aplikacje — każdy produkt jest przeglądany przez firmę Apple przed zezwoleniem na jego sprzedaż. Produkty mogą zostać odrzucone w przypadku nieodpowiedniej zawartości w polu Nazwa lub Opis albo firma Apple może zdecydować, że wybrano niewłaściwy typ produktu (np. utworzono wydanie książki lub magazynu, ale użyto typu produktu Eksploatacyjnego). Przeglądy produktów mogą trwać tak długo, jak przegląd aplikacji.
Przy pierwszym przesłaniu aplikacji z włączonym zakupem w aplikacji (niezależnie od tego, czy jest to nowa aplikacja, czy do istniejącej), musisz również wybrać niektóre produkty do przesłania. W portalu iTunes Połączenie zostanie wyświetlony monit o wykonanie tej czynności, jak pokazano na poniższym zrzucie ekranu:
Aplikacja i zakupy w aplikacji zostaną przejrzyone razem, aby wszystkie zostały zatwierdzone jednocześnie (aby aplikacja nie trafiała do sklepu bez żadnych zatwierdzonych produktów!).
Po zatwierdzeniu pierwszej wersji z możliwością zakupu w aplikacji możesz dodawać kolejne produkty i przesyłać je do przeglądu w dowolnym momencie. Możesz również przesłać nową wersję wraz z określonymi produktami zakupu w aplikacji, korzystając ze strony Szczegóły wersji, jak sugeruje monit.
Aby uzyskać więcej informacji, zapoznaj się z wytycznymi dotyczącymi przeglądu sklepu App Store.
Część 2 — Omówienie zestawu sklepu i pobieranie informacji o produkcie