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:

Select My Apps

Vyberte aplikaci a klikněte na kartu Nákupy v aplikaci:

Click on the In-App Purchases tab

V dolní části stránky vyberte Zobrazit nebo vygenerovat sdílený tajný kód:

Select View or generate a shared secret

Generate a shared secret

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:

An example Sales and Trends report

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:

iPhone screenshots for some of the statistics available