U propojení předplatných je JavaScript na straně klienta jediným způsobem, jak vytvořit nové propojení mezi identifikátorem PPID
a účtem Google čtenáře. Na nakonfigurované stránce se čtenáři zobrazí dialogové okno s výzvou k propojení předplatného. Když čtenář klikne na tlačítko Pokračovat pomocí Googlu, může si vybrat účet, se kterým má být předplatné propojeno, a po dokončení bude odeslán zpět na nakonfigurovanou stránku.
Přidružení identifikátoru PPID k účtu čtenáře se provádí pomocí metody linkSubscription knihovny swg.js
. Použití se podobá předchozí funkci propojení účtů (příklad), ale namísto předání příslibu přijímá metoda objekt obsahující PPID.
Příklady kódu
Tyto příklady kódu na straně klienta ilustrují, jak iniciovat propojení, jak vypadá platná odpověď a (volitelně) jak pomocí funkce eventManager knihovny swg.js
naslouchat analytickým událostem a odpovídajícím způsobem je směrovat.
Iniciování dialogového okna propojení předplatných
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
Vzorová odpověď
Platné odpovědi z úspěšně propojeného účtu obsahují jak identifikátor PPID
použitý v propojení, tak logickou hodnotu stavu success
.
console.log(result) //{publisherProvidedId: 6789, success: true}
Propojení předplatných nevyžaduje soubory cookie třetích stran ani aktivní relaci Google pro čtenáře. Propojení tak lze čtenáři flexibilně nabídnout kdykoliv, nikoliv pouze po nákupu. Pokud čtenář není přihlášen k účtu Google, může se k němu přihlásit v rámci procesu propojení.
Úplný příklad integrace na straně klienta
<script
async
type="application/javascript"
subscriptions-control="manual"
src="https://news.google.com/swg/js/v1/swg.js">
</script>
<script>
function linkSubscription(ppid) {
self.SWG.push(async (subscriptions) => {
try {
const result = await subscriptions.linkSubscription({
publisherProvidedId: ppid,
})
console.log(result)
} catch(e) {
console.log(e)
}
})
}
document.addEventListener('DOMContentLoaded', function () {
(self.SWG = self.SWG || []).push(subscriptions => {
subscriptions.init("PUBLICATION_ID");
//Configure the event manager for analytics integration
subscriptions.getEventManager().then(manager => {
manager.registerEventListener((event) => {
// Add code here to send the event to your analytics
// sendToAnalytics(event);
console.log(event);
});
});
});
document
.querySelector("SELECTOR")
.addEventListener('click', function(){
linkSubscription(PPID)
})
});
</script>
Vytvoření ID klienta OAuth
Přímo s propojením předplatných se klient OAuth nepoužívá, ale je ho možné použít k vytvoření seznamu povolených domén autorizovaných pro váš projekt.
Autorizované domény jsou domény, ze kterých může váš JavaScript na straně klienta uskutečňovat volání. ID klienta OAuth k použití s knihovnou swg.js
je pro vaši publikaci již pravděpodobně v nástroji Publisher Center nakonfigurováno.
- Pokud vaše volání javascriptu na straně klienta související s propojením předplatných pocházejí z dříve ověřeného názvu domény, není vyžadována žádná akce.
- Pokud příslušný JavaScript spouštíte z nové domény, postupujte podle pokynů ke konfiguraci ID klienta OAuth Předplatného s Googlem.
Testování
Aby implementaci propojení předplatných na straně klienta bylo možné otestovat, je kód potřeba spouštět ze serveru, který je autorizovaným zdrojem JavaScriptu.
- Pro produkční použití mohou autorizované zdroje pocházet buď z nakonfigurovaného klienta OAuth, nebo ze seznamu ověřených domén v nastavení publikace v nástroji Publisher Center.
- K použití při vývoji nebo stagingu s neověřitelnou doménou (např. localhost nebo neveřejným serverem) musí být doména uvedena v nakonfigurovaném klientovi OAuth.
Odstraňování chyb
Nejčastějším problémem při testování JavaScriptu na straně klienta je chyba 403 - Not Authorized
při pokusu o jeho spuštění. Tento problém vyřešíte tak, že JavaScript budete spouštět z domény, která je ověřena v nástroji Publisher Center, nebo že kód budete spouštět na hostitelském serveru, který je zahrnut mezi autorizovanými zdroji JavaScriptu připojeného klienta OAuth.