안녕하세요, 여러분! 이번 블로그 글에서는 유튜브의 2024년 7월 알고리즘 업데이트와 유튜브 쇼츠의 최신 정보에 대해 알아보겠습니다. 이 두 가지 주제는 유튜브 크리에이터라면 반드시 알아야 할 중요한 내용입니다. 그럼 시작해볼까요?

1. 2024년 7월 유튜브 알고리즘 업데이트

세션 시간 최적화

유튜브 알고리즘은 이제 세션 시간을 최적화하는 것을 중요하게 생각합니다. 단순히 하나의 영상만 시청하는 것이 아니라, 시청자가 연속적으로 두세 개의 영상을 시청하도록 유도해야 합니다. 이를 위해 엔드 스크린(End Screen)을 활용하여 관련 영상을 추천하는 것이 효과적입니다. 예를 들어, 한 영상이 끝날 때 다음 영상을 추천하면서 구체적인 이유를 설명하면 시청자가 자연스럽게 다음 영상을 시청하게 됩니다.

유튜브 최적화

시청 지속 시간 (Average View Duration)

각 영상의 길이에 따라 최적의 시청 지속 시간이 다릅니다. 예를 들어, 10분짜리 영상이라면 평균 시청 시간이 44% 이상이어야 합니다. 시청 지속 시간이 낮다면 알고리즘이 해당 영상을 추천하지 않을 가능성이 큽니다.

클릭률 (Click-Through Rate, CTR)

CTR 역시 중요한 지표입니다. 10% 이상의 CTR을 목표로 하되, 시간이 지남에 따라 CTR이 낮아지는 것이 이상적입니다. 이는 더 많은 시청자에게 도달했다는 것을 의미합니다.

Youseed 도구 활용

유튜브 성장에 도움이 되는 도구로 VidIQ를 추천합니다. VidIQ는 콘텐츠 아이디어를 제공하고, 어떤 키워드와 제목이 효과적인지 분석해줍니다. 이를 통해 효율적으로 콘텐츠를 기획할 수 있습니다.

 

https://play.google.com/store/apps/details?id=com.danswer.youtubeseed

 

YouSeed: 인급동만 모아서 - Google Play 앱

바로 보는 실시간 트렌드 영상

play.google.com

 

2. 유튜브 쇼츠 알고리즘의 이해

쇼츠와 롱폼 콘텐츠의 알고리즘 차이

유튜브 쇼츠는 롱폼 콘텐츠와 다른 알고리즘을 따릅니다. 쇼츠는 주로 스와이프 동작을 통해 시청되므로, 시작 부분이 매우 중요합니다. 반면 롱폼 콘텐츠는 클릭률이 더 중요한 요소입니다.

유효 조회수

쇼츠의 유효 조회수는 시청자가 영상을 선택하고 몇 초 이상 시청한 경우에만 카운트됩니다. 이는 단순히 피드에 노출되는 것만으로는 조회수가 증가하지 않음을 의미합니다.

적절한 길이와 썸네일

쇼츠의 길이는 콘텐츠에 맞게 조정하는 것이 좋습니다. 일반적으로 시청자가 이탈하지 않는 길이로 만드는 것이 중요합니다. 또한 쇼츠의 썸네일은 필수는 아니지만, 유튜브 홈피드에서 더 많이 노출되기 위해 썸네일을 설정하는 것이 좋습니다.

해시태그 활용

유튜브 쇼츠에서는 해시태그가 필수는 아니지만, 관련 콘텐츠를 분류하고 트렌드를 반영하는 데 유용합니다. 너무 많은 해시태그는 피하고, 적절히 사용하여 시청자와의 연결을 강화하는 것이 좋습니다.

업로드 시간과 빈도

쇼츠의 업로드 시간은 큰 영향을 미치지 않지만, 특정 이슈에 빠르게 대응하는 것이 중요합니다. 하루에 많은 영상을 업로드한다고 해서 무조건 노출이 증가하는 것은 아니며, 품질이 낮은 영상은 오히려 채널에 부정적인 영향을 미칠 수 있습니다.

3. 유튜브 성장 전략

콘텐츠 아이디어와 시청자 분석

유튜브 성장의 핵심은 타겟 시장을 명확히 이해하고, 이에 맞는 콘텐츠를 제작하는 것입니다. VidIQ와 같은 도구를 활용하여 인기 있는 주제와 키워드를 파악하고, 그에 맞는 영상을 제작하면 더 많은 시청자를 끌어들일 수 있습니다.

꾸준한 업로드와 개선

유튜브에서 성공하려면 꾸준히 영상을 업로드하고, 매번 개선점을 찾는 것이 중요합니다. 매 영상마다 어떻게 하면 더 나은 콘텐츠를 만들 수 있을지 고민하고, 이를 다음 영상에 반영하는 노력이 필요합니다.

포기하지 않기

유튜브 성장의 가장 큰 걸림돌은 중도에 포기하는 것입니다. 꾸준히 영상을 제작하고, 시청자와의 소통을 강화하면 반드시 성과를 얻을 수 있습니다.

 

4. 유튜브 쇼츠의 미래

새로운 기능과 인공지능 도구

유튜브는 쇼츠 크리에이터를 위한 다양한 제작 도구를 개발 중입니다. 인공지능을 활용한 편집 도구와 분석 도구가 크리에이터가 더 편하게 콘텐츠를 제작할 수 있도록 도와줄 것입니다.

쇼츠와 롱폼의 상호 보완

유튜브 쇼츠는 롱폼 콘텐츠와 함께 활용될 때 더 큰 효과를 발휘할 수 있습니다. 쇼츠를 통해 시청자를 끌어들인 후, 롱폼 콘텐츠로 더 깊이 있는 정보를 제공하는 전략이 유효합니다.

지속적인 성장과 발전

쇼츠는 아직도 발전 중인 플랫폼입니다. 유튜브는 계속해서 알고리즘과 기능을 개선하고 있으므로, 최신 정보를 빠르게 습득하고 적용하는 것이 중요합니다.

이상으로 유튜브 알고리즘 업데이트와 유튜브 쇼츠에 대한 정보를 알아보았습니다. 여러분의 유튜브 채널 운영에 도움이 되었기를 바랍니다. 더 궁금한 점이 있다면 댓글로 남겨주세요! 감사합니다.

< Danswer >('https://danswer-company.tistory.com/'이하 '디앤서컴퍼니')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다.

제1조(개인정보의 처리목적)

< Danswer >(이)가 개인정보 보호법 제32조에 따라 등록․공개하는 개인정보파일의 처리목적은 다음과 같습니다.

  • 1. 개인정보 파일명 : Mysignal 개인정보처리방침
  • 개인정보의 처리목적 : 시스템 운영
  • 수집방법 : 생성정보 수집 툴을 통한 수집
  • 보유근거 : 법률 제16조 제2항
  • 보유기간 : 3년
  • 관련법령 : 표시/광고에 관한 기록 : 6개월, 계약 또는 청약철회 등에 관한 기록 : 5년



제2조(개인정보 영향평가 수행결과)





제3조(개인정보의 제3자 제공에 관한 사항)

 < Danswer >은(는) 개인정보를 제1조(개인정보의 처리 목적)에서 명시한 범위 내에서만 처리하며, 정보주체의 동의, 법률의 특별한 규정 등 「개인정보 보호법」 제17조 및 제18조에 해당하는 경우에만 개인정보를 제3자에게 제공합니다.

② < Danswer >은(는) 다음과 같이 개인정보를 제3자에게 제공하고 있습니다.

  • 1. < Google LLC >
  • 개인정보를 제공받는 자 : Google LLC
  • 제공받는 자의 개인정보 이용목적 : 이름, 생년월일, 성별, 로그인ID, 자택주소, 휴대전화번호, 이메일
  • 제공받는 자의 보유.이용기간: 5년



제4조(개인정보처리의 위탁에 관한 사항)

