구독 연결을 사용하면 클라이언트 측 JavaScript만 PPID
와 독자의 Google 계정 간에 새 연결을 만들 수 있습니다. 구성된 페이지에서 독자에게 정기 결제를 연결하라는 대화상자가 표시됩니다. 독자가 'Google 계정으로 계속' 버튼을 클릭하면 연결할 계정을 선택할 수 있으며 완료되면 구성된 페이지로 다시 이동합니다.
PPID를 리더의 계정과 연결하는 작업은 swg.js
의 linkSubscription 메서드를 사용하여 실행됩니다. 사용법은 이전 계정 연결 기능 (예)과 비슷하지만 이 메서드는 약속을 전달하는 대신 PPID가 포함된 객체를 허용합니다.
코드 예시
다음 클라이언트 측 코드 예에서는 링크를 시작하는 방법, 유효한 응답의 모양, 선택적으로 swg.js
eventManager를 사용하여 애널리틱스 이벤트를 리슨하고 적절하게 라우팅하는 방법을 보여줍니다.
구독 연결 대화상자 시작
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
샘플 응답
연결에 성공한 계정의 유효한 응답에는 연결에 사용된 PPID
와 불리언 success
상태가 모두 포함됩니다.
console.log(result) //{publisherProvidedId: 6789, success: true}
구독 연결을 사용하려면 서드 파티 쿠키나 활성 Google 세션이 필요하지 않습니다. 이렇게 하면 구매 후뿐만 아니라 독자 환경에서 언제든지 연결 환경을 실행할 수 있습니다. 독자가 Google 계정에 로그인되어 있지 않은 경우 절차의 일부로 로그인할 수 있는 기회가 제공됩니다.
전체 클라이언트 측 예시
<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>
OAuth 클라이언트 ID 만들기
구독 연결에는 OAuth 클라이언트가 필요하지 않지만 OAuth 클라이언트를 사용하여 프로젝트의 승인된 도메인 허용 목록을 작성할 수 있습니다.
승인된 도메인은 클라이언트 측 JavaScript가 호출할 수 있는 도메인 목록입니다. 게시물에 이미 swg.js
와 함께 사용할 OAuth 클라이언트 ID가 게시자 센터에 구성되어 있을 수 있습니다.
- 구독 연결 클라이언트 측 JavaScript 호출이 이전에 확인된 도메인 이름에서 발생하는 경우 별도의 조치를 취하지 않아도 됩니다.
- 새 도메인 이름에서 JavaScript가 실행되는 경우 SwG OAuth 클라이언트 ID 구성 안내를 따르세요.
테스트
정기 결제 연결의 클라이언트 측 구현을 테스트하려면 코드를 승인된 JavaScript 출처가 있는 서버에서 실행해야 합니다.
- 프로덕션 사용의 경우 승인된 출처는 구성된 OAuth 클라이언트 또는 게시자 센터 내 게시 설정의 확인된 도메인 목록에서 가져올 수 있습니다.
- 확인할 수 없는 도메인 (예: localhost 또는 비공개 서버)을 사용하는 개발 또는 스테이징의 경우 구성된 OAuth 클라이언트에 도메인이 나열되어야 합니다.
오류 문제 해결하기
클라이언트 측 javascript를 테스트할 때 가장 일반적인 문제는 javascript를 실행하려고 할 때 403 - Not Authorized
오류가 발생하는 것입니다. 이 문제를 해결하려면 게시자 센터에서 확인된 도메인에서 JavaScript를 실행 중이거나 연결된 OAuth 클라이언트의 승인된 js 출처에 있는 호스트에서 코드를 실행하고 있는지 확인하세요.
다음 단계
클라이언트 측 JavaScript 통합을 완료하셨습니다. 이제 서버 측 통합으로 이동할 수 있습니다.
이는 독자의 사용 권한을 동기화하는 데 필요한 단계입니다. 필요한 서버 측 UpdateReaderEntitlements
함수를 구현하고 사용하면 적절한 구독자에게 적절한 도움말이 강조 표시됩니다.