Con il collegamento degli abbonamenti, il codice JavaScript lato client è l'unico modo per creare una
nuova associazione tra un PPID
e l'Account Google di un lettore. Su una pagina
configurata, il lettore visualizza una finestra di dialogo in cui gli viene chiesto di collegare il suo
abbonamento. Dopo aver fatto clic sul pulsante "Continua con Google", il lettore può
scegliere un account a cui collegarsi e, al completamento, essere reindirizzato alla pagina
configurata.
L'associazione del PPID con l'account del lettore viene eseguita tramite il
metodo linkSubscription in swg.js
. L'utilizzo è simile alla precedente funzionalità di collegamento degli account (esempio), ma invece di passare una promessa, il metodo accetta un oggetto contenente il PPID.
Esempi di codice
Questi esempi di codice lato client illustrano come avviare un collegamento, come appare una risposta valida e, facoltativamente, come utilizzare eventManager di swg.js
per ascoltare gli eventi di analisi e indirizzarli di conseguenza.
Avviare la finestra di dialogo del collegamento degli abbonamenti
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
Esempio di risposta
Le risposte valide da un account collegato correttamente contengono sia il PPID
usato
nel link sia uno stato success
booleano.
console.log(result) //{publisherProvidedId: 6789, success: true}
Il collegamento degli abbonamenti non richiede l'utilizzo di cookie di terze parti o di una sessione Google attiva per il lettore. Questo consente di passare in modo flessibile al collegamento in qualsiasi momento nell'esperienza del lettore, non solo dopo un acquisto. Se un lettore non ha eseguito l'accesso a un Account Google, gli viene offerta l'opportunità di farlo nell'ambito della procedura.
Esempio lato client completo
<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>
Creare un ID client OAuth
Sebbene il client OAuth non sia richiesto per il collegamento degli abbonamenti, può essere utilizzato
per creare la lista consentita dei domini autorizzati per il tuo progetto.
I domini autorizzati sono un elenco di domini da cui il codice JavaScript lato client
è autorizzato a effettuare chiamate. È probabile che la tua pubblicazione abbia già un ID client OAuth
configurato nel Centro editori per l'utilizzo con swg.js
.
- Se le chiamate del codice JavaScript lato client del collegamento degli abbonamenti provengono da un nome di dominio convalidato in precedenza, non è richiesta alcuna azione.
- Se il codice JavaScript proviene da un nome di dominio nuovo, segui le istruzioni per la configurazione dell'ID client OAuth di Abbonati con Google.
Test
Per testare l'implementazione lato client del collegamento degli abbonamenti, il codice deve essere eseguito da un server con un'origine JavaScript autorizzata.
- Per l'uso in produzione, le origini autorizzate possono provenire sia da un client OAuth configurato sia da un elenco di domini verificati nelle impostazioni della pubblicazione nel Centro editori.
- Per l'uso temporaneo o in fase di sviluppo, con un dominio non verificabile (ad esempio localhost o un server non pubblico), il dominio deve essere elencato nel client OAuth configurato.
Risolvere gli errori
Il problema più comune durante il test del codice JavaScript lato client è la ricezione di un
errore 403 - Not Authorized
quando si prova a eseguire il codice. Per risolvere il problema, assicurati di eseguire il codice JavaScript da un dominio convalidato nel Centro editori o di eseguire il codice su un host che si trova nelle origini js autorizzate del client OAuth collegato.