① < Danswer >은(는) 원활한 개인정보 업무처리를 위하여 다음과 같이 개인정보 처리업무를 위탁하고 있습니다.

  • 1. < 서비스 품질 개선을 위한 어플리케이션 분석 서비스(“Firebase/ Google Analytics”) 도구 운용 >
  • 위탁받는 자 (수탁자) : Google LLC
  • 위탁하는 업무의 내용 : 구매 및 요금 결제, 신규 서비스(제품) 개발 및 맞춤 서비스 제공
  • 위탁기간 : 5년

② < Danswer >은(는) 위탁계약 체결시 「개인정보 보호법」 제26조에 따라 위탁업무 수행목적 외 개인정보 처리금지, 기술적․관리적 보호조치, 재위탁 제한, 수탁자에 대한 관리․감독, 손해배상 등 책임에 관한 사항을 계약서 등 문서에 명시하고, 수탁자가 개인정보를 안전하게 처리하는지를 감독하고 있습니다.

③ 위탁업무의 내용이나 수탁자가 변경될 경우에는 지체없이 본 개인정보 처리방침을 통하여 공개하도록 하겠습니다.



제5조(개인정보의 파기절차 및 파기방법)


① < Danswer > 은(는) 개인정보 보유기간의 경과, 처리목적 달성 등 개인정보가 불필요하게 되었을 때에는 지체없이 해당 개인정보를 파기합니다.

② 정보주체로부터 동의받은 개인정보 보유기간이 경과하거나 처리목적이 달성되었음에도 불구하고 다른 법령에 따라 개인정보를 계속 보존하여야 하는 경우에는, 해당 개인정보를 별도의 데이터베이스(DB)로 옮기거나 보관장소를 달리하여 보존합니다.
1. 법령 근거 :
2. 보존하는 개인정보 항목 : 계좌정보, 거래날짜

③ 개인정보 파기의 절차 및 방법은 다음과 같습니다.
1. 파기절차
< Danswer > 은(는) 파기 사유가 발생한 개인정보를 선정하고, < Danswer > 의 개인정보 보호책임자의 승인을 받아 개인정보를 파기합니다.

2. 파기방법

종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기합니다.

전자적 파일 형태의 정보는 기록을 재생할 수 없는 기술적 방법을 사용합니다



제6조(정보주체와 법정대리인의 권리·의무 및 그 행사방법에 관한 사항)



① 정보주체는 Danswer에 대해 언제든지 개인정보 열람·정정·삭제·처리정지 요구 등의 권리를 행사할 수 있습니다.

② 제1항에 따른 권리 행사는Danswer에 대해 「개인정보 보호법」 시행령 제41조제1항에 따라 서면, 전자우편, 모사전송(FAX) 등을 통하여 하실 수 있으며 Danswer은(는) 이에 대해 지체 없이 조치하겠습니다.

③ 제1항에 따른 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등 대리인을 통하여 하실 수 있습니다.이 경우 “개인정보 처리 방법에 관한 고시(제2020-7호)” 별지 제11호 서식에 따른 위임장을 제출하셔야 합니다.

④ 개인정보 열람 및 처리정지 요구는 「개인정보 보호법」 제35조 제4항, 제37조 제2항에 의하여 정보주체의 권리가 제한 될 수 있습니다.

⑤ 개인정보의 정정 및 삭제 요구는 다른 법령에서 그 개인정보가 수집 대상으로 명시되어 있는 경우에는 그 삭제를 요구할 수 없습니다.

⑥ Danswer은(는) 정보주체 권리에 따른 열람의 요구, 정정·삭제의 요구, 처리정지의 요구 시 열람 등 요구를 한 자가 본인이거나 정당한 대리인인지를 확인합니다.



제7조(개인정보의 안전성 확보조치에 관한 사항)

< Danswer >은(는) 개인정보의 안전성 확보를 위해 다음과 같은 조치를 취하고 있습니다.

1. 내부관리계획의 수립 및 시행
개인정보의 안전한 처리를 위하여 내부관리계획을 수립하고 시행하고 있습니다.

2. 개인정보 취급 직원의 최소화 및 교육
개인정보를 취급하는 직원을 지정하고 담당자에 한정시켜 최소화 하여 개인정보를 관리하는 대책을 시행하고 있습니다.

3. 정기적인 자체 감사 실시
개인정보 취급 관련 안정성 확보를 위해 정기적(분기 1회)으로 자체 감사를 실시하고 있습니다.

4. 개인정보에 대한 접근 제한
개인정보를 처리하는 데이터베이스시스템에 대한 접근권한의 부여,변경,말소를 통하여 개인정보에 대한 접근통제를 위하여 필요한 조치를 하고 있으며 침입차단시스템을 이용하여 외부로부터의 무단 접근을 통제하고 있습니다.

5. 접속기록의 보관 및 위변조 방지
개인정보처리시스템에 접속한 기록을 최소 1년 이상 보관, 관리하고 있으며,다만, 5만명 이상의 정보주체에 관하여 개인정보를 추가하거나, 고유식별정보 또는 민감정보를 처리하는 경우에는 2년이상 보관, 관리하고 있습니다.
또한, 접속기록이 위변조 및 도난, 분실되지 않도록 보안기능을 사용하고 있습니다.

6. 비인가자에 대한 출입 통제
개인정보를 보관하고 있는 물리적 보관 장소를 별도로 두고 이에 대해 출입통제 절차를 수립, 운영하고 있습니다.



제8조(개인정보를 자동으로 수집하는 장치의 설치·운영 및 그 거부에 관한 사항)



① Danswer 은(는) 이용자에게 개별적인 맞춤서비스를 제공하기 위해 이용정보를 저장하고 수시로 불러오는 ‘쿠키(cookie)’를 사용합니다.
② 쿠키는 웹사이트를 운영하는데 이용되는 서버(http)가 이용자의 컴퓨터 브라우저에게 보내는 소량의 정보이며 이용자들의 PC 컴퓨터내의 하드디스크에 저장되기도 합니다.
가. 쿠키의 사용 목적 : 이용자가 방문한 각 서비스와 웹 사이트들에 대한 방문 및 이용형태, 인기 검색어, 보안접속 여부, 등을 파악하여 이용자에게 최적화된 정보 제공을 위해 사용됩니다.
나. 쿠키의 설치•운영 및 거부 : 웹브라우저 상단의 도구>인터넷 옵션>개인정보 메뉴의 옵션 설정을 통해 쿠키 저장을 거부 할 수 있습니다.
다. 쿠키 저장을 거부할 경우 맞춤형 서비스 이용에 어려움이 발생할 수 있습니다.

제9조(가명정보를 처리하는 경우 가명정보 처리에 관한 사항)

< Danswer > 은(는) 다음과 같은 목적으로 가명정보를 처리하고 있습니다.

▶ 가명정보의 처리 목적

- 직접작성 가능합니다.

▶ 가명정보의 처리 및 보유기간

- 직접작성 가능합니다.

▶ 가명정보의 제3자 제공에 관한 사항(해당되는 경우에만 작성)

- 직접작성 가능합니다.

▶ 가명정보 처리의 위탁에 관한 사항(해당되는 경우에만 작성)

- 직접작성 가능합니다.

▶ 가명처리하는 개인정보의 항목

- 직접작성 가능합니다.

▶ 법 제28조의4(가명정보에 대한 안전조치 의무 등)에 따른 가명정보의 안전성 확보조치에 관한 사항

- 직접작성 가능합니다.

제10조 (개인정보 보호책임자에 관한 사항)

① Danswer 은(는) 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다.

  • ▶ 개인정보 보호책임자
  • 성명 :황주영
  • 직책 :대표
  • 직급 :CEO
  • 연락처 :01026539689, danswer.company@gmail.com,

※ 개인정보 보호 담당부서로 연결됩니다.

  • ▶ 개인정보 보호 담당부서
  • 부서명 :
  • 담당자 :
  • 연락처 :, ,

② 정보주체께서는 Danswer 의 서비스(또는 사업)을 이용하시면서 발생한 모든 개인정보 보호 관련 문의, 불만처리, 피해구제 등에 관한 사항을 개인정보 보호책임자 및 담당부서로 문의하실 수 있습니다. Danswer 은(는) 정보주체의 문의에 대해 지체 없이 답변 및 처리해드릴 것입니다.

