Předplatná a vytváření sestav v Xamarin.iOS
Informace o neprodlužování předplatných
Neprodlužující předplatná jsou určená pro produkty, které představují prodej služby s časovým omezením (například přístup k navigační aplikaci po jednom týdnu nebo časově omezený přístup k archivu dat).
Hlavní rozdíly mezi neprodlužováním předplatných a jinými typy produktů:
- Definice produktu v iTunes Připojení neobsahuje termín. Kód aplikace musí být schopen odvodit dobu platnosti z ID produktu.
- Dají se zakoupit vícekrát (například spotřební produkt). Aplikace se vyžadují ke správě období předplatného nebo vypršení platnosti a prodloužení platnosti a brání uživateli v nákupu překrývajících se předplatných.
- Nákupy nejsou podporovány funkcí StoreKit Restore. Pokud by mělo být předplatné dostupné na všech zařízeních uživatele, aplikace bude muset navrhnout a implementovat tuto funkci ve spojení se vzdáleným serverem. Aplikace také zodpovídají za zálohování stavu předplatného v případech, kdy je zařízení zálohované a obnovené ze zálohy.
- Přehled implementace
- Neprodlužující se předplatná by se normálně měla implementovat pomocí pracovního postupu doručeného serveru a spravovat jako spotřební produkty.
Informace o bezplatných předplatných
Bezplatná předplatná umožňují vývojářům vložit bezplatný obsah do aplikací Newsstand (nedají se používat v aplikacích mimo Newsstand). Po spuštění bezplatného předplatného bude dostupné na všech zařízeních uživatele. Platnost bezplatných předplatných nikdy nevyprší; končí pouze při odinstalaci aplikace.
Přehled implementace
Bezplatná předplatná se chovají podobně jako předplatná s automatickými obnovitelnými možnostmi. Aplikace musí mít k dispozici produkt bezplatného předplatného pro nákup v iTunes Připojení. Při nákupu uživatelem by se měl nákup bezplatného předplatného ověřit jako produkt s automatickým obnovitelným předplatným. Transakce bezplatného předplatného je možné obnovit.
Informace o automaticky obnovitelných předplatných
Předplatná automatického obnovitelného zdroje se používají hlavně v aplikacích Newsstand. Představují produkt, který uživateli uděluje přístup k dynamickému obsahu po danou dobu, který je nakonfigurovaný v iTunes Připojení (nastavená období od 7 dnů do 1 roku). Předplatná se automaticky prodlužují a účtují se uživatelům Apple ID na konci každého období předplatného, pokud se uživatel nevyhlásí. Tento typ produktu funguje dobře pro časopisy nebo odběry novinek, kde uživatel získá přístup k jednotlivým problémům publikovaným během platnosti předplatného.
Přehled implementace
Automaticky obnovitelná předplatná by se měla implementovat pomocí pracovního postupu Produkty doručované serverem (viz část Ověření příjmu a Produkty doručované serverem).
Sdílený tajný klíč
Sdílený tajný klíč pro nákup v aplikaci se musí použít v požadavku JSON při ověřování automaticky obnovitelných předplatných na vašem serveru. Sdílený tajný klíč se vytvoří nebo se k němu přistupuje prostřednictvím Připojení iTunes.
Na domovské stránce Připojení iTunes vyberte Moje aplikace:
Vyberte aplikaci a klikněte na kartu Nákupy v aplikaci:
V dolní části stránky vyberte Zobrazit nebo vygenerovat sdílený tajný kód:
Pokud chcete použít sdílený tajný klíč, zahrňte ho do datové části JSON, která se odesílá na servery Společnosti Apple při ověřování potvrzení o nákupu v aplikaci pro předplatné s automatickým obnovitelným úložištěm, například takto:
{
"receipt-data" : "(receipt bytes here)",
"password" : "(shared secret bytes here)"
}
Pole stavu odpovědi bude nulové, pokud je nákup platný, stejně jako u jiných typů produktů.
Stahování položek po počátečním období předplatného
V rámci doručování produktů předplatného by měl kód často ověřovat nejnovější známý příjem na serverech Společnosti Apple. Pokud se předplatné od posledního ověření automaticky prodloužilo, bude odpověď JSON obsahovat další pole, která upozorňují aplikaci na transakce, ke které došlo (což by mělo prodloužit platnost předplatných). Odpověď JSON bude obsahovat:
{
"status" : 0,
"receipt" : { (receipt here) },
"latest_receipt" : "(base-64 encoded receipt here)",
"latest_receipt_info" : { (latest receipt info here) }
}
Pokud je stav nula, předplatné je stále platné a ostatní pole obsahují platná data. Pokud je stav 21006, platnost předplatného vypršela. Další kódy chyb najdete v dokumentaci k ověření potvrzení o automatickém obnovení předplatného.
Obnovení automaticky obnovitelných předplatných
Získáte zpět více transakcí – původní nákupní transakce plus samostatnou transakci pro každé období prodloužení předplatného. Abyste pochopili, co je období platnosti, musíte sledovat počáteční data a termíny.
SkPaymentTransaction objekt nezahrnuje období předplatného – pro každý termín byste měli použít jiné ID produktu a napsat kód, který může extrapolovat období předplatného od data nákupu transakce.
Testování automatického prodlužování platnosti
Aby se usnadnilo testování předplatných, jejich doby trvání se při testování v sandboxu komprimují. 1 týden se předplatná prodlužují každých 3 minuty, 1 rok se předplatná prodlužují každou hodinu. Předplatná se při testování v sandboxu automaticky prodlužují maximálně 6krát.
Sestavy
iTunes Připojení (itunesconnect.apple.com) poskytuje:
Prodej a trendy – Zobrazuje podrobnosti o stahování, aktualizacích a nákupech v aplikaci.
Platby a finanční sestavy – podrobnosti o příjmech získaných vašimi aplikacemi a výpis plateb, které vám byly provedeny a kolik vám dlužíte.
Příklad sestavy Sales and Trends (Prodej a trendy) je znázorněna níže:
K dispozici je také aplikace ITC Připojení Mobile pro iOS. I Telefon snímky obrazovky s některými dostupnými statistikami jsou uvedené tady: