활동 피드를 통해 사용자는 앱 내에서 수신한 알림의 기록을 볼 수 있습니다.OneSignal은 알림 전달에 중점을 두지만 현재 각 개별 사용자에게 전송된 메시지의 기록을 저장하지 않습니다. 이 기능을 구축하려면 백엔드 서버 또는 사용자 기기에 직접 알림 데이터를 직접 저장해야 합니다.
권장 접근 방식앱의 백그라운드 처리에 의존하는 대신 Create notification REST API를 사용하여 각 알림을 보내고 서버에 사본을 저장하세요. 그런 다음 앱이 시작될 때 서버에서 업데이트를 확인할 수 있습니다.데이터가 저장되면 언제든지 사용자의 알림 기록을 검색하고 표시할 수 있습니다.
OneSignal의 Event Streams 기능은 앱에서 백엔드 시스템이나 데이터 웨어하우스로 실시간 이벤트를 스트리밍하는 확장 가능한 방법을 제공합니다. 이를 통해 팔로우, 댓글, 구매 또는 알림 이벤트와 같은 인앱 사용자 행동을 반영하는 피드를 앱 내에서 수동으로 업데이트하지 않고도 구축할 수 있습니다.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneSignal Documentation","description":"OneSignal is a platform for sending push notifications, emails, in-app messages, and SMS campaigns via a single API, Journey Builder, and a dashboard.","colors":{"primary":"#3A3DB3","light":"#E54B4D","dark":"#3A3DB3"},"logo":{"light":"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107","dark":"https://mintcdn.com/onesignal/s4WC_KzLxf8ornqq/logo/OneSignal-Logo-White.svg?fit=max\u0026auto=format\u0026n=s4WC_KzLxf8ornqq\u0026q=85\u0026s=2573a53b5aea961e18c82b3af8f31925"},"favicon":"https://mintcdn.com/onesignal/SGduBFHpiRdg5l6h/favicon.ico?fit=max\u0026auto=format\u0026n=SGduBFHpiRdg5l6h\u0026q=85\u0026s=c0a99fadc0553c658a83741c5611cef4","api":{"examples":{"languages":["curl","typescript","python","php","go","ruby","java","csharp","rust"],"autogenerate":true}},"navbar":{"links":[{"href":"mailto:support@onesignal.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.onesignal.com"}},"footer":{"socials":{"github":"https://github.com/OneSignal","linkedin":"https://linkedin.com/company/onesignal","youtube":"https://www.youtube.com/@onesignalofficial/playlists"}},"seo":{"metatags":{"apple-mobile-web-app-title":"OneSignal Docs"}},"fonts":{"family":"Nunito Sans"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-2DGWL0VYP5"},"posthog":{"apiKey":"phc_vZpvE0f5eyzcOt30FHer34yddVmNdo9kmlMVRBzLMtn","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"docs/en/home"},{"language":"cn","href":"docs/cn/home"},{"language":"ko","href":"docs/ko/home"},{"language":"ja","href":"docs/ja/home"},{"language":"tr","href":"docs/tr/home"},{"language":"pt-BR","href":"docs/pt-BR/home"},{"language":"es","href":"docs/es/home"},{"language":"fr","href":"docs/fr/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onesignal","hasAudioNarration":false,"actualSubdomain":"onesignal","customDomains":["documentation.onesignal.com"],"gitSource":{"type":"github","owner":"onesignal","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee76d2161a823262d5e93f","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"en","tag":"User Guides","count":203},{"language":"es","tag":"Guías del Usuario","count":178},{"language":"fr","tag":"Guides utilisateur","count":178},{"language":"ja","tag":"ユーザーガイド","count":178},{"language":"ko","tag":"사용자 가이드","count":178},{"language":"pt-BR","tag":"Guia do Usuário","count":178},{"language":"tr","tag":"Kullanıcı Kılavuzları","count":178},{"language":"cn","tag":"用户指南","count":176},{"language":"en","tag":"Message channels","count":90},{"language":"es","tag":"Canales de mensajería","count":84},{"language":"fr","tag":"Canaux de messagerie","count":84},{"language":"ja","tag":"メッセージングチャネル","count":84},{"language":"ko","tag":"메시지 채널","count":84},{"language":"pt-BR","tag":"Canais de mensagem","count":84},{"language":"tr","tag":"Mesaj kanalları","count":84},{"language":"cn","tag":"消息渠道","count":83},{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"API reference","count":64},{"language":"en","tag":"Analytics \u0026 Integrations","count":53},{"language":"es","tag":"Analítica \u0026 Integraciones","count":52},{"language":"fr","tag":"Analyses et intégrations","count":52},{"language":"ja","tag":"分析 \u0026 統合","count":52},{"language":"ko","tag":"분석 \u0026 통합","count":52},{"language":"pt-BR","tag":"Análises \u0026 Integrações","count":52},{"language":"tr","tag":"Analitik ve Entegrasyonlar","count":52},{"language":"cn","tag":"分析和集成","count":51},{"language":"cn","tag":"开发者指南","count":48},{"language":"es","tag":"Guías del desarrollador","count":48},{"language":"fr","tag":"Guides développeur","count":48},{"language":"ja","tag":"開発者ガイド","count":48},{"language":"ko","tag":"개발자 가이드","count":48},{"language":"tr","tag":"Geliştirici Kılavuzları","count":48},{"language":"en","tag":"Developer Guides","count":47},{"language":"pt-BR","tag":"Guia de desenvolvedor","count":47},{"language":"en","tag":"Integrations","count":37},{"language":"es","tag":"Integraciones","count":37},{"language":"fr","tag":"Intégrations","count":37},{"language":"ja","tag":"統合","count":37},{"language":"ko","tag":"통합","count":37},{"language":"pt-BR","tag":"Integrações","count":37},{"language":"tr","tag":"Entegrasyonlar","count":37},{"language":"cn","tag":"集成","count":36},{"language":"en","tag":"Tutorials","count":35},{"language":"cn","tag":"推送通知","count":31},{"language":"cn","tag":"OneSignal 作为目的地","count":31},{"language":"en","tag":"Push","count":31},{"language":"en","tag":"OneSignal as destination","count":31},{"language":"es","tag":"Push notificaciones","count":31},{"language":"es","tag":"OneSignal como destino","count":31},{"language":"fr","tag":"Push","count":31},{"language":"fr","tag":"OneSignal comme destination","count":31},{"language":"ja","tag":"プッシュ通知","count":31},{"language":"ja","tag":"OneSignal as 宛先","count":31},{"language":"ko","tag":"푸시","count":31},{"language":"ko","tag":"OneSignal을 데이터 목적지로 사용","count":31},{"language":"pt-BR","tag":"Push notificações","count":31},{"language":"pt-BR","tag":"OneSignal como destino","count":31},{"language":"tr","tag":"Anlık bildirimler","count":31},{"language":"tr","tag":"OneSignal hedef","count":31},{"language":"en","tag":"Mobile SDKs","count":26},{"language":"cn","tag":"移动SDK","count":25},{"language":"es","tag":"SDKs móviles","count":25},{"language":"fr","tag":"SDK mobiles","count":25},{"language":"ja","tag":"モバイルSDK","count":25},{"language":"ko","tag":"모바일 SDKs","count":25},{"language":"pt-BR","tag":"SDKs móveis","count":25},{"language":"tr","tag":"Mobil SDK'lar","count":25},{"language":"cn","tag":"教程","count":24},{"language":"es","tag":"Tutoriales","count":24},{"language":"fr","tag":"Tutoriels","count":24},{"language":"ja","tag":"チュートリアル","count":24},{"language":"ko","tag":"튜토리얼","count":24},{"language":"pt-BR","tag":"Tutoriais","count":24},{"language":"tr","tag":"Eğitimler","count":24},{"language":"en","tag":"Mobile SDK setup","count":19},{"language":"cn","tag":"移动SDK设置","count":18},{"language":"es","tag":"Configuración del SDK móvil","count":18},{"language":"fr","tag":"Configuration SDK mobile","count":18},{"language":"ja","tag":"モバイルSDKセットアップ","count":18},{"language":"ko","tag":"모바일 SDK 설정","count":18},{"language":"pt-BR","tag":"Configuração do SDK móvel","count":18},{"language":"tr","tag":"Mobil SDK kurulumu","count":18},{"language":"default","tag":"Messages","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Organization","count":9},{"language":"default","tag":"Journeys","count":8},{"language":"default","tag":"Deprecated","count":6},{"language":"default","tag":"Templates","count":6},{"language":"default","tag":"Subscriptions","count":6},{"language":"default","tag":"Segments","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@onesignal.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/ko/create-an-activity-feed","slug":"/docs/ko/create-an-activity-feed","pageMetadata":{"title":"활동 피드 만들기","description":"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.","keywords":["활동 피드","알림 기록","푸시 알림","OneSignal","Event Streams","사용자 참여","모바일 알림","실시간 알림","REST API","iOS 푸시","Android 푸시"],"href":"/docs/ko/create-an-activity-feed"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Step,Steps,Tab,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`활동-피드란-무엇인가요`,children:`활동 피드란 무엇인가요?`}),`\n`,_jsx(_components.p,{children:`활동 피드를 통해 사용자는 앱 내에서 수신한 알림의 기록을 볼 수 있습니다.`}),`\n`,_jsx(_components.p,{children:`OneSignal은 알림 전달에 중점을 두지만 현재 각 개별 사용자에게 전송된 메시지의 기록을 저장하지 않습니다. 이 기능을 구축하려면 백엔드 서버 또는 사용자 기기에 직접 알림 데이터를 직접 저장해야 합니다.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`옵션 1`,id:`%EC%98%B5%EC%85%98-1`,\"data-child-heading-ids\":`[\"%EC%84%9C%EB%B2%84%EC%97%90-%EC%A0%80%EC%9E%A5\"]`,children:[_jsx(Heading,{level:`2`,id:`서버에-저장`,children:`서버에 저장`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`권장 접근 방식`})}),_jsxs(_components.p,{children:[`앱의 백그라운드 처리에 의존하는 대신 `,_jsx(_components.a,{href:`/reference/create-message`,children:`Create notification`}),` REST API를 사용하여 각 알림을 보내고 서버에 사본을 저장하세요. 그런 다음 앱이 시작될 때 서버에서 업데이트를 확인할 수 있습니다.`]}),_jsx(_components.p,{children:`데이터가 저장되면 언제든지 사용자의 알림 기록을 검색하고 표시할 수 있습니다.`})]}),_jsxs(Tab,{title:`옵션 2`,id:`%EC%98%B5%EC%85%98-2`,\"data-child-heading-ids\":`[\"onesignal-event-streams%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%ED%99%9C%EB%8F%99-%ED%94%BC%EB%93%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0\",\"%EC%9E%91%EB%8F%99-%EB%B0%A9%EC%8B%9D\",\"event-streams%EB%A1%9C-%ED%99%9C%EB%8F%99-%ED%94%BC%EB%93%9C%EB%A5%BC-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%8B%A8%EA%B3%84\",\"%EC%82%AC%EC%9A%A9-%EC%82%AC%EB%A1%80-%EC%98%88%EC%8B%9C\",\"%EC%9D%B4%EC%A0%90\"]`,children:[_jsx(Heading,{level:`2`,id:`onesignal-event-streams를-사용하여-활동-피드-만들기`,children:`OneSignal Event Streams를 사용하여 활동 피드 만들기`}),_jsxs(_components.p,{children:[`OneSignal의 `,_jsx(_components.a,{href:`/docs/ko/event-streams`,children:`Event Streams`}),` 기능은 앱에서 백엔드 시스템이나 데이터 웨어하우스로 실시간 이벤트를 스트리밍하는 확장 가능한 방법을 제공합니다. 이를 통해 팔로우, 댓글, 구매 또는 알림 이벤트와 같은 인앱 사용자 행동을 반영하는 피드를 앱 내에서 수동으로 업데이트하지 않고도 구축할 수 있습니다.`]}),_jsx(Heading,{level:`3`,id:`작동-방식`,children:`작동 방식`}),_jsx(_components.p,{children:`Event Streams는 다음을 포함한 라이브 이벤트 데이터를 내보냅니다:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`알림 전달`}),`\n`,_jsx(_components.li,{children:`이메일/SMS 열기 및 클릭`}),`\n`,_jsx(_components.li,{children:`사용자 트리거 작업`}),`\n`]}),_jsx(_components.p,{children:`대상에는 다음이 포함됩니다:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Webhooks(HTTP 엔드포인트)`}),`\n`,_jsx(_components.li,{children:`Amazon Kinesis`}),`\n`,_jsx(_components.li,{children:`Amazon S3`}),`\n`,_jsx(_components.li,{children:`Google Cloud Storage`}),`\n`,_jsx(_components.li,{children:`BigQuery`}),`\n`,_jsx(_components.li,{children:`기타`}),`\n`]}),_jsx(_components.p,{children:`시스템은 이러한 이벤트가 발생할 때 수신하고 이를 사용하여 피드 UI 또는 분석 파이프라인을 업데이트할 수 있습니다.`}),_jsx(Heading,{level:`2`,id:`event-streams로-활동-피드를-설정하는-단계`,children:`Event Streams로 활동 피드를 설정하는 단계`}),_jsxs(Steps,{children:[_jsx(Step,{title:`Event Streams 활성화`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`OneSignal 대시보드`}),` > `,_jsx(_components.strong,{children:`Settings`}),` > `,_jsx(_components.strong,{children:`Event Streams`}),`로 이동하세요.`]}),`\n`,_jsx(_components.li,{children:`Webhook 또는 데이터 파이프라인(예: Amazon Kinesis)과 같은 대상을 선택하세요.`}),`\n`,_jsxs(_components.li,{children:[`스트리밍하려는 이벤트를 선택하세요(예: `,_jsx(_components.code,{children:`message.sent`}),`, `,_jsx(_components.code,{children:`message.delivered`}),`, `,_jsx(_components.code,{children:`message.clicked`}),`).`]}),`\n`]})}),_jsx(Step,{title:`이벤트 데이터를 처리하도록 백엔드 구성`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`이벤트 데이터를 수집하는 webhook 또는 컨슈머를 만드세요.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`이벤트 페이로드를 파싱하여 다음과 같은 관련 필드를 추출하세요:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`external_id`}),`(사용자 ID)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`event`}),` 유형(`,_jsx(_components.code,{children:`message.delivered`}),` 등)`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`timestamp`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`contents`}),`(알림 메시지)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`additional_data`}),`(사용자 지정 메타데이터)`]}),`\n`]}),`\n`]}),`\n`]})}),_jsxs(Step,{title:`활동 피드 항목 저장 및 구조화`,children:[_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`이러한 이벤트를 쿼리 및 렌더링에 적합한 형식으로 데이터베이스에 저장하세요.`}),`\n`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"f3c9cd09-10d7-4f59-b9bc-66e16607f1d5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"the-name-you-set\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Claim 50% Off Today\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// email subject example`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{'en':'the message title/headings'}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// push title example`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{'en':'the message content'}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.template_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"the-template-uuid-if-set\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"the-message-url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.app_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"the-message-app-url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message.web_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"the-message-web-url\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsx(Step,{title:`앱에서 피드 렌더링`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`로그인한 사용자에 대한 최근 이벤트를 쿼리하고 표시하는 프론트엔드 컴포넌트(예: React, SwiftUI 또는 Android View)를 구축하세요.`}),`\n`,_jsx(_components.li,{children:`선택적으로 이벤트 유형별 필터 또는 그룹화를 포함하세요.`}),`\n`]})}),_jsx(Step,{title:`추가 메타데이터로 향상`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`알림을 보낼 때 피드 컨텍스트를 제공하기 위해 `,_jsx(_components.code,{children:`additional_data`}),`를 포함하세요. 예를 들어:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"action\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"commented\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"post_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"xyz123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`이를 통해 “Jane님이 게시물에 댓글을 달았습니다.”와 같은 풍부한 피드 항목을 만들 수 있습니다.`}),`\n`]}),`\n`]})})]}),_jsx(Heading,{level:`3`,id:`사용-사례-예시`,children:`사용 사례 예시`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`전자상거래`}),`: 주문 확인, 배송 업데이트 및 프로모션을 표시합니다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`소셜 앱`}),`: 좋아요, 댓글, 팔로우를 표시합니다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SaaS 플랫폼`}),`: 작업 할당, 멘션 또는 활동 로그를 추적합니다.`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`이점`,children:`이점`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`이벤트 스트리밍을 통한 실시간 업데이트`}),`\n`,_jsx(_components.li,{children:`완전히 사용자 지정 가능한 로직 및 디스플레이`}),`\n`,_jsx(_components.li,{children:`확장 가능한 백엔드 기반 아키텍처`}),`\n`]})]})]}),`\n`,_jsx(_components.hr,{})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"활동 피드 만들기","description":"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.","keywords":["활동 피드","알림 기록","푸시 알림","OneSignal","Event Streams","사용자 참여","모바일 알림","실시간 알림","REST API","iOS 푸시","Android 푸시"],"href":"/docs/ko/create-an-activity-feed"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"활동 피드란 무엇인가요?","slug":"활동-피드란-무엇인가요","depth":2,"children":[]},{"title":"서버에 저장","slug":"서버에-저장","depth":2,"children":[],"tabId":"%EC%98%B5%EC%85%98-1"},{"title":"OneSignal Event Streams를 사용하여 활동 피드 만들기","slug":"onesignal-event-streams를-사용하여-활동-피드-만들기","depth":2,"children":[{"title":"작동 방식","slug":"작동-방식","depth":3,"children":[],"tabId":"%EC%98%B5%EC%85%98-2"}],"tabId":"%EC%98%B5%EC%85%98-2"},{"title":"Event Streams로 활동 피드를 설정하는 단계","slug":"event-streams로-활동-피드를-설정하는-단계","depth":2,"children":[{"title":"사용 사례 예시","slug":"사용-사례-예시","depth":3,"children":[],"tabId":"%EC%98%B5%EC%85%98-2"},{"title":"이점","slug":"이점","depth":3,"children":[],"tabId":"%EC%98%B5%EC%85%98-2"}],"tabId":"%EC%98%B5%EC%85%98-2"}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/onesignal/e069c1b9f3157e14/hotjar-koala.js","/_mintlify/custom/onesignal/3e5d03885ab32f49/intercom.js","/_mintlify/custom/onesignal/dbb7af4794d1b586/munchkin-marketo.js"],"subdomain":"onesignal","siteName":"OneSignal Documentation","title":"활동 피드 만들기 - OneSignal Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/en/create-an-activity-feed","matchLevel":1},"cn":{"href":"/docs/cn/create-an-activity-feed","matchLevel":1},"ko":{"href":"/docs/ko/create-an-activity-feed","matchLevel":0},"ja":{"href":"/docs/ja/create-an-activity-feed","matchLevel":1},"tr":{"href":"/docs/tr/create-an-activity-feed","matchLevel":1},"pt-BR":{"href":"/docs/pt-BR/create-an-activity-feed","matchLevel":1},"es":{"href":"/docs/es/create-an-activity-feed","matchLevel":1},"fr":{"href":"/docs/fr/create-an-activity-feed","matchLevel":1}}},"lastModified":"2026-01-28T10:02:04.134Z","originalFileLocation":"docs/ko/create-an-activity-feed.mdx","locale":"ko"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"활동 피드 만들기 - OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%93%88+%EC%B0%B8%EC%97%AC%EB%8F%84+%26+%EC%9C%A0%EC%A7%80%EB%8F%84+%EC%A6%9D%EA%B0%80\u0026amp;title=%ED%99%9C%EB%8F%99+%ED%94%BC%EB%93%9C+%EB%A7%8C%EB%93%A4%EA%B8%B0\u0026amp;description=OneSignal%EC%9D%98+REST+API%2C+Event+Streams+%EB%98%90%EB%8A%94+%EA%B8%B0%EA%B8%B0+%EB%82%B4+%EB%A1%9C%EC%A7%81%EC%9D%84+%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC+%EC%82%AC%EC%9A%A9%EC%9E%90+%EC%95%8C%EB%A6%BC+%EA%B8%B0%EB%A1%9D%EC%9D%84+%EC%B6%94%EC%A0%81%ED%95%98%EA%B3%A0+%ED%91%9C%EC%8B%9C%ED%95%98%EB%8A%94+%EC%9D%B8%EC%95%B1+%ED%99%9C%EB%8F%99+%ED%94%BC%EB%93%9C%EB%A5%BC+%EA%B5%AC%EC%B6%95%ED%95%98%EB%8A%94+%EB%B0%A9%EB%B2%95%EC%9D%84+%EC%95%8C%EC%95%84%EB%B3%B4%EC%84%B8%EC%9A%94.\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=3f850fb8c49b4f359cdc1f9a6ea0d4472c2a4649efa98fbcbc4b20ea4fd609e3\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"활동 피드 만들기 - OneSignal Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%93%88+%EC%B0%B8%EC%97%AC%EB%8F%84+%26+%EC%9C%A0%EC%A7%80%EB%8F%84+%EC%A6%9D%EA%B0%80\u0026amp;title=%ED%99%9C%EB%8F%99+%ED%94%BC%EB%93%9C+%EB%A7%8C%EB%93%A4%EA%B8%B0\u0026amp;description=OneSignal%EC%9D%98+REST+API%2C+Event+Streams+%EB%98%90%EB%8A%94+%EA%B8%B0%EA%B8%B0+%EB%82%B4+%EB%A1%9C%EC%A7%81%EC%9D%84+%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC+%EC%82%AC%EC%9A%A9%EC%9E%90+%EC%95%8C%EB%A6%BC+%EA%B8%B0%EB%A1%9D%EC%9D%84+%EC%B6%94%EC%A0%81%ED%95%98%EA%B3%A0+%ED%91%9C%EC%8B%9C%ED%95%98%EB%8A%94+%EC%9D%B8%EC%95%B1+%ED%99%9C%EB%8F%99+%ED%94%BC%EB%93%9C%EB%A5%BC+%EA%B5%AC%EC%B6%95%ED%95%98%EB%8A%94+%EB%B0%A9%EB%B2%95%EC%9D%84+%EC%95%8C%EC%95%84%EB%B3%B4%EC%84%B8%EC%9A%94.\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=3f850fb8c49b4f359cdc1f9a6ea0d4472c2a4649efa98fbcbc4b20ea4fd609e3\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneSignal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A3DB3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/ko/create-an-activity-feed.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://documentation.onesignal.com/docs/en/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://documentation.onesignal.com/docs/cn/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://documentation.onesignal.com/docs/ja/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://documentation.onesignal.com/docs/tr/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://documentation.onesignal.com/docs/pt-BR/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://documentation.onesignal.com/docs/es/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://documentation.onesignal.com/docs/fr/create-an-activity-feed\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://documentation.onesignal.com/docs/en/create-an-activity-feed\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://documentation.onesignal.com/#organization\",\"name\":\"OneSignal Documentation\",\"url\":\"https://documentation.onesignal.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107\"}},{\"@type\":\"WebSite\",\"@id\":\"https://documentation.onesignal.com#website\",\"name\":\"OneSignal Documentation\",\"url\":\"https://documentation.onesignal.com\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed#webpage\",\"url\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed\",\"name\":\"활동 피드 만들기\",\"description\":\"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.\",\"dateModified\":\"2026-01-28T10:02:04.134Z\",\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"📈 참여도 \u0026 유지도 증가\",\"item\":\"https://documentation.onesignal.com/docs/ko/abandoned-cart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"활동 피드 만들기\",\"item\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed#article\",\"headline\":\"활동 피드 만들기\",\"name\":\"활동 피드 만들기\",\"description\":\"OneSignal의 REST API, Event Streams 또는 기기 내 로직을 사용하여 사용자 알림 기록을 추적하고 표시하는 인앱 활동 피드를 구축하는 방법을 알아보세요.\",\"url\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.onesignal.com/docs/ko/create-an-activity-feed#webpage\"},\"dateModified\":\"2026-01-28T10:02:04.134Z\",\"keywords\":\"활동 피드, 알림 기록, 푸시 알림, OneSignal, Event Streams, 사용자 참여, 모바일 알림, 실시간 알림, REST API, iOS 푸시, Android 푸시\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"},\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneSignal Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OneSignal Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/docs/en/create-an-activity-feed"}]},{"language":"cn","pages":[{"title":"cn","href":"/docs/cn/create-an-activity-feed"}]},{"language":"ko","tabs":[{"tab":"홈","pages":[{"title":"홈","href":"/docs/ko/home"}]},{"tab":"사용자 가이드","pages":[{"title":"사용자 가이드","href":"/docs/ko/quickstart-guide"}]},{"tab":"개발자 가이드","pages":[{"title":"개발자 가이드","href":"/docs/ko/developers"}]},{"tab":"튜토리얼","groups":[{"group":"튜토리얼","pages":[{"title":"튜토리얼 및 사용 사례","href":"/docs/ko/tutorials"}]},{"group":"🏢 산업별","pages":[{"title":"게임 전략","href":"/docs/ko/gaming-industry"},{"title":"금융 및 핀테크 전략","href":"/docs/ko/financial-fintech-industry"},{"title":"뉴스 및 미디어 전략","href":"/docs/ko/news-and-media-industry"}]},{"group":"📈 참여도 \u0026 유지도 증가","pages":[{"title":"장바구니 이탈 튜토리얼","description":"OneSignal을 사용하여 장바구니 이탈 알림으로 잃어버린 매출을 회복하세요. 장바구니 활동을 추적하고, 올바른 세그먼트를 구축하며, Journeys로 적시에 리마인더를 보내는 방법을 알아보세요.","href":"/docs/ko/abandoned-cart"},{"title":"활동 피드 만들기","href":"/docs/ko/create-an-activity-feed"},{"title":"예약 확인","description":"커스텀 이벤트, Journeys, Data Feeds를 사용해 실시간 예약 상태에 따라 예약 확인 이메일이나 복구 이메일을 자동 전송하는 튜토리얼입니다. 예약 시작·완료 이벤트 설정, 방치된 예약 리마인더 분기, 쿠폰 Data Feed를 다룹니다.","href":"/docs/ko/booking-confirmations"},{"title":"버튼 기반 온보딩 캐러셀 구축하기","href":"/docs/ko/in-app-onboarding-carousel-tutorial"},{"title":"소셜 활동","href":"/docs/ko/social-activity"},{"title":"오래된 앱 버전을 타겟팅하여 앱 업데이트 권장","sidebarTitle":"앱 버전 업데이트 프롬프트","href":"/docs/ko/app-version-update"},{"title":"앱 스토어 리뷰 더 많이 받기","href":"/docs/ko/example-app-store-review"},{"title":"배너 인앱 메시지로 사용자 온보딩","href":"/docs/ko/example-create-a-tutorial"}]},{"group":"🔔 중요 또는 시간 민감한 메시지 전달","pages":[{"title":"트랜잭션 메시지","href":"/docs/ko/transactional-messages"},{"title":"대체 메시지: 푸시를 사용할 수 없을 때 Email 또는 SMS","href":"/docs/ko/push-fallback-method"},{"title":"위치 기반 메시지","href":"/docs/ko/location-triggered-event"}]},{"group":"🧠 타겟팅 \u0026 개인화 강화","pages":[{"title":"더 스마트한 타겟팅을 위한 주제 관심사 추적","href":"/docs/ko/auto-segment-users-by-page-visit"},{"title":"인앱 메시지로 위치 권한 요청","href":"/docs/ko/location-opt-in-prompt"},{"title":"피드백을 요청하는 설문조사 만들기","href":"/docs/ko/example-create-a-survey"},{"title":"특정 Android 제조업체 및 기기 타겟팅","href":"/docs/ko/example-target-certain-android-manufacturers-and-devices"}]},{"group":"🛠️ 사용자 경험 \u0026 온보딩 개선","pages":[{"title":"이메일에 대한 확인된 옵트인 설정","href":"/docs/ko/double-opt-in-email"},{"title":"기본 설정 센터","href":"/docs/ko/preference-center"},{"title":"인증, 매직 링크, OTP 및 이중 옵트인 메시지 보내기","href":"/docs/ko/example-verification-magic-link-otp"},{"title":"iOS: 이미지 캐러셀 푸시 알림","href":"/docs/ko/ios-image-carousel-push-notifications"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/rest-api-overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/changelog"}]}],"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://onesignal.com/blog"},{"anchor":"GitHub","icon":"github","href":"https://github.com/OneSignal"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@onesignalofficial/playlists"}]}},{"language":"ja","pages":[{"title":"ja","href":"/docs/ja/create-an-activity-feed"}]},{"language":"tr","pages":[{"title":"tr","href":"/docs/tr/create-an-activity-feed"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/docs/pt-BR/create-an-activity-feed"}]},{"language":"es","pages":[{"title":"es","href":"/docs/es/create-an-activity-feed"}]},{"language":"fr","pages":[{"title":"fr","href":"/docs/fr/create-an-activity-feed"}]}]},"basePath":"","title":"활동 피드 만들기 - OneSignal Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}