제11조(개인정보의 열람청구를 접수·처리하는 부서)
정보주체는 「개인정보 보호법」 제35조에 따른 개인정보의 열람 청구를 아래의 부서에 할 수 있습니다.
< Danswer >은(는) 정보주체의 개인정보 열람청구가 신속하게 처리되도록 노력하겠습니다.

  • ▶ 개인정보 열람청구 접수·처리 부서
  • 부서명 :
  • 담당자 :
  • 연락처 : , ,



제12조(정보주체의 권익침해에 대한 구제방법)



정보주체는 개인정보침해로 인한 구제를 받기 위하여 개인정보분쟁조정위원회, 한국인터넷진흥원 개인정보침해신고센터 등에 분쟁해결이나 상담 등을 신청할 수 있습니다. 이 밖에 기타 개인정보침해의 신고, 상담에 대하여는 아래의 기관에 문의하시기 바랍니다.

 

1. 개인정보분쟁조정위원회 : (국번없이) 1833-6972 (www.kopico.go.kr)

2. 개인정보침해신고센터 : (국번없이) 118 (privacy.kisa.or.kr)

3. 대검찰청 : (국번없이) 1301 (www.spo.go.kr)

4. 경찰청 : (국번없이) 182 (ecrm.cyber.go.kr)

 

「개인정보보호법」제35조(개인정보의 열람), 제36조(개인정보의 정정·삭제), 제37조(개인정보의 처리정지 등)의 규정에 의한 요구에 대 하여 공공기관의 장이 행한 처분 또는 부작위로 인하여 권리 또는 이익의 침해를 받은 자는 행정심판법이 정하는 바에 따라 행정심판을 청구할 수 있습니다.

 

※ 행정심판에 대해 자세한 사항은 중앙행정심판위원회(www.simpan.go.kr) 홈페이지를 참고하시기 바랍니다.

 

제13조(영상정보처리기기 운영·관리에 관한 사항)
① < Danswer >은(는) 아래와 같이 영상정보처리기기를 설치·운영하고 있습니다.

1.영상정보처리기기 설치근거·목적 : < Danswer >의

  • 2.설치 대수, 설치 위치, 촬영 범위 :
  • 설치대수 : 대
  • 설치위치 :
  • 촬영범위 :

3.관리책임자, 담당부서 및 영상정보에 대한 접근권한자 :

  • 4.영상정보 촬영시간, 보관기간, 보관장소, 처리방법
  • 촬영시간 : 시간
  • 보관기간 : 촬영시부터
  • 보관장소 및 처리방법 :

5.영상정보 확인 방법 및 장소 :

6.정보주체의 영상정보 열람등요구에 대한 조치 : 개인영상정보 열람.존재확인 청구서로 신청하여야 하며, 정보주체 자신이 촬영된 경우 또는 명백히 정보주체의 생명.신체.재산 이익을 위해 필요한 경우에 한해 열람을 허용함

7.영상정보처리기기 설치근거·목적 :



제14조(개인정보 처리방침 변경)

 

① 이 개인정보처리방침은 2023년 8월 17부터 적용됩니다.

② 이전의 개인정보 처리방침은 아래에서 확인하실 수 있습니다.

예시 ) - 20XX. X. X ~ 20XX. X. X 적용 (클릭)

예시 ) - 20XX. X. X ~ 20XX. X. X 적용 (클릭)

예시 ) - 20XX. X. X ~ 20XX. X. X 적용 (클릭)

this article is for windows 10.

 

find the path flutter installed

 

 

go to this path and type 'flutter upgrade <version>

 

 

then, 'git clone <respository>' and 'flutter pub get'

 

you can find the required version of the project in './dart_tool' folder.

 

 

 

난이도 별로 정리했으니, 위에서 부터 차근히 보시는게 좋습니다~

 

코딩셰프

https://www.youtube.com/@codingchef

내용이 쉬우나 코드 버젼들이 올드합니다. 그래도 기본적인 내용을 아주 쉽게 설명해줌.

 

오준석 생존 코딩

https://www.youtube.com/@123survivalcoding/videos

카카오 로그인등 구현할 때 참고 했습니다.

 

코딩파파

https://www.youtube.com/@TheCodingPapa

코딩+트렌드 정리를 꾸준히 해주고 계신거 같아요.

 

개발하는 남자

https://www.youtube.com/@dev_man

내용정리가 잘 안되어 있지만, 중급/고급적인 부분의 내용들이 있음.

필요한 내용 찾을 때 먼저 찾는곳

 

TOTALLY 개발자

https://www.youtube.com/@totally-vy3xb

내용정리가 잘 안되어 있지만, 중급/고급적인 부분의 내용들이 있음.

필요한 내용 찾을 때 먼저 찾는곳

 

 

유저 친화적 UI 와 수익 극대화를 위해 native ads 사용은 필수
코틀린으로 광고인스턴스를 불러온 후 xml 을 통해 화면에 보여주는 방식

해당 코드는 Google 이 제공하는 Cookbook 에서 발췌한 코드입니다.

 


MainActivity.kt

package com.danswer.youtubeseed

import android.view.LayoutInflater
import android.view.View
import android.widget.Button
import android.widget.ImageView
import android.widget.RatingBar
import android.widget.TextView
import com.google.android.gms.ads.nativead.NativeAd
import com.google.android.gms.ads.nativead.NativeAdView
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin
import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory


class MainActivity: FlutterActivity() {
  override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
    flutterEngine.plugins.add(GoogleMobileAdsPlugin())
    super.configureFlutterEngine(flutterEngine)
    GoogleMobileAdsPlugin.registerNativeAdFactory(
        flutterEngine,
        "adFactoryExample",
        NativeAdFactoryExample(layoutInflater))
  }

  override fun cleanUpFlutterEngine(flutterEngine: FlutterEngine) {
    GoogleMobileAdsPlugin.unregisterNativeAdFactory(flutterEngine, "adFactoryExample")
  }
}

class NativeAdFactoryExample: NativeAdFactory {
  private var layoutInflater: LayoutInflater

  constructor(layoutInflater: LayoutInflater) {
    this.layoutInflater = layoutInflater
  }

  override fun createNativeAd(nativeAd: NativeAd?, customOptions: MutableMap<String, Any>?): NativeAdView {
    val adView = layoutInflater.inflate(R.layout.my_native_ad, null) as NativeAdView

    // Set the media view.
    adView.mediaView = adView.findViewById(R.id.ad_media)

    // Set other ad assets.
    adView.headlineView = adView.findViewById(R.id.ad_headline)
    adView.bodyView = adView.findViewById(R.id.ad_body)
    adView.callToActionView = adView.findViewById(R.id.ad_call_to_action)
    adView.iconView = adView.findViewById(R.id.ad_app_icon)
    adView.priceView = adView.findViewById(R.id.ad_price)
    adView.starRatingView = adView.findViewById(R.id.ad_stars)
    adView.storeView = adView.findViewById(R.id.ad_store)
    adView.advertiserView = adView.findViewById(R.id.ad_advertiser)
    
    // The headline and mediaContent are guaranteed to be in every NativeAd.
    (adView.headlineView as TextView).text = nativeAd?.headline
    adView.mediaView?.mediaContent = nativeAd?.mediaContent

    // These assets aren't guaranteed to be in every NativeAd, so it's important to
    // check before trying to display them.
    if (nativeAd?.body == null) {
      adView.bodyView?.visibility = View.INVISIBLE
    } else {
      adView.bodyView?.visibility = View.VISIBLE
      (adView.bodyView as TextView).text = nativeAd.body
    }

    if (nativeAd?.callToAction == null) {
      adView.callToActionView?.visibility = View.INVISIBLE
    } else {
      adView.callToActionView?.visibility = View.VISIBLE
      (adView.callToActionView as Button).text = nativeAd.callToAction
    }

    if (nativeAd?.icon == null) {
      adView.iconView?.visibility = View.GONE
    } else {
      (adView.iconView as ImageView).setImageDrawable(nativeAd.icon!!.drawable)
      adView.iconView?.visibility = View.VISIBLE
    }

    if (nativeAd?.price == null) {
      adView.priceView?.visibility = View.INVISIBLE
    } else {
      adView.priceView?.visibility = View.VISIBLE
      (adView.priceView as TextView).text = nativeAd.price
    }

    if (nativeAd?.store == null) {
      adView.storeView?.visibility = View.INVISIBLE
    } else {
      adView.storeView?.visibility = View.VISIBLE
      (adView.storeView as TextView).text = nativeAd.store
    }

    if (nativeAd?.starRating == null) {
      adView.starRatingView?.visibility = View.INVISIBLE
    } else {
      (adView.starRatingView as RatingBar).rating = nativeAd.starRating!!.toFloat()
      adView.starRatingView?.visibility = View.VISIBLE
    }

    if (nativeAd?.advertiser == null) {
      adView.advertiserView?.visibility = View.INVISIBLE
    } else {
      adView.advertiserView?.visibility = View.VISIBLE
      (adView.advertiserView as TextView).text = nativeAd.advertiser
    }

    // This method tells the Google Mobile Ads SDK that you have finished populating your
    // native ad view with this native ad.
    if (nativeAd != null) {
      adView.setNativeAd(nativeAd)
    }

    return adView
  }
}


