Com a vinculação de assinaturas, o JavaScript do lado do cliente é a única maneira de criar uma
nova associação entre um PPID
e a Conta do Google de um leitor. Em uma página
configurada, o leitor é apresentado a uma caixa de diálogo solicitando a vinculação à
assinatura. Depois que o leitor clicar no botão "Continuar com o Google", poderá
escolher uma conta para vincular e voltar para a página configurada
ao concluir.
A associação do PPID à conta do leitor é feita pelo
método linkSubscription em swg.js
. O uso é semelhante ao recurso de vinculação de conta anterior (exemplo). No entanto, em vez de transmitir uma promessa, o método aceita um objeto contendo o PPID.
Exemplos de código
Esses exemplos de código do lado do cliente ilustram como iniciar um link, como é uma resposta
válida e, opcionalmente, como usar o eventManager swg.js
para
detectar eventos analíticos e encaminhá-los.
Iniciar a caixa de diálogo de Vinculação de assinaturas
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
Exemplo de resposta
Respostas válidas de uma conta vinculada contêm o PPID
usado
no link e um status success
booleano.
console.log(result) //{publisherProvidedId: 6789, success: true}
A vinculação de assinaturas não exige o uso de cookies de terceiros nem uma sessão ativa do Google. Isso permite lançar a vinculação de forma flexível, a qualquer momento da experiência do leitor, e não apenas após uma compra. Se o leitor não estiver logado a uma Conta do Google, ele poderá fazer isso como parte do fluxo.
Completar o exemplo do lado do 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>
Criar um ID do cliente OAuth
Embora o cliente OAuth não seja necessário para a vinculação de assinaturas,
pode ser usado para criar a lista de permissões de domínios autorizados para o projeto.
Os domínios autorizados são uma lista dos domínios que podem receber
chamadas do JavaScript do lado do cliente. É provável que sua publicação já tenha um ID do
cliente OAuth configurado na Central do Editor para uso com swg.js
.
- Se o JavaScript da vinculação de assinaturas do lado do cliente for originado de um nome de domínio validado anteriormente, nenhuma ação será necessária.
- Se o JavaScript for executado de um novo nome de domínio, siga as instruções de configuração do ID do cliente OAuth do Assine com o Google.
Teste
Para testar a implementação da vinculação de assinaturas do lado do cliente, o código precisa ser executado a partir de um servidor com uma origem JavaScript autorizada.
- Para uso em produção, origens autorizadas podem vir de clientes OAuth configurados ou da lista de domínios verificados nas configurações da publicação na Central do Editor.
- Para uso em desenvolvimento ou teste, com um domínio não verificável (por exemplo, localhost ou um servidor não público), o domínio precisa estar listado no cliente OAuth configurado.
Solucionar erros
O problema mais comum ao testar o JavaScript do lado do cliente é receber um erro
403 - Not Authorized
ao tentar executar o JavaScript. Para resolver,
confirme que você está executando o JavaScript a partir de um domínio validado na
Central do Editor ou em um host que está nas origens autorizadas
do JavaScript do cliente OAuth vinculado.