Con la vinculación de suscripciones, el JavaScript del lado del cliente es la única forma de crear una nueva asociación entre un PPID
y la cuenta de Google de un lector. En una página configurada, se muestra al lector un cuadro de diálogo en el que se le pide que vincule su suscripción. Después de que el lector haga clic en el botón Continuar con Google, puede elegir una cuenta a la que vincularse y, cuando lo haya hecho, se le devolverá a la página configurada.
Para asociar el PPID a la cuenta del lector, utiliza el método linkSubscription en swg.js
. El uso es similar a la función de vinculación de cuentas anterior (ejemplo), pero, en lugar de pasar una promesa, el método acepta un objeto que contiene el PPID.
Ejemplos de código
Estos ejemplos de código del lado del cliente explican cómo iniciar una vinculación, muestran el aspecto que tiene una respuesta válida y (de forma opcional) indican cómo usar el eventManager de swg.js
para escuchar los eventos de analíticas y dirigirlos según corresponda.
Iniciar el cuadro de diálogo de vinculación de suscripciones
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
Ejemplo de respuesta
Las respuestas válidas de una cuenta vinculada correctamente contienen el PPID
usado en la vinculación y el estado success
booleano.
console.log(result) //{publisherProvidedId: 6789, success: true}
La vinculación de suscripciones no requiere utilizar cookies de terceros ni que el lector tenga una sesión de Google activa. De esta forma, la experiencia de vinculación se puede iniciar de forma flexible en cualquier momento durante la experiencia de lectura, y no solo después de una compra. Si un lector no ha iniciado sesión en una cuenta de Google, se le ofrece la oportunidad de hacerlo durante el proceso.
Ejemplo completo del lado del cliente
<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>
Crear un ID de cliente de OAuth
Aunque no es necesario un cliente de OAuth para la vinculación de suscripciones, se puede usar un cliente de este tipo para crear la lista de dominios autorizados permitidos de tu proyecto.
Los dominios autorizados son una lista de los dominios desde los que el JavaScript del lado del cliente puede hacer llamadas. Es probable que tu publicación ya tenga un ID de cliente de OAuth configurado en el Centro de editores para que puedas usarlo con swg.js
.
- Si las llamadas del JavaScript del lado del cliente de vinculación de suscripciones provienen de un nombre de dominio validado anteriormente, no es necesario realizar ninguna acción.
- Si el JavaScript se ejecuta desde un nombre de dominio nuevo, sigue las instrucciones de configuración de IDs de cliente de OAuth de Suscríbete con Google.
Pruebas
Para probar la implementación del lado del cliente de la vinculación de suscripciones, el código debe ejecutarse desde un servidor con un origen de JavaScript autorizado.
- Para el uso de producción, los orígenes autorizados pueden proceder del cliente de OAuth configurado o desde la lista de dominios verificados en los ajustes de la publicación en el Centro de editores.
- Para el uso de staging o desarrollo, con un dominio sin verificar (por ejemplo, localhost o un servidor que no sea público), el dominio debe aparecer en el cliente de OAuth configurado.
Solucionar errores
El problema más habitual a la hora de probar el JavaScript del lado del cliente es recibir un error 403 - Not Authorized
al intentar ejecutar el JavaScript. Para resolver este problema, asegúrate de ejecutar el JavaScript desde un dominio válido en el Centro de editores o de ejecutar el código en un alojamiento que se encuentre en los orígenes de JavaScript autorizados del cliente de OAuth vinculado.