class TextNativeAdFactoryExample: NativeAdFactory {
  private var layoutInflater: LayoutInflater

  constructor(layoutInflater: LayoutInflater) {
    this.layoutInflater = layoutInflater
  }

  override fun createNativeAd(nativeAd: NativeAd?, customOptions: MutableMap<String, Any>?): NativeAdView {
    val adView = layoutInflater.inflate(R.layout.my_native_ad, null) as NativeAdView

    // Set the media view.
    adView.mediaView = adView.findViewById(R.id.ad_media)

    // Set other ad assets.
    adView.headlineView = adView.findViewById(R.id.ad_headline)
    //adView.bodyView = adView.findViewById(R.id.ad_body)
    //adView.callToActionView = adView.findViewById(R.id.ad_call_to_action)
    //adView.iconView = adView.findViewById(R.id.ad_app_icon)
    //adView.priceView = adView.findViewById(R.id.ad_price)
    //adView.starRatingView = adView.findViewById(R.id.ad_stars)
    //adView.storeView = adView.findViewById(R.id.ad_store)
    //adView.advertiserView = adView.findViewById(R.id.ad_advertiser)
    
    // The headline and mediaContent are guaranteed to be in every NativeAd.
    (adView.headlineView as TextView).text = nativeAd?.headline
    adView.mediaView?.mediaContent = nativeAd?.mediaContent

    // These assets aren't guaranteed to be in every NativeAd, so it's important to
    // check before trying to display them.
    //if (nativeAd?.body == null) {
    //  adView.bodyView?.visibility = View.INVISIBLE
    //} else {
    //  adView.bodyView?.visibility = View.VISIBLE
    //  (adView.bodyView as TextView).text = nativeAd.body
    //}

    //if (nativeAd?.callToAction == null) {
    //  adView.callToActionView?.visibility = View.INVISIBLE
    //} else {
    //  adView.callToActionView?.visibility = View.VISIBLE
    //  (adView.callToActionView as Button).text = nativeAd.callToAction
    //}

    //if (nativeAd?.icon == null) {
    //  adView.iconView?.visibility = View.GONE
    //} else {
    //  (adView.iconView as ImageView).setImageDrawable(nativeAd.icon!!.drawable)
    //  adView.iconView?.visibility = View.VISIBLE
    //}

    //if (nativeAd?.price == null) {
    //  adView.priceView?.visibility = View.INVISIBLE
    //} else {
    //  adView.priceView?.visibility = View.VISIBLE
    //  (adView.priceView as TextView).text = nativeAd.price
    //}

    //if (nativeAd?.store == null) {
    //  adView.storeView?.visibility = View.INVISIBLE
    //} else {
    //  adView.storeView?.visibility = View.VISIBLE
    //  (adView.storeView as TextView).text = nativeAd.store
    //}

    //if (nativeAd?.starRating == null) {
    //  adView.starRatingView?.visibility = View.INVISIBLE
    //} else {
    //  (adView.starRatingView as RatingBar).rating = nativeAd.starRating!!.toFloat()
    //  adView.starRatingView?.visibility = View.VISIBLE
    //}

    //if (nativeAd?.advertiser == null) {
    //  adView.advertiserView?.visibility = View.INVISIBLE
    //} else {
    //  adView.advertiserView?.visibility = View.VISIBLE
    //  (adView.advertiserView as TextView).text = nativeAd.advertiser
    //}

    //// This method tells the Google Mobile Ads SDK that you have finished populating your
    //// native ad view with this native ad.
    //if (nativeAd != null) {
    //  adView.setNativeAd(nativeAd)
    //}

    return adView
  }
}

 

 

my_native_ad.xml

<com.google.android.gms.ads.nativead.NativeAdView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:background="#FFFFFF"
      android:minHeight="50dp"
      android:orientation="vertical">
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="3dp">

      <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="horizontal">

        <ImageView
            android:id="@+id/ad_app_icon"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:adjustViewBounds="true"
            android:paddingBottom="5dp"
            android:paddingEnd="5dp"
            android:paddingRight="5dp"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

          <TextView
              android:id="@+id/ad_headline"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:textColor="#0000FF"
              android:textSize="16sp"
              android:textStyle="bold" />

          <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content">

            <TextView
                android:id="@+id/ad_advertiser"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="bottom"
                android:textSize="14sp"
                android:textStyle="bold"/>

            <RatingBar
                android:id="@+id/ad_stars"
                style="?android:attr/ratingBarStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:isIndicator="true"
                android:numStars="5"
                android:stepSize="0.5" />
          </LinearLayout>

        </LinearLayout>
      </LinearLayout>

      <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="vertical">

        <TextView
            android:id="@+id/ad_body"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_marginEnd="20dp"
            android:textSize="12sp" />

        <com.google.android.gms.ads.nativead.MediaView
            android:id="@+id/ad_media"
            android:layout_gravity="center_horizontal"
            android:layout_width="250dp"
            android:layout_height="175dp"
            android:layout_marginTop="5dp" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:orientation="horizontal"
            android:paddingBottom="10dp"
            android:paddingTop="10dp">

          <TextView
              android:id="@+id/ad_price"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:paddingLeft="5dp"
              android:paddingStart="5dp"
              android:paddingRight="5dp"
              android:paddingEnd="5dp"
              android:textSize="12sp" />

          <TextView
              android:id="@+id/ad_store"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:paddingLeft="5dp"
              android:paddingStart="5dp"
              android:paddingRight="5dp"
              android:paddingEnd="5dp"
              android:textSize="12sp" />

          <Button
              android:id="@+id/ad_call_to_action"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:gravity="center"
              android:textSize="12sp" />
        </LinearLayout>
      </LinearLayout>
    </LinearLayout>
  </LinearLayout>
</com.google.android.gms.ads.nativead.NativeAdView>

 

native_screen.dart

/// A simple app that loads a native ad.
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';

class NativeExample extends StatefulWidget {
  const NativeExample({super.key});

  @override
  NativeExampleState createState() => NativeExampleState();
}

class NativeExampleState extends State<NativeExample> {
  NativeAd? _nativeAd;
  bool _nativeAdIsLoaded = false;
  String? _versionString;

  final String _adUnitId = Platform.isAndroid
      ? '0F2CC08EBA730F1D6554F3D77EC120AF'
      : 'ca-app-pub-3940256099942544/3986624511';

  @override
  void initState() {
    super.initState();
    _loadAd();
    _loadVersionString();
  }

