<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>기술수련소</title>
    <link>https://cocomodo.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 23 Aug 2026 22:38:12 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>기술수련자</managingEditor>
    <item>
      <title>아틀리에 도아 정통 사주풀이 서비스 구조 ( heydoah.com)</title>
      <link>https://cocomodo.tistory.com/905</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://heydoah.com&quot;&gt;아틀리에 도아&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Architecture&lt;/h1&gt;
&lt;p&gt;Atelier Doah는 사주명리학 기반의 프리미엄 라이프 디자인 서비스를 제공하는 풀스택 Next.js 애플리케이션입니다.&lt;br&gt;이 저장소는 퍼블릭 웹 경험, 사주 계산 엔진, Gemini 기반 프리미엄 감명서 생성 파이프라인, Firebase 기반 인증/저장/운영 도구를 하나의 코드베이스로 통합합니다.&lt;/p&gt;
&lt;p&gt;특히 최근 구조에서는 프리미엄 감명서 생성을 브라우저 요청 수명에서 분리하여, 웹 런타임과 백그라운드 생성 런타임을 명확히 나눈 비동기 워커 아키텍처를 채택했습니다.&lt;/p&gt;
&lt;h2&gt;System Overview&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;flowchart LR
    U[사용자] --&amp;gt; W[Next.js 웹앱&amp;lt;br/&amp;gt;Landing / Saju / Result / Order / History / Admin]
    M[운영자] --&amp;gt; W

    W --&amp;gt; A[Next.js Route Handlers&amp;lt;br/&amp;gt;Auth / Saju / Premium / Gift / Admin]
    W --&amp;gt; O[GA4 + Sentry]

    A --&amp;gt; E[사주 도메인 엔진&amp;lt;br/&amp;gt;core + engines + decisions]
    A --&amp;gt; F[Firebase Auth + Session Cookie]
    A --&amp;gt; D[Firestore&amp;lt;br/&amp;gt;saju_results / saju_library / premium_reports / gift_tickets / premium_generation_jobs]
    A --&amp;gt; X[ops_events + admin_audit_logs]
    A --&amp;gt; Q[Cloud Tasks enqueue]

    Q --&amp;gt; P[Firebase Functions Gen2 Worker&amp;lt;br/&amp;gt;premiumGenerationWorker]
    P --&amp;gt; G[Gemini 기반 V5 감명서 생성기]
    P --&amp;gt; D
    P --&amp;gt; S[Secret Manager + IAM]

    C[Firebase Functions Scheduler / Watchdog] --&amp;gt; Q
    C --&amp;gt; D&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Architecture Style&lt;/h2&gt;
&lt;p&gt;기본 구조는 모듈형 모놀리스(modular monolith) 입니다.&lt;br&gt;프론트엔드와 서버 API는 Next.js App Router 안에서 함께 동작하며, 도메인 로직과 운영 도구도 동일 저장소에서 관리됩니다.&lt;/p&gt;
&lt;p&gt;다만 프리미엄 감명서 생성은 일반 요청 처리와 분리된 비동기 작업 아키텍처를 따릅니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;웹 요청과 일반 API 응답은 Firebase App Hosting에서 처리합니다.&lt;/li&gt;
&lt;li&gt;프리미엄 감명서 생성은 Cloud Tasks에 enqueue 됩니다.&lt;/li&gt;
&lt;li&gt;실제 장시간 생성 작업은 Firebase Functions 2세대 worker가 수행합니다.&lt;/li&gt;
&lt;li&gt;작업 상태는 Firestore의 &lt;code&gt;premium_generation_jobs&lt;/code&gt;가 canonical source로 관리합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;즉, 전체적으로는 모놀리식 코드베이스이지만, 실행면은 Web Runtime과 Background Worker Runtime으로 분리된 형태입니다.&lt;/p&gt;
&lt;h2&gt;Core Layers&lt;/h2&gt;
&lt;h3&gt;1. Presentation Layer&lt;/h3&gt;
&lt;p&gt;랜딩, 사주 입력, 결과, 주문, 보관함, 프리미엄 리더, 관리자 콘솔을 포함한 사용자 인터페이스 계층입니다.&lt;/p&gt;
&lt;h3&gt;2. Application Layer&lt;/h3&gt;
&lt;p&gt;인증, 사주 결과 조회, 프리미엄 생성 요청, gift 흐름, 관리자 API, 후기 시스템 등 주요 서비스 유스케이스를 담당합니다.&lt;/p&gt;
&lt;h3&gt;3. Domain Engine Layer&lt;/h3&gt;
&lt;p&gt;사주 원국 계산, 오행 분포, 대운/세운, 신살, 격국, 페르소나 해석 등 명리 로직이 분리되어 있습니다.&lt;br&gt;무료 결과는 이 계층의 결정론적 계산 결과를 직접 사용합니다.&lt;/p&gt;
&lt;h3&gt;4. AI Generation Layer&lt;/h3&gt;
&lt;p&gt;프리미엄 감명서는 계산 결과를 기반으로 Gemini가 구조화된 V5 리포트를 생성합니다.&lt;br&gt;이 과정은 &lt;code&gt;theme design -&amp;gt; act generation -&amp;gt; enrichment -&amp;gt; finalize&lt;/code&gt; 단계로 이루어지며, draft checkpoint와 retry-safe worker 실행을 지원합니다.&lt;/p&gt;
&lt;h3&gt;5. Queue &amp;amp; Worker Layer&lt;/h3&gt;
&lt;p&gt;프리미엄 생성 요청은 &lt;code&gt;premium_generation_jobs&lt;/code&gt; 문서로 기록된 뒤 Cloud Tasks에 enqueue 됩니다.&lt;br&gt;&lt;code&gt;premiumGenerationWorker&lt;/code&gt;가 lease 획득, heartbeat 갱신, 생성 실행, 완료/실패 마킹, 재시도 상태 전환을 담당합니다.&lt;/p&gt;
&lt;h3&gt;6. Data &amp;amp; Infrastructure Layer&lt;/h3&gt;
&lt;p&gt;Firebase Authentication, Firestore, Firebase Admin SDK, Firebase App Hosting, Firebase Functions Gen2, Cloud Tasks, Secret Manager, IAM을 사용합니다.&lt;/p&gt;
&lt;h3&gt;7. Operations &amp;amp; Observability Layer&lt;/h3&gt;
&lt;p&gt;GA4, Sentry, Cloud Logging, Firestore &lt;code&gt;ops_events&lt;/code&gt;, &lt;code&gt;admin_audit_logs&lt;/code&gt;, Admin Overview를 통해 퍼널, 오류, 운영 이벤트, 생성 상태를 분리 관측합니다.&lt;/p&gt;
&lt;h2&gt;Key Characteristics&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;무료 사주 결과와 프리미엄 감명서가 분리된 이중 파이프라인 구조&lt;/li&gt;
&lt;li&gt;사주 계산 엔진과 UI가 같은 저장소 안에 공존하는 모듈형 모놀리스&lt;/li&gt;
&lt;li&gt;프리미엄 생성은 &lt;code&gt;enqueue -&amp;gt; worker execute -&amp;gt; watchdog recover&lt;/code&gt; 구조의 비동기 작업 실행&lt;/li&gt;
&lt;li&gt;Firestore 중심의 보관함, gift, 공유, 후기, 운영 로그, job 상태 모델&lt;/li&gt;
&lt;li&gt;&lt;code&gt;premium_generation_jobs&lt;/code&gt;를 기준으로 source 문서(&lt;code&gt;gift_tickets&lt;/code&gt;, &lt;code&gt;saju_library&lt;/code&gt;)에 상태를 미러링하는 구조&lt;/li&gt;
&lt;li&gt;관리자 콘솔을 통한 생성 관제, gift 발급/복구, 후기 검수 지원&lt;/li&gt;
&lt;li&gt;draft checkpoint, heartbeat, idempotent finalize, retry orchestration을 통한 장시간 생성 안정성 확보&lt;/li&gt;
&lt;li&gt;App Hosting과 Functions가 같은 코드베이스를 공유하되, 실행 책임은 웹 요청 처리와 백그라운드 작업으로 분리&lt;/li&gt;
&lt;li&gt;Secret Manager와 IAM을 통한 런타임 시크릿 및 권한 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Tech Stack&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Stack&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;Next.js 14, React 18, TypeScript, Tailwind CSS, Framer Motion, Three.js&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend App&lt;/td&gt;
&lt;td&gt;Next.js Route Handlers, server-only modules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Domain Logic&lt;/td&gt;
&lt;td&gt;custom saju engine, lunar-javascript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;Google Gemini, &lt;code&gt;@ai-sdk/google&lt;/code&gt;, &lt;code&gt;ai&lt;/code&gt;, &lt;code&gt;@google/genai&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth / Data&lt;/td&gt;
&lt;td&gt;Firebase Authentication, Firestore, Firebase Admin SDK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web Runtime&lt;/td&gt;
&lt;td&gt;Firebase App Hosting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Background Runtime&lt;/td&gt;
&lt;td&gt;Firebase Functions Gen2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Queue / Recovery&lt;/td&gt;
&lt;td&gt;Google Cloud Tasks, Scheduler watchdog&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Secrets / Access&lt;/td&gt;
&lt;td&gt;Google Cloud Secret Manager, IAM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Observability&lt;/td&gt;
&lt;td&gt;GA4, Sentry, Cloud Logging, Firestore &lt;code&gt;ops_events&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</description>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/905</guid>
      <comments>https://cocomodo.tistory.com/905#entry905comment</comments>
      <pubDate>Fri, 3 Apr 2026 12:28:39 +0900</pubDate>
    </item>
    <item>
      <title>An informational post about how I received a 'Pending Termination Notice' and resolved the issue (외국 질문자들을 위한 내 앱과 개발자 계정 복구 과정 소개글)</title>
      <link>https://cocomodo.tistory.com/883</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1h5jgor/an_informational_post_about_how_i_received_a/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.reddit.com/r/iOSProgramming/comments/1h5jgor/an_informational_post_about_how_i_received_a/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733217401658&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;From the iOSProgramming community on Reddit&quot; data-og-description=&quot;Explore this post and more from the iOSProgramming community&quot; data-og-host=&quot;www.reddit.com&quot; data-og-source-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1h5jgor/an_informational_post_about_how_i_received_a/&quot; data-og-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1h5jgor/an_informational_post_about_how_i_received_a/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/FLCJY/hyXGOgmp7c/N10g8YO1XVIyVRb3KZotH0/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584,https://scrap.kakaocdn.net/dn/uI2Fj/hyXGB2q9NB/RztzVVYp3NbQcS4pFaKyKk/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1h5jgor/an_informational_post_about_how_i_received_a/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1h5jgor/an_informational_post_about_how_i_received_a/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/FLCJY/hyXGOgmp7c/N10g8YO1XVIyVRb3KZotH0/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584,https://scrap.kakaocdn.net/dn/uI2Fj/hyXGB2q9NB/RztzVVYp3NbQcS4pFaKyKk/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;From the iOSProgramming community on Reddit&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Explore this post and more from the iOSProgramming community&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.reddit.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Since people often personally ask me about the &quot;Pending Termination Notice,&quot; I decided to write a post detailing how I resolved the issue and managed to restore both my account and my app.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;To start, I&amp;rsquo;ll include the two posts I made on the iOSProgramming subreddit describing my situation and asking for advice. These posts have prompted others to frequently reach out, asking how I handled my own &quot;Pending Termination Notice.&quot; I hope this post serves as a helpful guide for anyone facing a similar issue.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;first post :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&quot;&gt;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;second post :&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&quot;&gt;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&lt;/a&gt;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot;&gt;&amp;lt;The Situation&amp;gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;The details of my case can be fully understood by reading the two attached posts in order. Ultimately, the process I followed to resolve the issue was submitting a formal &quot;Appeal&quot; to Apple. To prepare for this, I sought advice from the community on how to properly draft and submit an appeal. While reviewing my app, I couldn&amp;rsquo;t identify any major issues that would justify Apple's actions. However, I considered writing an appeal acknowledging potential minor issues and promising to correct them.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Despite this, I firmly believed that my app had no serious flaws, let alone ones warranting the actions Apple took. Submitting an appeal falsely admitting fault just to save my account didn&amp;rsquo;t sit right with me. Even if my app and account were permanently deleted, I decided to prioritize asserting my innocence.&lt;/p&gt;
