W przypadku łączenia subskrypcji jedynym sposobem utworzenia
nowe powiązanie między usługą PPID
a kontem Google czytelnika. Na skonfigurowanej stronie czytelnik zobaczy okno z prośbą o połączenie subskrypcji. Gdy czytelnik kliknie przycisk „Kontynuuj z Google” przycisk
może wybrać konto, które ma zostać połączone, a następnie zostanie odesłany na skonfigurowaną stronę
po zakończeniu.
Identyfikator PPID można powiązać z kontem czytelnika za pomocą
linkSubskrypcja w usłudze swg.js
. Korzystanie z tej usługi jest podobne jak w przypadku poprzedniego konta
Funkcja łączenia (przykład),
ale zamiast przekazywać obietnicę, metoda akceptuje obiekt zawierający
PPID.
Przykłady kodu
Te przykłady kodu po stronie klienta pokazują, jak utworzyć link,
i (opcjonalnie) jak użyć menedżera zdarzeń swg.js
, aby
nasłuchiwać zdarzeń analitycznych i odpowiednio je kierować.
Otwórz okno łączenia subskrypcji
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
Przykładowa odpowiedź
Prawidłowe odpowiedzi z połączonego konta zawierają zarówno użyte, jak i PPID
i stan logiczny success
.
console.log(result) //{publisherProvidedId: 6789, success: true}
Łączenie subskrypcji nie wymaga korzystania z plików cookie innych firm ani aktywnej sesji Google w przypadku czytelnika. Dzięki temu użytkownik może w dowolnym momencie podczas czytania otworzyć proces łączenia, a nie tylko po dokonaniu zakupu. Jeśli czytelnik nie jest zalogowany na konto Google, może to zrobić w ramach procesu.
Pełny przykład po stronie 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>
Utwórz identyfikator klienta OAuth
Klient OAuth nie jest wymagany do łączenia subskrypcji, ale możesz go użyć do autoryzacji białej listy autoryzowanych domen w projekcie.
Autoryzowane domeny to lista domen, z których skrypt JavaScript po stronie klienta może wykonywać wywołania. Twoja publikacja prawdopodobnie ma już protokół OAuth
Identyfikator klienta skonfigurowany w Centrum wydawców do użytku z swg.js
.
- Jeśli połączenia JavaScript po stronie klienta w połączeniu subskrypcji pochodzą z wcześniej zweryfikowaną nazwę domeny, nie musisz nic robić.
- Jeśli skrypt JavaScript działa z nowej nazwy domeny, postępuj zgodnie z instrukcjami konfiguracji identyfikatora klienta OAuth w SwG.
Testowanie
Aby przetestować implementację funkcji Linkowanie subskrypcji po stronie klienta, kod musi być uruchamiany z serwera z autoryzowanym źródłem kodu JavaScript.
- W przypadku wersji produkcyjnej autoryzowane źródła mogą pochodzić z skonfigurowanego klienta OAuth lub z listy zweryfikowanych domen w ustawieniach publikacji w Centrum wydawców.
- Do użytku deweloperskiego lub przejściowego, z domeną, której nie można zweryfikować (np. localhost) lub niepubliczny), domena musi być wymieniona w skonfigurowanym protokole OAuth Klienta.
Rozwiązywanie problemów
Najczęstszym problemem podczas testowania kodu JavaScript po stronie klienta jest otrzymywanie
Podczas próby uruchomienia JavaScriptu wystąpił 403 - Not Authorized
błąd. Aby to zrobić, upewnij się, że uruchamiasz kod JavaScript z weryfikowanej domeny w Publisher Center lub że uruchamiasz go na hoście, który należy do autoryzowanych źródeł js powiązanego klienta OAuth.
Następny krok
Gratulujemy ukończenia integracji JavaScriptu po stronie klienta. Teraz możesz przejść do integracji po stronie serwera.
Jest to wymagany krok do synchronizowania uprawnień czytelników. Gdy
zaimplementuj i użyj wymaganej funkcji UpdateReaderEntitlements
po stronie serwera,
można zapewnić podświetlenie
odpowiednich artykułów
subskrybentów.