  @override
  void dispose() {
    _nativeAd?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Native Example',
        home: Scaffold(
            appBar: AppBar(
              title: const Text('Native Example'),
            ),
            body: Center(
              child: Column(
                children: [
                  Stack(children: [
                    SizedBox(
                        height: 300, width: MediaQuery.of(context).size.width),
                    if (_nativeAdIsLoaded && _nativeAd != null)
                      SizedBox(
                          height: 300,
                          width: MediaQuery.of(context).size.width,
                          child: AdWidget(ad: _nativeAd!))
                  ]),
                  TextButton(
                      onPressed: _loadAd, child: const Text("Refresh Ad")),
                  // if (_versionString != null) Text(_versionString!)
                  if (_versionString != null) Text(_versionString!)
                ],
              ),
            )));
  }

  /// Loads a native ad.
  void _loadAd() {
    setState(() {
      _nativeAdIsLoaded = false;
    });

    _nativeAd = NativeAd(
      adUnitId: 'ca-app-pub-3940256099942544/2247696110',
      factoryId: 'adFactoryExample',
      listener: NativeAdListener(
        onAdLoaded: (ad) {
          // ignore: avoid_print
          print('$NativeAd loaded.');
          setState(() {
            _nativeAdIsLoaded = true;
            // ad = ad as NativeAd;
          });
        },
        onAdFailedToLoad: (ad, error) {
          // ignore: avoid_print
          print('$NativeAd failedToLoad: $error');
          ad.dispose();
        },
        onAdClicked: (ad) {},
        onAdImpression: (ad) {},
        onAdClosed: (ad) {},
        onAdOpened: (ad) {},
        onAdWillDismissScreen: (ad) {},
        onPaidEvent: (ad, valueMicros, precision, currencyCode) {},
      ),
      request: const AdRequest(),
    )..load();
  }

  void _loadVersionString() {
    MobileAds.instance.getVersionString().then((value) {
      setState(() {
        _versionString = value;
      });
    });
  }
}

'개발 수익화 > 애드몹' 카테고리의 다른 글

모바일 앱 광고 참고자료(링크모음)  (0) 2023.08.25
Admob 광고 비싼 키워드 Top20  (0) 2023.08.25

What Our App Does with User Data

At Youseed, we are committed to maintaining the highest standards of user trust and data security. Our application, designed for YouTube creators, leverages Google's OAuth2 project integration to provide an array of services. These services include:
- Access to country-specific popular videos.
- Insights into platform-specific popular searches.
- Capabilities for viral video discovery through keyword searches.
- An innovative automatic comment reply feature.


Our application utilizes user data strictly to enhance the YouTube content creation process, ensuring that the information is used to bring relevant and engaging content to creators.

 

Enhancing User Functionality

Our goal is to empower YouTube creators by offering them tools that enrich their content creation process. By providing access to diverse data points like popular videos and trending searches, we enable creators to stay ahead of trends and produce content that resonates with their audience. The automatic comment reply function further streamlines their engagement with viewers, fostering a vibrant community around their channels.

 

Our Privacy Policy

We place immense importance on privacy and data security. Our Privacy Policy is readily accessible on our homepage. It details how our application accesses, uses, stores, and shares Google user data, adhering to the Limited Use Requirements set by Google. We encourage all our users to review our policy to understand our practices fully.

 

https://danswer-company.com/entry/Youseed-Privacy-and-Data-Policy

 

Verified and Accessible

We ensure that our homepage, hosted on a verified domain under our ownership, accurately and inclusively represents our app. It's designed to be easily accessible, offering a clear understanding of our app's functionality and its connection to the services we offer for YouTube creators.

 

Ready for Production

Our application and its corresponding web presence are fully developed, tested, and ready for production. We've ensured that every aspect of our service is up to standards, guaranteeing that we meet all of Google's requirements for project verification.

Danswer (hereinafter referred to as 'Danswer Company'), in accordance with Article 30 of the Personal Information Protection Act, establishes and discloses the following personal information processing policy to protect the personal information of data subjects and to handle related grievances swiftly and smoothly.

 

Article 1 (Purpose of Processing Personal Information)

The purpose of processing personal information files registered and disclosed by Danswer under Article 32 of the Personal Information Protection Act is as follows:

Personal Information File Name: YouSeed Personal Information Processing Policy
Purpose of Processing: System Operation
Method of Collection: Collection through information generation tools
Basis for Retention: Article 16, Section 2 of the Law
Retention Period: 3 years
Related Legislation: Records on display/advertising: 6 months, Records on contracts or subscription withdrawal: 5 years

 

Article 2 (Results of Personal Information Impact Assessment)

[Details not provided]

 

Article 3 (Provision of Personal Information to Third Parties)

Danswer processes personal information only within the scope specified in Article 1 (Purpose of Processing Personal Information) and provides personal information to third parties only in cases of consent from the data subject or special provisions of the law, in accordance with Articles 17 and 18 of the Personal Information Protection Act.

Danswer provides personal information to the following third parties:

Recipient: Google LLC
Purpose of Use by the Recipient: Name, Date of Birth, Gender, Login ID, Home Address, Mobile Phone Number, Email
Retention and Use Period by the Recipient: 5 years

 

Article 4 (Consignment of Personal Information Processing)

Danswer entrusts the following personal information processing tasks for smooth handling:
Entrusted Party (Trustee): Google LLC
Content of the Entrusted Work: Purchase and fee payment, development of new services (products), and provision of customized services
Duration of Entrustment: 5 years
Danswer supervises the trustee to ensure the safe processing of personal information, in accordance with Article 26 of the Personal Information Protection Act, and will announce any changes in the content of the consigned work or trustee through this personal information processing policy.

 

Article 5 (Procedure and Method for Destruction of Personal Information)

Danswer will immediately destroy personal information when its retention period has elapsed or the purpose of processing has been achieved.

If personal information needs to be preserved according to other laws despite the lapse of the retention period or achievement of the processing purpose, it will be transferred to a separate database (DB) or different storage location.

The procedure and method of destroying personal information are as follows:

Destruction Procedure: Danswer selects personal information that has reached the destruction cause and destroys it with the approval of Danswer's personal information protection officer.
Destruction Method: Personal information printed on paper is destroyed by shredding or incineration. Electronic file format information is destroyed using technical methods that cannot reproduce the record.

 

Article 6 (Rights and Obligations of the Data Subject and Legal Representatives)

Data subjects have the right to request access, correction, deletion, or suspension of processing of their personal information from Danswer at any time.
These rights can be exercised through written request, email, or fax in accordance with Article 41, Paragraph 1 of the Enforcement Decree of the Personal Information Protection Act, and Danswer will respond promptly.
Rights outlined in Paragraph 1 can also be exercised through legal representatives or authorized agents of the data subject. In such cases, a power of attorney compliant with the format prescribed in “Notice on Personal Information Processing Method (No. 2020-7),” Attachment No. 11, must be submitted.
Requests for access and suspension of processing are subject to limitations under Article 35, Paragraph 4, and Article 37, Paragraph 2 of the Personal Information Protection Act.
Requests for correction and deletion of personal information are not applicable if the information is required for collection under other laws.
Danswer verifies the identity of the requester or their legal representative in cases of requests for access, correction, deletion, or suspension of processing.

 

Article 7 (Measures for Securing the Safety of Personal Information)

Danswer implements the following measures to ensure the security of personal information:

Establishment and enforcement of internal management plans for safe processing of personal information.
Minimization and training of staff handling personal information, designating them to manage the information securely.
Regular self-audits (quarterly) to ensure the safety of handling personal information.
Restriction of access to personal information by granting, altering, and deleting access rights to the database system and using intrusion prevention systems to control unauthorized access from outside.
Storage and management of access records to the personal information processing system for at least one year, or two years when processing sensitive or unique identifier information or for more than 50,000 data subjects, and using security functions to prevent alteration, theft, or loss of access records.
Control of unauthorized access by establishing and operating access control procedures for physical storage locations where personal information is stored.

 

Article 8 (Installation, Operation of Automatic Personal Information Collection Devices and Their Refusal)

Danswer uses 'cookies' to store and frequently retrieve usage information to provide individualized custom services to users.
Cookies are small pieces of information sent by the server (http) used to operate websites to the user's computer browser and may be stored on the hard disk of the user's PC.
a. Purpose of Cookie Usage: To provide optimized information to users by identifying each service and website visited, usage patterns, popular search terms, and secure connection status.
b. Installation, Operation, and Refusal of Cookies: Users can refuse to store cookies by setting options in the Internet options > Privacy menu at the top of the web browser.
c. Difficulties in using customized services may occur if cookies are refused.

 