&lt;h1 style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot;&gt;&amp;lt;The Appeal&amp;gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Here&amp;rsquo;s the approximate content of my appeal:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;After thoroughly reviewing the specific regulations you cited, I firmly believe that none of the alleged violations apply to my app. I developed this app entirely on my own, using original artwork and assets I either created myself or purchased legitimately. The music in my app is also properly licensed, and the app&amp;rsquo;s name doesn&amp;rsquo;t intentionally infringe upon others, especially since similar apps with comparable names continue to exist on the App Store.I suspect this action against my app and account may be due to a false-positive judgment by your automated systems. I kindly ask that you reconsider this decision, as my app does not violate any rules. If there is indeed a specific issue, I request clear guidance so I can address it appropriately. Otherwise, I urge you to review my app again and reinstate it along with my account.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;This statement was drafted to fit the word limit in Apple&amp;rsquo;s Developer &amp;ldquo;Appeal&amp;rdquo; form.&lt;/p&gt;
&lt;h1 style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot;&gt;&amp;lt;The Outcome&amp;gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;After submitting my appeal, I followed up with Apple&amp;rsquo;s Developer Support team to ensure my case was being reviewed. The support team responded, explaining that their App Review team was overwhelmed with pending cases and asked for patience.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Approximately two weeks later, I received a message informing me that my app had been reviewed by four reviewers and was being restored, along with my account. (I estimated the number of reviewers based on Google AdMob statistics showing usage from four distinct PCs on the same day my app was reinstated.)&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Apple&amp;rsquo;s App Review team sent me a message via Apple Store Connect stating, &amp;ldquo;Your app and account have been restored. Please review the guidelines carefully when submitting future apps.&amp;rdquo; However, the message offered no clear explanation for why my app and account were initially flagged, nor did it include an apology.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Although I felt their response was inadequate and even considered submitting another appeal to demand a proper explanation or apology, I ultimately decided not to pursue it further due to other pressing commitments.&lt;/p&gt;
&lt;h1 style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot;&gt;&amp;lt;Lessons Learned and Advice&amp;gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;From others who have shared their experiences with me, I&amp;rsquo;ve learned that not all appeals result in account recovery. However, even if an account is deleted, it&amp;rsquo;s still possible to submit a request for reinstatement.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;If my experience helps you save your app and account, I&amp;rsquo;m truly glad. And if not, I hope this post offers encouragement to keep trying.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Note&lt;/b&gt;: In my case, I firmly believed my app had no issues, so my appeal did not acknowledge any faults. However, if you believe there are specific problems with your app, be transparent about them in your appeal and explain how you plan to address them. One individual who sought my advice identified and acknowledged a minor issue in their app, described their solution in the appeal, and successfully had their app and account restored.&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fafafb; color: #32363a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Wishing you the best of luck!&lt;/p&gt;</description>
      <category>개발자콘솔 인증 &amp;amp;&amp;amp; 출시 관련 내용들</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/883</guid>
      <comments>https://cocomodo.tistory.com/883#entry883comment</comments>
      <pubDate>Tue, 3 Dec 2024 18:18:18 +0900</pubDate>
    </item>
    <item>
      <title>앱스토어에서 앱 삭제, 앱 계정 삭제 예정 조치에 대한 이의 제기와 앱과 계정 복구 과정 기록 - 정상적으로 모두 복구 완료(문제 발생 24.7.27 - 해결 24.9.5)</title>
      <link>https://cocomodo.tistory.com/863</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;앱스토어에서 앱이 강제로 삭제되고 앱스토어 계정이 삭제될 것이라는 공지를 받는 사람에게 문제 해결 과정에 도움이 되길 바라며 작성함&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상적으로 앱스토어, 구글플레이에 앱을 올려서 정상적으로 업데이트를 거치고, 서비스를 진행 하던 중, 2024년 7월 27일 앱스토어에서 메세지를 받게 되었다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1031&quot; data-origin-height=&quot;882&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1rfUY/btsJ6Yb8MYQ/8SSPoDRIf2qYmkxdC8KlJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1rfUY/btsJ6Yb8MYQ/8SSPoDRIf2qYmkxdC8KlJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1rfUY/btsJ6Yb8MYQ/8SSPoDRIf2qYmkxdC8KlJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1rfUY%2FbtsJ6Yb8MYQ%2F8SSPoDRIf2qYmkxdC8KlJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1031&quot; height=&quot;882&quot; data-origin-width=&quot;1031&quot; data-origin-height=&quot;882&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 내용의 메세지로, 간략하게 내용을 요약하자면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 앱이 앱스토어의 정책에 반하는 중대한 위반 사항을 포함하고 있기 때문에 즉각적으로 앱스토어에서 앱을 삭제하고, 해당 앱스토어 계정을 영구 삭제 시키겠다는 내용이었다. 30일의 유예 시간을 줄 것이고, 해당 기간 동안에 이의 제기를 할 수 있으며, 그렇게 하지 않고 시기가 지나면 내 앱스토어 계정 또한 삭제시킬 것이라는 내용이었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 내가 위반했다고 하는 정책 사항에 대해서 해당 메세지에서 언급하는 내용을 한국어로 번역해서 확인해보면,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;귀하는 Apple 소프트웨어나 서비스, 본 계약의 의도 또는 Apple의 비즈니스 관행을 방해하려는 목적으로 직접적이든 간접적이든 어떠한 행위도 하지 않으며, App Store, 맞춤형 앱 배포, TestFlight, Xcode Cloud, Ad Hoc 배포 또는 프로그램의 성능이나 의도된 사용을 저해할 수 있는 행위를 포함하되 이에 국한되지 않습니다(예: 본인의 애플리케이션이나 제3자 애플리케이션에 대해 허위 리뷰를 제출하거나, 소비자 혼란을 야기하기 위해 제3자 애플리케이션과 상당히 유사한 이름을 선택하거나, 정당한 제3자의 사용을 방해하기 위해 애플리케이션 이름을 선점하는 행위 등). 또한, 귀하는 귀하의 커버드 제품 또는 해당 제품과 관련하여 불법적이거나, 부정하거나, 오해를 불러일으키거나, 허위의, 부적절하거나, 정직하지 않은 행위 또는 사업 관행에 참여하거나 타인을 독려하지 않습니다(예: 미끼 상품과 전환 가격 책정, 소비자 오해 유발, 기만적인 사업 관행 또는 다른 개발자에 대한 불공정 경쟁 행위 등).&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때에 내 앱이 위와 같은 내용들 중에서 어떠한 부분이 문제가 될지에 대해서 조언을 구하고, 이와 같은 동일한 경험을 한 사람들이 있는지, 해결 방법이 어떻게 될지에 대해서 정보를 얻고자 커뮤니티를 찾아보고, 관련이 있는 커뮤니티에 글을 통해 내가 처한 문제와 문제의 원인이 무엇일지에 대한 글을 작성해서 올렸었다. 이의 제기를 하기 전에 최대한 많은 정보를 모으고 문제의 원인을 파악하고 정확하게 파악한 원인을 기반으로 글을 작성하기 위해서 신중을 기했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;reddit 의 유니티 개발자 subreddit, ios programming subreddit 등에 글을 썼고, ios programming subreddit 이 사람들이 많이 조언을 주어서 해당 서브레딧에 질문 글을 총 두개 올렸다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;reddit - ios programming 에 작성한 첫번째 글:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1728969152180&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;From the iOSProgramming community on Reddit&quot; data-og-description=&quot;Explore this post and more from the iOSProgramming community&quot; data-og-host=&quot;www.reddit.com&quot; data-og-source-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&quot; data-og-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/FPD25/hyXhNBZ6eP/wZ6NnKuJpXzNEJKPQ6etK0/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584,https://scrap.kakaocdn.net/dn/Rz7Ix/hyXhKSQwav/nYBgpKk27RV2ITeTEgXmE0/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edavvf/pending_termination_notice_can_you_help_identify/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/FPD25/hyXhNBZ6eP/wZ6NnKuJpXzNEJKPQ6etK0/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584,https://scrap.kakaocdn.net/dn/Rz7Ix/hyXhKSQwav/nYBgpKk27RV2ITeTEgXmE0/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;From the iOSProgramming community on Reddit&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Explore this post and more from the iOSProgramming community&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.reddit.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 작성한 글에는, 내가 현재 처한 상황과, 내가 생각하기에 앱스토어에서 위반했다고 생각하는 정책의 내용에서 내 앱이 문제점이 될 수 있다고 생각하는 부분에 대해서 언급했는데, 내 스스로는 처음에는 혹시 &quot; 소비자 혼란을 야기하기 위해 제3자 애플리케이션과 상당히 유사한 이름을 선택하거나&quot; 라는 부분에 해당할까 싶어서 내 앱의 이름에 대해서 명시하고, 해당 이름이 혹시 이와 같은 문제를 야기할 수 있을지에 대해서 의견을 모아보았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇지만, 해당 질문글에서 사람들의 답변에서도 그렇고, 그리고 앱스토어 자체에서도 그렇고, 내 앱의 이름이 문제가 될 만큼은 아니라는 의견들이 많았다. &quot;Heya! Rising Ball&quot; 이라는 이름의 경우, 앱스토어 상에서도 이미 많은 &quot;Heya&quot; 라는 키워드 들이 있고, &quot;Rising Ball&quot; 도 있었고, 이런 것들이 사용된 많은 게임들이 멀쩡하게 앱스토어 상에서 서비스 되고 있었다. 그리고 서브 레딧 사람들의 피드백 또한 이름이 문제가 될 만한 사항은 아닌것 같다는 얘기가 있었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그에 따라 혹시 다른 문제가 될 만한 요소들이 있을까 싶어서 자체적으로 분석한뒤에 두번째 글을 올려서 피드백을 받았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;( 애플의 ios 개발자 포럼에도 글을 작성하였으나, 그곳에서는 아무런 답변을 받을 수 없었다. ios 개발자 포럼의 경우는 때때로 애플 직원에 의해서 관련된 문제에 대한 답변을 받을 수 있다고 하여서 글을 작성했지만 직원의 답변도 얻을 수 없었다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;reddit - ios programming 에 작성한 두번째 글:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1728969502658&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;From the iOSProgramming community on Reddit&quot; data-og-description=&quot;Explore this post and more from the iOSProgramming community&quot; data-og-host=&quot;www.reddit.com&quot; data-og-source-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&quot; data-og-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cW30jj/hyXhL5iSCV/Bnd4K9C1oxGWDLAwMd84Tk/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584,https://scrap.kakaocdn.net/dn/bv6Dax/hyXhREq5kg/dqSn1cKfuR63G8bvDYm0NK/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.reddit.com/r/iOSProgramming/comments/1edzqic/appstore_pending_termination_notice_could_this_be/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cW30jj/hyXhL5iSCV/Bnd4K9C1oxGWDLAwMd84Tk/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584,https://scrap.kakaocdn.net/dn/bv6Dax/hyXhREq5kg/dqSn1cKfuR63G8bvDYm0NK/img.jpg?width=1120&amp;amp;height=584&amp;amp;face=0_0_1120_584');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;From the iOSProgramming community on Reddit&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Explore this post and more from the iOSProgramming community&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.reddit.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째 글에서 내가 문제가 될 수 있을지 모를 부분에 대해서 추려본 부분은 3가지 영역으로,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1번째: 키워드를 통해 다른 게임을 언급&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2번째: 다른 앱에서 등장하는 이미지와 매우 유사해 보일 수 있는 스프라이트 이미지 (직접 그렸다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3번째: Graphy 라는 유니티의 앱 성능 분석 툴을 비활성화 시킨 채로 앱 빌드에 포함시켜서 배포한 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 3가지 사항이 내가 두번째 글을 작성할 때에 혹시 이름이 문제가 아니라면 이것들이 내가 위반했다고 하는 정책 사항의 원인이 될 수 있을까 분석한 내용들이고, 이에 대해서 의견을 수렴해 보았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 전반적으로 어떠한 것도 명확하게 해당 사항이 문제가 되어서 그런것 같다는 식으로 의견 수립이 되지 않고, 전체적으로 문제가 될 만한 부분이 딱히 보이지 않는다는 식의 의견이 많았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인터넷에서는 이와 같은 글로 원인을 찾기 위해서 노력했고, 현실에서는 애플 디벨로퍼스 지원을 통해서 상담사와 전화 연결을 통해 문제를 해결 하기 위해 노력했다. 애플 디벨로퍼스의 경우 상담사 전화 연결을 제공하는데 ( 나의 현 거주지가 한국이기에, 다른 국적 사람의 경우 해당 국가의 정책에 따라 다를 수 있다) 현 상황에 대한 설명과 도대체 내 앱이 무슨 문제가 있는지에 대해서 알려달라고 통화 하였는데, 이러한 부분은 &quot;앱 심사 팀&quot; 이 담당하는 영역이고, 그 팀은 전화를 통한 상담은 하지 않아서, 이 문제에 대해서 &quot;앱 심사 팀&quot; 에 의견을 전달해주겠다는 얘기를 들었었다(참고로 앱 심사팀은 내가 한국에 거주하고 있지만 한국 담당하는 사람들도 모두 외국인이고 한국말을 못한다고 하고, 내가 영어로라도 대화해볼테니 연결시켜줄 수 없냐고 하니까 앱 디벨로퍼스 상담사가 안된다고 의견만 전달해준다고 하였다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 의견을 전달했고, 대략 7일정도 걸려서 의견을 받았는데, &quot;이미 앱스토어에서 메세지로 너의 문제 원인이 무엇인지 알렸으니까 그걸 확인해라&quot; 라는 답장을 받았다. 그래서 결국 인터넷에서 사람들에게 의견을 구하면서 내 앱이 규정에서 어떠한 부분을 위반 했을 지에 대해서 알아보는 과정을 통해서만 원인 파악을 하기 위해 노력했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람들의 피드백을 받는 과정을 거치면서, 특징적으로 내 앱이 문제가 될 만한 부분은 찾을 수 없었고, 사람들과 의견을 주고 받으면서도 내 스스로 이 부분이 문제일 것 같다 싶은 부분들도, 전혀 문제가 될 만큼 커다라 요소들은 아니라는 생각이 들었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;30일이라는 유예 기간이 남아있어서 현실에서 준비하던 다른 일이 있어서 바쁜 시간을 보내던 중이라 즉각적으로 이의 제기를 제출하지는 않았고, 8월 20일이 되어서야 스스로 판단해볼때, 이것은 내 앱이 문제가 있었던 것은 전혀 아니며, A.I. Bot 에 의한 오판으로 생긴 문제라는 결론을 내리고 이의를 작성했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이의 신청의 내용은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;아무리 찾아봐도 내 앱에서 당신들이 제기한 위반 사항을 발견할 수 없다. 이건 A.I. Bot 오동작에 의한 오판이다. 혹시나 내 앱이 문제가 있다면 명확하게 어떠한 부분이 있는지 알려달라. 그게 아니라면 내 앱을 복구해달라&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라는 형태로 글을 작성했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1117&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMmN1R/btsJ7e0bObp/I3FjdZa2tZzKWMHlESH6g0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMmN1R/btsJ7e0bObp/I3FjdZa2tZzKWMHlESH6g0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMmN1R/btsJ7e0bObp/I3FjdZa2tZzKWMHlESH6g0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMmN1R%2FbtsJ7e0bObp%2FI3FjdZa2tZzKWMHlESH6g0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1117&quot; height=&quot;512&quot; data-origin-width=&quot;1117&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이의 제기의 경우는 처음에 앱스토어 메세지에서 제공해놓은 링크를 통해서 제출 할 수 있었으며, 언어는 영어로 작성해서 제출했다. 앱 심사 팀이 모두 한국어를 할 줄 모른다고 하는데, 이걸 한국어로 제출해도 그 사람들이 잘 알아들을지, 아니면 번역기를 써서 볼지는 모르겠는데, 혹시 이와 같은 과정을 거쳐야 하는 다른 사람이 있다면, 그냥 처음부터 영어로 작성해서 제출하는게 가장 깔끔하고 문제가 될 만한 여지가 없을 수 있을것 같으니 참고하길 바란다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에 내가 작성한 내용을 대략적으로 요약했지만, 분량이 꽤 되어서 이의 제기에 분량 제한이 있어서 거기에 맞추느라고 조금 더 간략화 한 버전으로 다시 작성해서 이의를 제기했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이의 제기를 할때, 내용을 &quot;내 앱은 문제 없는데 너희의 시스템에서 내 앱을 문제있는 것으로 파악했다. 다시 정상적으로 복구 시켜줘라&quot; 라는 식으로 이의를 제기할때, 내 앱스토어 계정의 영구 삭제를 각오하고 제출했다. 원래는 &quot;이의를 제기할때 문제를 파악하고, 해당 문제를 다시 일으키기 않도록 하겠다고 내용을 작성해서 제출하세요&quot; 라는 식으로 이의 제기 과정을 안내해서, 그렇게 할 의도로 내 앱의 문제점을 파악해보았는데, 전혀 문제될 만한 요소가 없어서, 문제될 만한 요소도 없는데 &quot; 이 부분이 문제인것 같습니다. 제가 잘못했습니다. 다시는 그렇게 하지 않겠습니다&quot; 라는 식으로 절대로 말하고 싶지 않아서 내 앱스토어 계정이 영구 삭제되고, 개인으로는 다시 영구적으로 앱스토어에 개발자 등록을 할 수 없게 되는 것을 각오하고 &quot; 내 앱은 문제 없다&quot; 라는 형태의 내용으로 이의 제기를 한 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이의 제기를 하고 7일이 지나도 언급이 없어서 30일의 유예가 다 끝나가기에 다시 애플 디벨로퍼스 상담사를 통해 전화 연결을 해서 현재의 상황을 전달하고, 곧 유예 기간이 끝나는데 과정 처리가 잘 되는지, 처리 되는 과정에서 유예 기간이 지나면 앱스토어 계정이 삭제 되는지에 대해서 질문하였고, 이의 제기를 했으면 30일이 지나더라도 삭제되지는 않을 것이라는 것, 그리고 다시 &quot;앱 심사 팀&quot; 에 내 이의 제기 건에 대해서 문의 하겠다는 얘기를 들었고, 그러부터 하루 지나서 앱 심사 팀으로부터 이메일로 현재 심사 일이 많이 쌓여서 업무 처리에 시간이 많이 걸린다고 조금만 기다려달라고 이메일을 받았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그와 같은 연락을 받고 7일 정도가 또 지나서, 2024년 9월 5일에 메세지를 받았다. 내 앱을 복구해준다는 내용, 그리고 내 앱스토어 계정도 삭제되지 않는다는 내용이었다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1021&quot; data-origin-height=&quot;550&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QWBl4/btsJ42NNTWr/oJGs5IDgTp61AKxTKUORQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QWBl4/btsJ42NNTWr/oJGs5IDgTp61AKxTKUORQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QWBl4/btsJ42NNTWr/oJGs5IDgTp61AKxTKUORQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQWBl4%2FbtsJ42NNTWr%2FoJGs5IDgTp61AKxTKUORQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1021&quot; height=&quot;550&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1021&quot; data-origin-height=&quot;550&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 내용을 한국어로 번역해보면,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;==================&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;App Review Board에 문의해 주셔서 감사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;귀하의 Apple Developer Program 계정에 대한 항소 결과를 알려드립니다. App Review Board에서 귀하의 계정 활동과 관련 앱을 평가한 결과, 귀하의 계정이 해지되지 않기로 결정되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 앱을 제출할 수 있으며, 저희는 해당 앱의 검토를 계속 진행할 것입니다. 검토 과정에서 문제가 발견될 경우, 해결 센터를 통해 안내드릴 것입니다. 그렇지 않으면 귀하의 앱은 승인될 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 앱은 App Store Review Guidelines와 개발자 행동 규정을 기준으로 검토된다는 점을 유의하시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로의 조사를 피하려면, 고객을 오도하거나 해를 끼치거나 검토 과정을 방해하려는 시도를 하지 않도록 앱을 관리해 주십시오. 앱을 제출하기 전에 App Store Review Guidelines을 검토하고 개발자 행동 규정을 읽어 저희의 요구 사항을 숙지하시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;App Review Board 드림&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;==============================&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 다 정상적으로 복귀 완료 되었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 한가지 아쉬운건, 도대체 내 앱을 무슨 이유로 삭제시키고 무슨 문제라고 내 개발자 계정을 삭제시킨다고 통지 한지에 대해서 원인을 언급하고 있지 않았다. 시스템 오동작이면 오동작이어서 죄송하다고 언급이라도 하던가. 앱스토어 계정의 경우 1년에 100달러(해당 등록 시기 환율로 대략 13만원)를 내서 진행하는 유료 서비스인데, 그에 대해서 한달이나 넘게 내 앱을 서비스 하지도 못하고, 내 개발자 계정에 앱을 새롭게 업로드하지도 못하는데(거기다가 수익적인 부분이 발생해도 개발자가 가져가지도 못한다) 그에 대해서 사과의 말이나 명확한 원인에 대해서 언급하지 않는 점이 굉장히 마음에 들지 않았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 부분에 대해서는 확실하게 원인이 무엇인지, 당신들이 잘못한거면 당신들이 잘못했다고 명확하게 알려달라고, 만약 정말 내 문제면 도대체 내 앱에서 문제가 된 부분이 무엇인지 알아야 내가 다시 그런 문제를 일으키지 않을테니 알려달라고 이의 제기를 다시 하려고 했는데, 다른 신경쓸 일들이 진행중이라 이의 제기를 아직 다시 하지 않아서 현재는 위와 같이 모든 문제만 해결하고 앱을 다시 앱스토에에서 서비스 정상화 시키고 앱스토어 계정을 복원완료한 상태이다. 어느정도 좀 여유가 생기면 이의 제기를 한번 더 해서 앱스토어 심사 측에서 뭉뚱그려서 넘어간 부분에 대해서 다시 질문을 할 생각이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에 언급한 과정들을 혹시 나와 동일한 문제를 겪을 사람이 보고 도움이 되길 바라며 글을 작성하였다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;reddit 에 질문글을 남겼던 것 때문에 나와 동일하게 앱삭제와 앱 계정 삭제 통보를 받은 몇몇 개발자들이 나에게 해결 과정과 결과를 개인적으로 질문 주는 경우가 있는데, 최근에 터키에 사는 개발자가 나와 같은 문제를 겪어서 이에 대해서 조언을 구해서 내가 위에 기입한 내용들에 대해서 과정을 알려주었다. 그리고 이의 제기를 할때에 어떠한 내용을 써야 할지에 대해서도 조언을 해주었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1595&quot; data-origin-height=&quot;139&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m8tD3/btsJ7xFfqp9/m1npNcMl83ALyXtNTDkm70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m8tD3/btsJ7xFfqp9/m1npNcMl83ALyXtNTDkm70/img.png&quot; data-alt=&quot;터키에 있는 개발자가 자기 앱과 계정을 살려서 고맙다고 연락왔다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m8tD3/btsJ7xFfqp9/m1npNcMl83ALyXtNTDkm70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm8tD3%2FbtsJ7xFfqp9%2Fm1npNcMl83ALyXtNTDkm70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1595&quot; height=&quot;139&quot; data-origin-width=&quot;1595&quot; data-origin-height=&quot;139&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;터키에 있는 개발자가 자기 앱과 계정을 살려서 고맙다고 연락왔다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다행스럽게도 그 개발자 또한 앱을 살릴 수 있었고, 앱스토어 계정도 살렸다고 나에게 최근에 알려주었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인터넷에서 처음에 앱스토어 개발자 계정 삭제 유예 통지에 대해서 검색해보면, 정보도 많이 없고, 그리고 앱을 살리고 개발자 계정을 다시 살려냈다고 하는 사례가 나오지를 않아서 정말 큰 스트레스를 받고 매우 신경을 많이 쓰면서 위와 같은 과정을 거쳐왔는데, 잘 해결되어서 다행이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 동일한 문제를 겪은 사람들에게 도움이 되길 바라며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자콘솔 인증 &amp;amp;&amp;amp; 출시 관련 내용들</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/863</guid>
      <comments>https://cocomodo.tistory.com/863#entry863comment</comments>
      <pubDate>Tue, 15 Oct 2024 15:06:01 +0900</pubDate>
    </item>
    <item>
      <title>iOS 14 이상에서 광고 게재를 테스트 하려면 &amp;quot; 앱 추적 투명성&amp;quot; 을 사용 설정해야합니다.</title>
      <link>https://cocomodo.tistory.com/842</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1052&quot; data-origin-height=&quot;828&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/824rw/btsJKbYnXaC/K5o8Sz0SonnK2XoytwJ3W0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/824rw/btsJKbYnXaC/K5o8Sz0SonnK2XoytwJ3W0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/824rw/btsJKbYnXaC/K5o8Sz0SonnK2XoytwJ3W0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F824rw%2FbtsJKbYnXaC%2FK5o8Sz0SonnK2XoytwJ3W0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1052&quot; height=&quot;828&quot; data-origin-width=&quot;1052&quot; data-origin-height=&quot;828&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아이패드로 테스트 기기를 등록하고 테스트를 진행하려는데 IDFA 를 파악한뒤에 해당 내용으로 등록하려고 하니까 플랫폼 선택시에 iOS 를 선택하니 이와 같은 메세지를 확인할 수 있었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;앱 추적 투명성&quot; 링크를 따라 들어가니 ATT 팝업에 대한 내용이라는 것을 알 수 있었다. 현재 앱을 복구하고 계정까지 모두 정상화 시켰는데, 그와 같은 문제가 발생하느라 ATT 팝업은 아직 구현하지 못해서 현재는 앱 추적 투명성 기능이 활성화 되어 있지 않고 모두 기본적으로 추적 불허로 설정이 될 것이다. ATT 팝업을 구현해야지만 테스트 기기에 테스트 광고가 나오게 되는지는 정확히 알 수 없지만, ATT 팝업을 구현한뒤에 테스트 기기로 등록된 아이패드에서 앱을 실행시키는게 좋겠다. 혹시나 만약의 사태를 대비해서 ATT 팝업 먼저 구현하도록 하자. 자칫 잘못해서 구글 애드몹의 정책 위반으로 수익화가 막힐 수 도 있으니까 주의하도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://developers.google.com/admob/ios/privacy/strategies&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://developers.google.com/admob/ios/privacy/strategies&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1727188466976&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;개인 정보 보호 전략 &amp;nbsp;|&amp;nbsp; iOS &amp;nbsp;|&amp;nbsp; Google for Developers&quot; data-og-description=&quot;이 페이지는 Cloud Translation API를 통해 번역되었습니다. 개인 정보 보호 전략 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. iOS 개인 정보 보호 변경사항에 맞&quot; data-og-host=&quot;developers.google.com&quot; data-og-source-url=&quot;https://developers.google.com/admob/ios/privacy/strategies&quot; data-og-url=&quot;https://developers.google.com/admob/ios/privacy/strategies?hl=ko&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bs4IoP/hyW6w1U7CD/poc0MFTCMuKRPb0SVCswO1/img.png?width=1200&amp;amp;height=675&amp;amp;face=0_0_1200_675,https://scrap.kakaocdn.net/dn/cglCMB/hyW6HI7k7d/IoBviq2ZS6IWwmGQgJpUp1/img.png?width=750&amp;amp;height=1334&amp;amp;face=0_0_750_1334&quot;&gt;&lt;a href=&quot;https://developers.google.com/admob/ios/privacy/strategies&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developers.google.com/admob/ios/privacy/strategies&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bs4IoP/hyW6w1U7CD/poc0MFTCMuKRPb0SVCswO1/img.png?width=1200&amp;amp;height=675&amp;amp;face=0_0_1200_675,https://scrap.kakaocdn.net/dn/cglCMB/hyW6HI7k7d/IoBviq2ZS6IWwmGQgJpUp1/img.png?width=750&amp;amp;height=1334&amp;amp;face=0_0_750_1334');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;개인 정보 보호 전략 &amp;nbsp;|&amp;nbsp; iOS &amp;nbsp;|&amp;nbsp; Google for Developers&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이 페이지는 Cloud Translation API를 통해 번역되었습니다. 개인 정보 보호 전략 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. iOS 개인 정보 보호 변경사항에 맞&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developers.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/842</guid>
      <comments>https://cocomodo.tistory.com/842#entry842comment</comments>
      <pubDate>Tue, 24 Sep 2024 23:32:45 +0900</pubDate>
    </item>
    <item>
      <title>(minify) build 시에 admob 광고가 안나오는 것에 대한 issue 와 그에 대한 resolver 와 minify 에 대한 접근.</title>
      <link>https://cocomodo.tistory.com/786</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/googleads/googleads-mobile-unity/issues/2458&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/googleads/googleads-mobile-unity/issues/2458&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1721177435997&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListen&quot; data-og-description=&quot;Describe the problem Steps to reproduce: I build a project using Admob, it works fine with test app id, ad unit id. But when I release the app, no ads are shown. I test my application using LogCat,...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/googleads/googleads-mobile-unity/issues/2458&quot; data-og-url=&quot;https://github.com/googleads/googleads-mobile-unity/issues/2458&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/YmepE/hyWzFlbHM2/HDqWbzh1VtwRcph5PADCUK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/googleads/googleads-mobile-unity/issues/2458&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/googleads/googleads-mobile-unity/issues/2458&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/YmepE/hyWzFlbHM2/HDqWbzh1VtwRcph5PADCUK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListen&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Describe the problem Steps to reproduce: I build a project using Admob, it works fine with test app id, ad unit id. But when I release the app, no ads are shown. I test my application using LogCat,...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 이슈를 확인해보면 이와같은 문제에 대해서 기본적으로&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1157&quot; data-origin-height=&quot;421&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dG2rW9/btsICnLp4xH/BS1B2RIkLcEIUYvZzmIq9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dG2rW9/btsICnLp4xH/BS1B2RIkLcEIUYvZzmIq9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dG2rW9/btsICnLp4xH/BS1B2RIkLcEIUYvZzmIq9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdG2rW9%2FbtsICnLp4xH%2FBS1B2RIkLcEIUYvZzmIq9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1157&quot; height=&quot;421&quot; data-origin-width=&quot;1157&quot; data-origin-height=&quot;421&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;External Dependency Manager -&amp;gt; Anroid Resolver -&amp;gt; Resolve 를 하라는게 가장 기본이 되는 접근인것 같다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그에 대해서는&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;521&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qzgvd/btsIBI3Cl2x/xckUFeVCKlC6Dssq9DrXs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qzgvd/btsIBI3Cl2x/xckUFeVCKlC6Dssq9DrXs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qzgvd/btsIBI3Cl2x/xckUFeVCKlC6Dssq9DrXs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQzgvd%2FbtsIBI3Cl2x%2FxckUFeVCKlC6Dssq9DrXs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1384&quot; height=&quot;521&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;521&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 레포를 관리하는 이 사람의 답변을 보면 알 수 있는데,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전반적으로 사람들은 이러한 과정을 통해서 문제가 완전하게 해결되지 않는것 같고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b780Tu/btsICxUB7ZD/lZjUoChq0VCpEXOcqGzbx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b780Tu/btsICxUB7ZD/lZjUoChq0VCpEXOcqGzbx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b780Tu/btsICxUB7ZD/lZjUoChq0VCpEXOcqGzbx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb780Tu%2FbtsICxUB7ZD%2FlZjUoChq0VCpEXOcqGzbx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1369&quot; height=&quot;900&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 답변을 통해서 많은 사람들이 문제를 해결한 것 같다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맨 마지막에 -dontobfuscate 는 제외해도 괜찮은것 같다고 말하는 사람이 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;1015&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/br3P8P/btsIAt7sXPd/sEEqcM5KobiClNLeSmEf31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/br3P8P/btsIAt7sXPd/sEEqcM5KobiClNLeSmEf31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/br3P8P/btsIAt7sXPd/sEEqcM5KobiClNLeSmEf31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr3P8P%2FbtsIAt7sXPd%2FsEEqcM5KobiClNLeSmEf31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1384&quot; height=&quot;1015&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;1015&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-dontobfuscate 의 경우 난독화를 하지 않겠다는 것인데, 이렇게 해버리면 난독화 전체를 하지 않겠다는 의미로 사용될 수 있어 보이니, 그래서 그 부분은 제외하겠다는 의미같은데, 난독화를 제외한다는건 그럴거면 minify 자체를 안하는것이나 매우 유사해지는 결과를 만드는게 아닌가 싶다. 사이즈를 줄이는 이점도 있겠지만 minify 를 하겠다고 하는 이유가 난독화가 더 핵심적이라고 생각되는데, 그걸 제외한다는건 가장 적절한 해결 방법은 아니라는 생각이 든다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-dontobfuscate 를 제외하고도, 그리고 추가하고도 한번 테스를 해보도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1441&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJRkBc/btsIDkUJlOa/FLJaXmXYFNhEgI4OYauaK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJRkBc/btsIDkUJlOa/FLJaXmXYFNhEgI4OYauaK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJRkBc/btsIDkUJlOa/FLJaXmXYFNhEgI4OYauaK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJRkBc%2FbtsIDkUJlOa%2FFLJaXmXYFNhEgI4OYauaK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1441&quot; height=&quot;306&quot; data-origin-width=&quot;1441&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 -dontobfuscate 를 제외해도 문제없다는 사람이 추가적으로 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;proguard-user.txt:&lt;/p&gt;