Article 9 (Processing of Pseudonymized Information)

Danswer processes pseudonymized information for the following purposes:

[To be filled in as applicable]
[Other details regarding the processing and retention of pseudonymized information, provision to third parties, consignment, and safety measures can be written directly.]

 

Article 10 (Personal Information Protection Officer)

Danswer designates the following personal information protection officer to oversee all personal information processing activities, handle complaints and damage relief related to personal information processing:

Personal Information Protection Officer
Name: Hwang Ju-young
Position: Representative
Title: CEO
Contact: 01026539689, danswer.company@gmail.com
[Details of the Personal Information Protection Department to be filled in]
Data subjects can inquire with the personal information protection officer or department for all personal information protection-related inquiries, complaints, and damage relief that arise while using Danswer's services or business. Danswer will respond promptly to data subjects' inquiries.

 

Article 11 (Department for Accepting and Processing Requests for Access to Personal Information)

Data subjects can request access to personal information under Article 35 of the Personal Information Protection Act with the following department. Danswer strives to process requests for access to personal information swiftly:

[Details of the department, responsible personnel, and contact information to be filled in]

 

Article 12 (Remedies for Rights Infringement of Data Subjects)

Data subjects can apply for dispute resolution or consultation to the Personal Information Dispute Mediation Committee or the Personal Information Infringement Report Center of the Korea Internet & Security Agency for remedies against personal information infringement. For other personal information infringement reports and consultations, please contact the following institutions:

Personal Information Dispute Mediation Committee: (without area code) 1833-6972 (http://www.kopico.go.kr)
Personal Information Infringement Report Center: (without area code) 118 (privacy.kisa.or.kr)
Supreme Prosecutors' Office: (without area code) 1301 (http://www.spo.go.kr)
National Police Agency: (without area code) 182 (ecrhttp://m.cyber.go.kr)
Administrative appeals can be filed in accordance with the Administrative Appeals Act if rights or interests are infringed due to a disposition or inaction by a head of a public institution under the provisions of Articles 35, 36, and 37 of the Personal Information Protection Act.

 

Article 13 (Operation and Management of Video Information Processing Equipment)

Danswer installs and operates video information processing equipment as follows:
[Details of the basis and purpose of installation, number of installations, locations, shooting range, management responsibility, and access rights, shooting time, storage period, storage location, processing method, method and place for verifying video information, and measures for requests to view personal video information to be filled in]

 

Article 14 (Changes to the Personal Information Processing Policy)

This personal information processing policy will be applied from August 17, 2023.
Previous versions of the personal information processing policy can be found below:
Example: Applied from XX.XX.XXXX to XX.XX.XXXX (Click)
Example: Applied from XX.XX.XXXX to XX.XX.XXXX (Click)
Example: Applied from XX.XX.XXXX to XX.XX.XXXX (Click)

 

Article 15 (Google API Services User Data Policy)

Danswer adheres to the Google API Services User Data Policy as outlined in the link below:
Google API Services User Data Policy 
Danswer follows the Limited Use section mentioned in the document:
"The use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements."

Welcome to YouSeed, the innovative app designed to empower YouTube creators with essential insights and trends. Here at YouSeed, we understand the importance of data in creating successful YouTube content. Our app is tailored to provide you with the most up-to-date and relevant information from YouTube, helping you make informed decisions for your content creation.

What We Do With Your Data

Your trust is our top priority. YouSeed accesses YouTube data only after receiving your explicit permission via the YouTube API. We use this data to:

  • Fetch trending and viral video information.
  • Provide detailed analytics and statistics about videos.
  • Offer insights to enhance your YouTube content strategy.

We ensure that your data is handled securely and responsibly, complying with all applicable data protection laws.

 

Enhancing Your YouTube Experience

YouSeed is designed to enhance your YouTube functionality by:

  • Keeping you updated with trending and viral content.
  • Offering deep insights into video performance statistics.
  • Helping you understand viewer preferences and market trends.
  • Assisting in tailoring your content to fit current YouTube trends.


Privacy and Data Policy

We are committed to protecting your privacy. Our Privacy Policy, accessible [https://danswer-company.com/entry/youseed-privacy-policy-eng], clearly outlines how we access, use, store, and share your data. We strictly adhere to Google's Limited Use Requirements to ensure your information is handled with the utmost care and security.

 

Ready for You

Our platform is hosted on an externally and publicly accessible domain, providing a clear context and connection to the YouSeed app. We are committed to meeting Google's verification standards and are ready for production, ensuring that all URLs can be reached and are fully operational.

Embark on your journey to YouTube success with YouSeed – where data-driven insights meet creative excellence.

< Danswer >('https://danswer-company.com/' 이하 '디앤서컴퍼니')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다.

제1조(개인정보의 처리목적)

< Danswer >(이)가 개인정보 보호법 제32조에 따라 등록․공개하는 개인정보파일의 처리목적은 다음과 같습니다.

  • 1. 개인정보 파일명 : YouSeed 개인정보처리방침
  • 개인정보의 처리목적 : 시스템 운영
  • 수집방법 : 생성정보 수집 툴을 통한 수집
  • 보유근거 : 법률 제16조 제2항
  • 보유기간 : 3년
  • 관련법령 : 표시/광고에 관한 기록 : 6개월, 계약 또는 청약철회 등에 관한 기록 : 5년



제2조(개인정보 영향평가 수행결과)





제3조(개인정보의 제3자 제공에 관한 사항)

 < Danswer >은(는) 개인정보를 제1조(개인정보의 처리 목적)에서 명시한 범위 내에서만 처리하며, 정보주체의 동의, 법률의 특별한 규정 등 「개인정보 보호법」 제17조 및 제18조에 해당하는 경우에만 개인정보를 제3자에게 제공합니다.

② < Danswer >은(는) 다음과 같이 개인정보를 제3자에게 제공하고 있습니다.

  • 1. < Google LLC >
  • 개인정보를 제공받는 자 : Google LLC
  • 제공받는 자의 개인정보 이용목적 : 이름, 생년월일, 성별, 로그인ID, 자택주소, 휴대전화번호, 이메일
  • 제공받는 자의 보유.이용기간: 5년



제4조(개인정보처리의 위탁에 관한 사항)

① < Danswer >은(는) 원활한 개인정보 업무처리를 위하여 다음과 같이 개인정보 처리업무를 위탁하고 있습니다.

  • 1. < 서비스 품질 개선을 위한 어플리케이션 분석 서비스(“Firebase/ Google Analytics”) 도구 운용 >
  • 위탁받는 자 (수탁자) : Google LLC
  • 위탁하는 업무의 내용 : 구매 및 요금 결제, 신규 서비스(제품) 개발 및 맞춤 서비스 제공
  • 위탁기간 : 5년

② < Danswer >은(는) 위탁계약 체결시 「개인정보 보호법」 제26조에 따라 위탁업무 수행목적 외 개인정보 처리금지, 기술적․관리적 보호조치, 재위탁 제한, 수탁자에 대한 관리․감독, 손해배상 등 책임에 관한 사항을 계약서 등 문서에 명시하고, 수탁자가 개인정보를 안전하게 처리하는지를 감독하고 있습니다.

③ 위탁업무의 내용이나 수탁자가 변경될 경우에는 지체없이 본 개인정보 처리방침을 통하여 공개하도록 하겠습니다.



제5조(개인정보의 파기절차 및 파기방법)


① < Danswer > 은(는) 개인정보 보유기간의 경과, 처리목적 달성 등 개인정보가 불필요하게 되었을 때에는 지체없이 해당 개인정보를 파기합니다.

② 정보주체로부터 동의받은 개인정보 보유기간이 경과하거나 처리목적이 달성되었음에도 불구하고 다른 법령에 따라 개인정보를 계속 보존하여야 하는 경우에는, 해당 개인정보를 별도의 데이터베이스(DB)로 옮기거나 보관장소를 달리하여 보존합니다.
1. 법령 근거 :
2. 보존하는 개인정보 항목 : 계좌정보, 거래날짜

③ 개인정보 파기의 절차 및 방법은 다음과 같습니다.
1. 파기절차
< Danswer > 은(는) 파기 사유가 발생한 개인정보를 선정하고, < Danswer > 의 개인정보 보호책임자의 승인을 받아 개인정보를 파기합니다.

2. 파기방법

종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기합니다.

전자적 파일 형태의 정보는 기록을 재생할 수 없는 기술적 방법을 사용합니다



제6조(정보주체와 법정대리인의 권리·의무 및 그 행사방법에 관한 사항)



① 정보주체는 Danswer에 대해 언제든지 개인정보 열람·정정·삭제·처리정지 요구 등의 권리를 행사할 수 있습니다.

② 제1항에 따른 권리 행사는Danswer에 대해 「개인정보 보호법」 시행령 제41조제1항에 따라 서면, 전자우편, 모사전송(FAX) 등을 통하여 하실 수 있으며 Danswer은(는) 이에 대해 지체 없이 조치하겠습니다.

③ 제1항에 따른 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등 대리인을 통하여 하실 수 있습니다.이 경우 “개인정보 처리 방법에 관한 고시(제2020-7호)” 별지 제11호 서식에 따른 위임장을 제출하셔야 합니다.

④ 개인정보 열람 및 처리정지 요구는 「개인정보 보호법」 제35조 제4항, 제37조 제2항에 의하여 정보주체의 권리가 제한 될 수 있습니다.

⑤ 개인정보의 정정 및 삭제 요구는 다른 법령에서 그 개인정보가 수집 대상으로 명시되어 있는 경우에는 그 삭제를 요구할 수 없습니다.

⑥ Danswer은(는) 정보주체 권리에 따른 열람의 요구, 정정·삭제의 요구, 처리정지의 요구 시 열람 등 요구를 한 자가 본인이거나 정당한 대리인인지를 확인합니다.



제7조(개인정보의 안전성 확보조치에 관한 사항)

< Danswer >은(는) 개인정보의 안전성 확보를 위해 다음과 같은 조치를 취하고 있습니다.

1. 내부관리계획의 수립 및 시행
개인정보의 안전한 처리를 위하여 내부관리계획을 수립하고 시행하고 있습니다.

2. 개인정보 취급 직원의 최소화 및 교육
개인정보를 취급하는 직원을 지정하고 담당자에 한정시켜 최소화 하여 개인정보를 관리하는 대책을 시행하고 있습니다.

3. 정기적인 자체 감사 실시
개인정보 취급 관련 안정성 확보를 위해 정기적(분기 1회)으로 자체 감사를 실시하고 있습니다.

4. 개인정보에 대한 접근 제한
개인정보를 처리하는 데이터베이스시스템에 대한 접근권한의 부여,변경,말소를 통하여 개인정보에 대한 접근통제를 위하여 필요한 조치를 하고 있으며 침입차단시스템을 이용하여 외부로부터의 무단 접근을 통제하고 있습니다.

5. 접속기록의 보관 및 위변조 방지
개인정보처리시스템에 접속한 기록을 최소 1년 이상 보관, 관리하고 있으며,다만, 5만명 이상의 정보주체에 관하여 개인정보를 추가하거나, 고유식별정보 또는 민감정보를 처리하는 경우에는 2년이상 보관, 관리하고 있습니다.
또한, 접속기록이 위변조 및 도난, 분실되지 않도록 보안기능을 사용하고 있습니다.

6. 비인가자에 대한 출입 통제
개인정보를 보관하고 있는 물리적 보관 장소를 별도로 두고 이에 대해 출입통제 절차를 수립, 운영하고 있습니다.



제8조(개인정보를 자동으로 수집하는 장치의 설치·운영 및 그 거부에 관한 사항)



① Danswer 은(는) 이용자에게 개별적인 맞춤서비스를 제공하기 위해 이용정보를 저장하고 수시로 불러오는 ‘쿠키(cookie)’를 사용합니다.
② 쿠키는 웹사이트를 운영하는데 이용되는 서버(http)가 이용자의 컴퓨터 브라우저에게 보내는 소량의 정보이며 이용자들의 PC 컴퓨터내의 하드디스크에 저장되기도 합니다.
가. 쿠키의 사용 목적 : 이용자가 방문한 각 서비스와 웹 사이트들에 대한 방문 및 이용형태, 인기 검색어, 보안접속 여부, 등을 파악하여 이용자에게 최적화된 정보 제공을 위해 사용됩니다.
나. 쿠키의 설치•운영 및 거부 : 웹브라우저 상단의 도구>인터넷 옵션>개인정보 메뉴의 옵션 설정을 통해 쿠키 저장을 거부 할 수 있습니다.
다. 쿠키 저장을 거부할 경우 맞춤형 서비스 이용에 어려움이 발생할 수 있습니다.

제9조(가명정보를 처리하는 경우 가명정보 처리에 관한 사항)

< Danswer > 은(는) 다음과 같은 목적으로 가명정보를 처리하고 있습니다.

▶ 가명정보의 처리 목적

- 직접작성 가능합니다.

▶ 가명정보의 처리 및 보유기간

- 직접작성 가능합니다.

▶ 가명정보의 제3자 제공에 관한 사항(해당되는 경우에만 작성)

- 직접작성 가능합니다.

▶ 가명정보 처리의 위탁에 관한 사항(해당되는 경우에만 작성)

- 직접작성 가능합니다.

▶ 가명처리하는 개인정보의 항목

- 직접작성 가능합니다.

▶ 법 제28조의4(가명정보에 대한 안전조치 의무 등)에 따른 가명정보의 안전성 확보조치에 관한 사항

- 직접작성 가능합니다.

제10조 (개인정보 보호책임자에 관한 사항)

① Danswer 은(는) 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다.

  • ▶ 개인정보 보호책임자
  • 성명 :황주영
  • 직책 :대표
  • 직급 :CEO
  • 연락처 :01026539689, danswer.company@gmail.com,

※ 개인정보 보호 담당부서로 연결됩니다.

  • ▶ 개인정보 보호 담당부서
  • 부서명 :
  • 담당자 :
  • 연락처 :, ,

② 정보주체께서는 Danswer 의 서비스(또는 사업)을 이용하시면서 발생한 모든 개인정보 보호 관련 문의, 불만처리, 피해구제 등에 관한 사항을 개인정보 보호책임자 및 담당부서로 문의하실 수 있습니다. Danswer 은(는) 정보주체의 문의에 대해 지체 없이 답변 및 처리해드릴 것입니다.

제11조(개인정보의 열람청구를 접수·처리하는 부서)
정보주체는 「개인정보 보호법」 제35조에 따른 개인정보의 열람 청구를 아래의 부서에 할 수 있습니다.
< Danswer >은(는) 정보주체의 개인정보 열람청구가 신속하게 처리되도록 노력하겠습니다.

  • ▶ 개인정보 열람청구 접수·처리 부서
  • 부서명 :
  • 담당자 :
  • 연락처 : , ,



제12조(정보주체의 권익침해에 대한 구제방법)



정보주체는 개인정보침해로 인한 구제를 받기 위하여 개인정보분쟁조정위원회, 한국인터넷진흥원 개인정보침해신고센터 등에 분쟁해결이나 상담 등을 신청할 수 있습니다. 이 밖에 기타 개인정보침해의 신고, 상담에 대하여는 아래의 기관에 문의하시기 바랍니다.

 

1. 개인정보분쟁조정위원회 : (국번없이) 1833-6972 (www.kopico.go.kr)

2. 개인정보침해신고센터 : (국번없이) 118 (privacy.kisa.or.kr)

3. 대검찰청 : (국번없이) 1301 (www.spo.go.kr)

4. 경찰청 : (국번없이) 182 (ecrm.cyber.go.kr)

 

「개인정보보호법」제35조(개인정보의 열람), 제36조(개인정보의 정정·삭제), 제37조(개인정보의 처리정지 등)의 규정에 의한 요구에 대 하여 공공기관의 장이 행한 처분 또는 부작위로 인하여 권리 또는 이익의 침해를 받은 자는 행정심판법이 정하는 바에 따라 행정심판을 청구할 수 있습니다.

 

※ 행정심판에 대해 자세한 사항은 중앙행정심판위원회(www.simpan.go.kr) 홈페이지를 참고하시기 바랍니다.

 

제13조(영상정보처리기기 운영·관리에 관한 사항)
① < Danswer >은(는) 아래와 같이 영상정보처리기기를 설치·운영하고 있습니다.

1.영상정보처리기기 설치근거·목적 : < Danswer >의

  • 2.설치 대수, 설치 위치, 촬영 범위 :
  • 설치대수 : 대
  • 설치위치 :
  • 촬영범위 :

3.관리책임자, 담당부서 및 영상정보에 대한 접근권한자 :

  • 4.영상정보 촬영시간, 보관기간, 보관장소, 처리방법
  • 촬영시간 : 시간
  • 보관기간 : 촬영시부터
  • 보관장소 및 처리방법 :

5.영상정보 확인 방법 및 장소 :

6.정보주체의 영상정보 열람등요구에 대한 조치 : 개인영상정보 열람.존재확인 청구서로 신청하여야 하며, 정보주체 자신이 촬영된 경우 또는 명백히 정보주체의 생명.신체.재산 이익을 위해 필요한 경우에 한해 열람을 허용함

7.영상정보처리기기 설치근거·목적 :



제14조(개인정보 처리방침 변경)

 

① 이 개인정보처리방침은 2023년 8월 17부터 적용됩니다.

② 이전의 개인정보 처리방침은 아래에서 확인하실 수 있습니다.

예시 ) - 20XX. X. X ~ 20XX. X. X 적용 (클릭)

예시 ) - 20XX. X. X ~ 20XX. X. X 적용 (클릭)

예시 ) - 20XX. X. X ~ 20XX. X. X 적용 (클릭)

 