&lt;pre id=&quot;code_1721260976456&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-keep class com.google.unity.** {
   *;
}
-keep public class com.google.android.gms.ads.**{
   public *;
}
-keep public class com.google.ads.**{
   public *;
}
-keepattributes *Annotation*&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 내용을 사용하면 될듯하다. -dontobfuscate 는 맨 마지막줄에 취사선택 하도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+++++++++++++++++++&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;minify 시에 문제가 발생하는 이유와 그에 대한 해결 방법에 대해서 정보전달이 깔끔한 편인 글 첨부.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 keep 하는건 현재 내 상황과 전혀 상관없지만 맥락을 이해하자는 의미로 여기에 기록함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developer.zendesk.com/documentation/classic-web-widget-sdks/unified-sdk/android/minify/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://developer.zendesk.com/documentation/classic-web-widget-sdks/unified-sdk/android/minify/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1721260077917&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Minifying your app&quot; data-og-description=&quot;Developer documentation for products at Zendesk&quot; data-og-host=&quot;developer.zendesk.com&quot; data-og-source-url=&quot;https://developer.zendesk.com/documentation/classic-web-widget-sdks/unified-sdk/android/minify/&quot; data-og-url=&quot;https://developer.zendesk.com/documentation/classic-web-widget-sdks/unified-sdk/android/minify/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.zendesk.com/documentation/classic-web-widget-sdks/unified-sdk/android/minify/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.zendesk.com/documentation/classic-web-widget-sdks/unified-sdk/android/minify/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Minifying your app&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Developer documentation for products at Zendesk&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developer.zendesk.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+++++++++++++++++++++++++&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developer.android.com/build/shrink-code?hl=ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://developer.android.com/build/shrink-code?hl=ko&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1721260241384&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;앱 축소, 난독화 및 최적화 &amp;nbsp;|&amp;nbsp; Android Studio &amp;nbsp;|&amp;nbsp; Android Developers&quot; data-og-description=&quot;사용하지 않는 코드와 리소스를 삭제하기 위해 출시 빌드에서 코드를 축소하는 방법을 알아보세요.&quot; data-og-host=&quot;developer.android.com&quot; data-og-source-url=&quot;https://developer.android.com/build/shrink-code?hl=ko&quot; data-og-url=&quot;https://developer.android.com/build/shrink-code?hl=ko&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mpptA/hyWCGQm13Y/aEQ1UG7FB0YDOtyAWuNkkK/img.png?width=1201&amp;amp;height=676&amp;amp;face=0_0_1201_676,https://scrap.kakaocdn.net/dn/dIIg4Z/hyWzBb7xMr/54vozDTszYTVCDZrHXxhqK/img.png?width=1708&amp;amp;height=1248&amp;amp;face=0_0_1708_1248&quot;&gt;&lt;a href=&quot;https://developer.android.com/build/shrink-code?hl=ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.android.com/build/shrink-code?hl=ko&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mpptA/hyWCGQm13Y/aEQ1UG7FB0YDOtyAWuNkkK/img.png?width=1201&amp;amp;height=676&amp;amp;face=0_0_1201_676,https://scrap.kakaocdn.net/dn/dIIg4Z/hyWzBb7xMr/54vozDTszYTVCDZrHXxhqK/img.png?width=1708&amp;amp;height=1248&amp;amp;face=0_0_1708_1248');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;앱 축소, 난독화 및 최적화 &amp;nbsp;|&amp;nbsp; Android Studio &amp;nbsp;|&amp;nbsp; Android Developers&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;사용하지 않는 코드와 리소스를 삭제하기 위해 출시 빌드에서 코드를 축소하는 방법을 알아보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developer.android.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 명확하게 minfiy 에 대해서 제시해주는 android developer 사이트의 shrink your app 항목을 첨부함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 부분에 대해서 지속적으로 모르는 부분을 읽어보고 학습하고 이해하도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/786</guid>
      <comments>https://cocomodo.tistory.com/786#entry786comment</comments>
      <pubDate>Wed, 17 Jul 2024 10:01:42 +0900</pubDate>
    </item>
    <item>
      <title>developers.google.com 사이트에서 언어 변경시 페이지 로드 불가.</title>
      <link>https://cocomodo.tistory.com/774</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developers.google.com/admob/unity/app-open&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://developers.google.com/admob/unity/app-open&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 페이지의 경우 기본 언으로 영어를 설정한 상태에서는 정상적으로 로드가 되지만,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;언어를 한국어로 바꾼 상태에서는 정상적으로 페이지가 로드되지 않는다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;app-open 뿐만 아니라 native-overlay 등도 정상적으로 로드되지 않는다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;developers.google.com 에서 내용을 확인할때는 되도록 기본 언어인 영어를 사용하도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2339&quot; data-origin-height=&quot;349&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gw3mn/btsIx5SBHEp/LThHKDBKMTQS7Z7Qp0G4A0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gw3mn/btsIx5SBHEp/LThHKDBKMTQS7Z7Qp0G4A0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gw3mn/btsIx5SBHEp/LThHKDBKMTQS7Z7Qp0G4A0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGw3mn%2FbtsIx5SBHEp%2FLThHKDBKMTQS7Z7Qp0G4A0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2339&quot; height=&quot;349&quot; data-origin-width=&quot;2339&quot; data-origin-height=&quot;349&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 말하는 언어 변경은 위에 첨부한 페이지에서 가장 오른쪽에 보이는 지구본 마크를 클릭해서 변경하는 언어를 말함.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 페이지 내부에서&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;517&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kzpR6/btsIzLdNdmZ/9CKtyiRQOJHpz2banoTXZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kzpR6/btsIzLdNdmZ/9CKtyiRQOJHpz2banoTXZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kzpR6/btsIzLdNdmZ/9CKtyiRQOJHpz2banoTXZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkzpR6%2FbtsIzLdNdmZ%2F9CKtyiRQOJHpz2banoTXZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;517&quot; height=&quot;260&quot; data-origin-width=&quot;517&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와같이 Google Translate 를 이용한 번역은 페이지 로드에 영향을 미치지 않고있음.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완전한 번역은 아니지만 필요한 경우 위와 같은 방식으로 번역된 정보를 활용할것.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 주의해야 할 사항은 Google Translate 를 통한 페이지 번역을 할때 언어의 어순이 달라서 그런지 완전히 잘못된 번역을 해버리는 경우가 매우 많다. 주의하자.&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/774</guid>
      <comments>https://cocomodo.tistory.com/774#entry774comment</comments>
      <pubDate>Sat, 13 Jul 2024 09:39:42 +0900</pubDate>
    </item>
    <item>
      <title>Using &amp;quot;Release&amp;quot; minification (Proguard) in Unity - 이슈정리</title>
      <link>https://cocomodo.tistory.com/766</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://groups.google.com/g/google-admob-ads-sdk/c/i3MZkX5k4tg&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://groups.google.com/g/google-admob-ads-sdk/c/i3MZkX5k4tg&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1720697378634&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Using &amp;quot;Release&amp;quot; minification (Proguard) in Unity&quot; data-og-description=&quot;Hi, Dust off this thread to ask for a clarification. The errors reported by users after minification, were given by what? What did these errors cause? Failure of the build? Or did the build work and the ads didn't? Or did both build and ads work but someti&quot; data-og-host=&quot;groups.google.com&quot; data-og-source-url=&quot;https://groups.google.com/g/google-admob-ads-sdk/c/i3MZkX5k4tg&quot; data-og-url=&quot;https://groups.google.com/g/google-admob-ads-sdk/c/i3MZkX5k4tg&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://groups.google.com/g/google-admob-ads-sdk/c/i3MZkX5k4tg&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://groups.google.com/g/google-admob-ads-sdk/c/i3MZkX5k4tg&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Using &quot;Release&quot; minification (Proguard) in Unity&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Hi, Dust off this thread to ask for a clarification. The errors reported by users after minification, were given by what? What did these errors cause? Failure of the build? Or did the build work and the ads didn't? Or did both build and ads work but someti&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;groups.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 문제에 대한 해결 방안에 대한 제시.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/googleads/googleads-mobile-unity/issues/598#issuecomment-370849059&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/googleads/googleads-mobile-unity/issues/598#issuecomment-370849059&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1720697400243&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;java.lang.ClassNotFoundException: com.google.android.gms.ads.MobileAds &amp;middot; Issue #598 &amp;middot; googleads/googleads-mobile-unity&quot; data-og-description=&quot;This is what I get in logcat on an android device. I tried everything. Reimporting Google Play Games plugin, resolving jars, setting up play games services again, reimporting AdMob, nothing helps. ...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/googleads/googleads-mobile-unity/issues/598#issuecomment-370849059&quot; data-og-url=&quot;https://github.com/googleads/googleads-mobile-unity/issues/598&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ogr83/hyWvR0BOqb/tq87VvvItQdDZOkT8lykH0/img.png?width=1200&amp;amp;height=600&amp;amp;face=991_121_1043_179&quot;&gt;&lt;a href=&quot;https://github.com/googleads/googleads-mobile-unity/issues/598#issuecomment-370849059&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/googleads/googleads-mobile-unity/issues/598#issuecomment-370849059&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ogr83/hyWvR0BOqb/tq87VvvItQdDZOkT8lykH0/img.png?width=1200&amp;amp;height=600&amp;amp;face=991_121_1043_179');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;java.lang.ClassNotFoundException: com.google.android.gms.ads.MobileAds &amp;middot; Issue #598 &amp;middot; googleads/googleads-mobile-unity&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;This is what I get in logcat on an android device. I tried everything. Reimporting Google Play Games plugin, resolving jars, setting up play games services again, reimporting AdMob, nothing helps. ...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1727&quot; data-origin-height=&quot;949&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v9yK0/btsIwO3iD8K/hEqWEWk2NCWepLz1BU1xf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v9yK0/btsIwO3iD8K/hEqWEWk2NCWepLz1BU1xf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v9yK0/btsIwO3iD8K/hEqWEWk2NCWepLz1BU1xf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv9yK0%2FbtsIwO3iD8K%2FhEqWEWk2NCWepLz1BU1xf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1727&quot; height=&quot;949&quot; data-origin-width=&quot;1727&quot; data-origin-height=&quot;949&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@VladNazar&amp;nbsp;Hey,&amp;nbsp;this&amp;nbsp;is&amp;nbsp;my&amp;nbsp;proguard&amp;nbsp;file,&amp;nbsp;I&amp;nbsp;realy&amp;nbsp;hope&amp;nbsp;it&amp;nbsp;helps&amp;nbsp;you&amp;nbsp;in&amp;nbsp;some&amp;nbsp;way.&amp;nbsp;I&amp;nbsp;know&amp;nbsp;how&amp;nbsp;it&amp;nbsp;is&amp;nbsp;with&amp;nbsp;these&amp;nbsp;bugs,&amp;nbsp;very&amp;nbsp;frustrating. &lt;br /&gt;&lt;br /&gt;-dontwarn&amp;nbsp;co&lt;a href=&quot;http://m.google.vr.ndk.base.DaydreamApi&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;http://m.google.vr.ndk.base.DaydreamApi&lt;/a&gt;&lt;br /&gt;-keep&amp;nbsp;class&amp;nbsp;com.facebook.**&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;*; &lt;br /&gt;} &lt;br /&gt;-keep&amp;nbsp;class&amp;nbsp;co&lt;a href=&quot;http://m.google.unity.**&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;http://m.google.unity.**&lt;/a&gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;*; &lt;br /&gt;} &lt;br /&gt;-keep&amp;nbsp;public&amp;nbsp;class&amp;nbsp;co&lt;a href=&quot;http://m.google.android.gms.ads.**&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;http://m.google.android.gms.ads.**&lt;/a&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;*; &lt;br /&gt;} &lt;br /&gt;-keep&amp;nbsp;public&amp;nbsp;class&amp;nbsp;co&lt;a href=&quot;http://m.google.ads.**&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;http://m.google.ads.**&lt;/a&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;*; &lt;br /&gt;} &lt;br /&gt;-keepattributes&amp;nbsp;*Annotation* &lt;br /&gt;-dontobfuscate&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;위와같이 커스텀 프로가드 파일을 수정해서 만들면 googleads sdk 를 제외할 수 있다고함.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차후에 커스텀할때 문제가 될 여지가 있는 부분을 커스텀파일로 제외해볼것.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/766</guid>
      <comments>https://cocomodo.tistory.com/766#entry766comment</comments>
      <pubDate>Thu, 11 Jul 2024 20:31:31 +0900</pubDate>
    </item>
    <item>
      <title>[AddComponentMenu(&amp;quot;...&amp;quot;)] 의 기능.</title>
      <link>https://cocomodo.tistory.com/765</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1720650691824&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;using System;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using GoogleMobileAds.Ump.Api;