제15조(Google API Services User Data Policy)

1. < Danswer >은(는) 아래 링크의 Google API Services User Data Policy 정책을 따릅니다.

   Google API Services User Data Policy 

해당 문서내 2. Limited Use 항목을 따릅니다.

- (App’s) use and transfer to any other app of information received from Google APIs will adhere to Google API Services User Data Policy, including the Limited Use requirements.” 

아래에 달리 명시되지 않는 한, 다음 정책 변경사항을 준수하기 위한 기한으로 2023년 10월 25일부터 최소 30일이 주어집니다. 기한 및 리소스는 정책 기한 페이지를 참고하세요.

새로운 정책 및 업데이트된 정책

  • 생성형 AI 앱이 사용자에게 안전할 수 있도록 모든 genAI 앱은 정책을 준수해야 한다는 사실을 개발자에게 다시 안내합니다. 또한 특정 genAI 앱의 경우 사용자가 보고 또는 신고할 수 있는 기능이 있어야 합니다.
  • 사용자의 개인 정보가 더욱 안전하게 보호되는 환경을 위해 광범위한 사진/동영상 권한(READ_MEDIA_IMAGES  READ_MEDIA_VIDEO)을 요청하도록 허용되는 앱 수를 줄이고자 사진 및 동영상 권한 정책이 도입됩니다. 앱은 앱 기능과 직접 관련된 목적으로만 사진 및 동영상에 액세스할 수 있습니다. 이러한 파일에 일회성으로 또는 빈번하지 않게 액세스해야 하는 앱은 Android 사진 선택 도구와 같은 시스템 선택 도구를 사용해야 합니다.
  • 사용자에게 더 나은 경험을 제공하기 위해 USE_FULL_SCREEN_INTENT 권한 사용에 새로운 제한사항이 도입됩니다. Android U(API 수준 34) 이상을 타겟팅하는 앱의 경우 이 권한이 특수 앱 액세스 권한으로 변경됩니다. 핵심 기능을 제공하기 위해 전체 화면 알림이 필요한 앱에만 이 권한이 기본적으로 부여됩니다. 기타 모든 앱은 사용자에게 권한을 요청해야 합니다.
  • 건강 앱 카테고리에 해당하는 앱에 새로운 요구사항을 도입하기 위해 '건강 콘텐츠 및 서비스'에 새로운 건강 앱 정책이 추가됩니다. 또한 현행 공공 보건 가이드를 반영하도록 정책이 업데이트됩니다.
  • 태국의 개인 대출 앱이 현지 규정에 따라 운영되고 있음을 입증하는 증빙으로 허용되는 문서가 확대된다는 사실을 명시하도록 Google의 개인 대출 정책이 업데이트됩니다.
  • 아동 사용자에게 더 안전하고 예측 가능한 경험을 제공하기 위해 아동 사용자가 명확하게 광고로 인지할 수 없는 광고 행태 금지를 위한 Google Play 가족 광고 및 수익 창출 정책이 업데이트됩니다. 앱 개발자 및 SDK 제공업체는 광고가 Offerwall로 표시되지 않을 뿐만 아니라 광고 닫기 기능으로 인해 새 광고가 즉시 트리거되지 않도록 해야 합니다.
  • 사용자 제작 콘텐츠 정책을 명확히 하여 UGC 경험에 따라 각기 다른 인앱 검토 조치가 필요할 수 있다는 점을 설명합니다.

또한 일부 기존 정책에 설명이 추가되었습니다. 이러한 변경사항은 정책이 새로 도입되거나 업데이트된 것이 아니므로 Google의 시행 기준과 관행은 동일하게 유지됩니다.

  • 잘못된 정보에 관한 추가 사례를 포함하도록 사기 행위 정책을 명확히 합니다.
  • 민감한 사건 정책에 있는 사례가 업데이트되었습니다.
  • 금융 서비스 정책을 더욱 명확히 하여 개인 대출 앱은 민감한 권한에 액세스할 수 없으며 이러한 앱은 Google 권한 정책을 준수해야 한다는 사실을 강조합니다.
알림
  • 2023년 11월 1일부터 기존 앱의 모든 업데이트는 Play 결제 라이브러리 버전 5 이상을 사용해야 합니다. 자세히 알아보기
  • 2023년 8월 31일부로 신규 앱과 앱 업데이트 제출은 API 수준 33을 타겟팅해야 합니다(Wear OS는 API 30을 타겟팅해야 함). 기존 앱이 API 수준 31 이상을 타겟팅해야 앱의 대상 API 수준보다 상위 버전의 Android OS를 실행하는 기기에서 신규 사용자가 계속 사용할 수 있습니다. 시간을 절약하고 수고를 덜기 위해 Android 스튜디오에서 새로운 SDK 업그레이드 어시스턴트를 사용할 수 있습니다. 또한 앱을 업데이트하기 위해 시간이 더 필요한 경우 2023년 11월 1일까지 기한 연장을 요청할 수 있습니다. 자세히 알아보기
  • Android 14 이상을 타겟팅하는 앱에서 적절한 사용 사례에 대한 포그라운드 서비스(FGS)를 선언할 수 있도록 선언 양식이 11월쯤 제공됩니다. 2024년 1월 31일까지 의견을 받고 조정할 수 있습니다. 자세히 알아보기
  • 사용자가 데이터를 더욱 세부적으로 제어할 수 있도록 올해 초 새로운 계정 삭제 요구사항이 도입되었습니다. 따라서 모든 개발자는 Play Console에서 데이터 보안 양식을 업데이트해야 합니다. 데이터 보안 양식의 일부 정보는 Google Play에서 앱의 데이터 보안 섹션에 표시될 수 있습니다. 이 정책의 준수 기한은 2023년 12월 7일까지입니다. 시간이 더 필요한 경우 Play Console에서 2024년 5월 31일까지 기한 연장을 요청할 수 있습니다. 자세히 알아보고 RePlay 동영상을 시청하세요.
  • 이제 Play Console에서 금융 기능 선언 양식이 제공됩니다. 2024년 1월 15일까지 이 양식을 작성해야 합니다. 자세히 알아보기
이러한 정책 업데이트의 영향을 받는 앱이 있을 수 있으니 업데이트 내용을 신중하게 검토하시기 바랍니다. 변경사항을 준수하는 방법을 자세히 알아보려면 다음을 참고하세요.

+ Recent posts