namespace GoogleMobileAds.Samples
{
    /// &amp;lt;summary&amp;gt;
    /// Demonstrates how to use the Google Mobile Ads Unity plugin.
    /// &amp;lt;/summary&amp;gt;
    [AddComponentMenu(&quot;GoogleMobileAds/Samples/GoogleMobileAdsController&quot;)]
    public class GoogleMobileAdsController : MonoBehaviour
    {
        // Always use test ads.
        // https://developers.google.com/admob/unity/test-ads
        internal static List&amp;lt;string&amp;gt; TestDeviceIds = new List&amp;lt;string&amp;gt;()
        {
            AdRequest.TestDeviceSimulator,
#if UNITY_IPHONE
            &quot;96e23e80653bb28980d3f40beb58915c&quot;,
#elif UNITY_ANDROID
            &quot;702815ACFC14FF222DA1DC767672A573&quot;
#endif
        };
        
...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 코드는 구글애드몹에서 제공해준는 샘플 프로젝트 중에서 GoogleMobileAdsController.cs 의 일부인데,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때에&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[AddComponentMenu(&quot;GoogleMobileAds/Samples/GoogleMobileAdsController&quot;)]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라는 어트리뷰트가 무슨 기능을 하는지 몰라서 찾아보았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 어트리뷰트를 클래스 위에 작성하면,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;484&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Osg6S/btsIvjhZWqE/gj2YErsxxd7Rl7XfXPsSrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Osg6S/btsIvjhZWqE/gj2YErsxxd7Rl7XfXPsSrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Osg6S/btsIvjhZWqE/gj2YErsxxd7Rl7XfXPsSrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOsg6S%2FbtsIvjhZWqE%2Fgj2YErsxxd7Rl7XfXPsSrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;880&quot; height=&quot;484&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;484&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와같이 Component 에 해당 클래스 파일을 등록해둘 수 있고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 메뉴를 통해서 오브젝트에 해당 Component 를 타고 들어가서 원하는 클래스 파일을 선택하면 그 클래스 파일을 오브젝트에 바로 부착할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 직접 드래그앤드롭으로 붙일 수 있지만, 이러한 어트리뷰트를 사용하면 클래스의 위치를 직접 알 필요도 없지 깔끔하게 알아서 붙여줄 수 있게 활용할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹시 다음에 이러한 기능이 필요하면 사용해보도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/765</guid>
      <comments>https://cocomodo.tistory.com/765#entry765comment</comments>
      <pubDate>Thu, 11 Jul 2024 07:54:07 +0900</pubDate>
    </item>
    <item>
      <title>Google Mobile Ads Unity Plugin Reference. admob api 참조는 이곳에서.</title>
      <link>https://cocomodo.tistory.com/763</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developers.google.com/admob/unity/reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://developers.google.com/admob/unity/reference&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1720621015516&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Google Mobile Ads Unity Plugin Reference &amp;nbsp;|&amp;nbsp; Google for Developers&quot; data-og-description=&quot;Stay organized with collections Save and categorize content based on your preferences. Google Mobile Ads Unity Plugin Reference Reference docs for the Google Mobile Ads Unity Plugin. Classes AdapterResponseInfo Response information for an individual ad net&quot; data-og-host=&quot;developers.google.com&quot; data-og-source-url=&quot;https://developers.google.com/admob/unity/reference&quot; data-og-url=&quot;https://developers.google.com/admob/unity/reference&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/LCt1f/hyWvPVSKxs/ZyC5cBv77o5M1TyHxM3rmK/img.png?width=1200&amp;amp;height=675&amp;amp;face=0_0_1200_675&quot;&gt;&lt;a href=&quot;https://developers.google.com/admob/unity/reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developers.google.com/admob/unity/reference&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/LCt1f/hyWvPVSKxs/ZyC5cBv77o5M1TyHxM3rmK/img.png?width=1200&amp;amp;height=675&amp;amp;face=0_0_1200_675');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Google Mobile Ads Unity Plugin Reference &amp;nbsp;|&amp;nbsp; Google for Developers&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Stay organized with collections Save and categorize content based on your preferences. Google Mobile Ads Unity Plugin Reference Reference docs for the Google Mobile Ads Unity Plugin. Classes AdapterResponseInfo Response information for an individual ad net&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developers.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;api 에 대해서 공식 자료를 참고할때는 이곳에 가서 reference 에서 참고 하도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 현재 그렇게 오래 되지 않은 과거의 자료를 가지고 예제로 동작하는 프로젝트에서 더 효율적이고 탄탄한 형태의 광고 지원 형식을 만들기 위해서 분석하고 있는데, 해당 api 가 제공해주는 기능이 과거에 제작된 예제 프로젝트에서 의도한대로 동작하지 않고, 새롭게 변경된 부분이 있어서 동작이 다르다. 예제는 이미 outdated 인것 같은데, 이 예제 또한 google admob 에서 공식으로 제공해주는 것이기 때문에 그런 부분에서는 실질적인 기능 구현을 예제를 참고하면서 하기에는 아주 정확하게 그와 같이 동작하리라는 보장이 없을것 같다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자가 훨씬 많은 sdk 라면 더 빠르게 현재 버전에서도 완벽하게 동작하도록 빠른시간에 업데이트가 되고 할 수 있을것 같긴 하지만, 기본적으로 공식에서 제공해주는 예제라고 하더라도 항상 현재 버전과 완벽하게 문제없이 동작하리라는 생각은 하지 말도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제공해주는 예제 프로젝트 보다는 공식 guide 페이지를 기반으로 기능을 작성하고, 과거의 예제 프로젝트는 참고만 하도록 하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/763</guid>
      <comments>https://cocomodo.tistory.com/763#entry763comment</comments>
      <pubDate>Wed, 10 Jul 2024 23:23:07 +0900</pubDate>
    </item>
    <item>
      <title>IDFA 확인을 하는 방법과 이를 이용한 IOS 테스트 기기 등록</title>
      <link>https://cocomodo.tistory.com/757</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에 IDFA 를 확인하는 방법이 직접 코드를 작성해서 해당 기능을 구현해야만 하는줄 알았는데,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마켓에 IDFA 를 확인할 수 있게 해주는 앱이 이미 있어서 해당 앱을 이용해서 IOS 기기의 IDFA 를 확인할 수 있는 방법이 있어서 이를 기록해둔다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/dingding_qa/221937055641&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://m.blog.naver.com/dingding_qa/221937055641&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1720288227334&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[팁] GAID, IDFA 광고 식별자 찾기&quot; data-og-description=&quot;안녕하세요. 딩딩입니다! 오늘은 광고 식별자에 대해서 설명드리려고 합니다. 취미로 게임을 만들 때, 혹은...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/dingding_qa/221937055641&quot; data-og-url=&quot;https://blog.naver.com/dingding_qa/221937055641&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/nkrfN/hyWvXyV7LZ/KVLpc3g19ddmD53mKL8V5K/img.png?width=434&amp;amp;height=418&amp;amp;face=0_0_434_418&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/dingding_qa/221937055641&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/dingding_qa/221937055641&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/nkrfN/hyWvXyV7LZ/KVLpc3g19ddmD53mKL8V5K/img.png?width=434&amp;amp;height=418&amp;amp;face=0_0_434_418');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[팁] GAID, IDFA 광고 식별자 찾기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요. 딩딩입니다! 오늘은 광고 식별자에 대해서 설명드리려고 합니다. 취미로 게임을 만들 때, 혹은...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;여기서 나오는 방법처럼, the identifiers 라는 앱을 사용하면, 내가 직접 스크립트를 작성하지 않더라도 내 디바이스의 IDFA를 확인할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이것을 내 구글 애드몹의 테스트 기기로 등록하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에 IOS 테스트용 디바이스를 구매하고, 그리고 나서 위와 같은 방법을 이용해서 IDFA 를 확인하고, 그리고 나서 그걸 등록해서 테스트용 광고나 나오도록 만들어보자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 IDFA 라는것은 애플에서 지원하는 형태의 이름이고, 구글에서는 광고ID 혹은 GAID 라는것을 사용한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 이용해서 꼭 테스트 디바이스를 만들어보자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>기술수련자</author>
      <guid isPermaLink="true">https://cocomodo.tistory.com/757</guid>
      <comments>https://cocomodo.tistory.com/757#entry757comment</comments>
      <pubDate>Sun, 7 Jul 2024 02:52:39 +0900</pubDate>
    </item>
  </channel>
</rss>