> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 푸시 알림 보내기

> PixelGames에서 새로운 게임과 친구 활동에 대해 플레이어에게 알려보세요.

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block font-sans whitespace-pre-wrap break-words">
      <div className="pr-7">
        {children}
      </div>
    </CodeBlock>;
};

export const pushNotificationPrompt = "Notify a player when a friend beats their high score in PixelGames.";

<AiPrompt>
  {pushNotificationPrompt}
</AiPrompt>

<Frame caption="잠금 화면에 도착한 PixelGames 알림.">
  <img src="https://mintcdn.com/replit/WuaQIOfW5oxRlxex/images/pixelgames/mobile/notification.gif?s=1335ca08e398f2ae9a8b31e1a0c3d085" alt="폰의 잠금 화면에 표시되는 PixelGames 푸시 알림" data-path="images/pixelgames/mobile/notification.gif" width="1516" height="726" data-path="images/pixelgames/mobile/notification.gif" />
</Frame>

Android는 Expo Go에서 바로 테스트할 수 있습니다. iOS는 먼저 앱을
[TestFlight에서 업로드하고 설치](/build/mobile-testflight)해야 합니다. Apple은 테스트용이라도
알림을 받기 전에 앱이 Apple에 등록되어 있어야 한다고 요구합니다.

<Steps>
  <Step title="권한 요청하기">
    iOS와 Android 모두 첫 알림 전에 한 번 프롬프트를 표시합니다. 거부하면 플레이어가
    Settings에서 다시 활성화하기 전까지는 알림이 오지 않습니다.
  </Step>

  <Step title="기기 등록하기">
    Agent가 로그인한 플레이어의 푸시 토큰을 등록하여, PixelGames가 어떤 기기에 알림을 보낼지
    알 수 있도록 합니다.
  </Step>

  <Step title="전송하기">
    친구가 해당 플레이어의 최고 점수를 넘으면 알림이 발생합니다.
  </Step>
</Steps>

## 테스트하기

1. 프롬프트가 표시되면 알림 권한을 허용하세요. 이것이 승인될 때까지 PixelGames는 아무것도
   보낼 수 없으며, 프롬프트는 한 번만 표시됩니다.
2. Agent에게 단발성 테스트 알림을 요청하는 대신, 두 번째 계정에서 친구의 최고 점수를 넘는 등
   실제 조건을 발생시켜보세요. 이렇게 하면 점수 저장, 누구에게 알릴지 확인, 전송이라는 전체
   경로가 작동하는지 확인할 수 있습니다. 단순히 권한이 부여되었는지만 확인하는 것이 아닙니다.
3. 잠금 화면에 도착하는지 확인한 다음, 탭해서 PixelGames가 열리는지 확인하세요. 탭하는
   것으로 알림이 단순히 표시되는 것뿐만 아니라 실제로 앱으로 돌아가는 경로가 작동하는지
   확인할 수 있습니다.

이 작업은 실제 폰에서 진행하세요. 알림은 시뮬레이터에는 도착하지 않습니다. 설정 방법은
[Expo Go로 테스트하기](/build/mobile-preview-testing)를 참고하세요.

## 문제 해결

* **iOS에서 알림이 전혀 오지 않음:** [TestFlight](/build/mobile-testflight)에서 테스트하고
  있는지 확인하세요. Expo Go는 iOS에서 푸시를 받을 수 없습니다.
* **플레이어가 권한을 부여했지만 아무것도 받지 못함:** 토큰이 실제로 해당 계정에 저장되었는지
  확인하세요. 로그인과 알림 설정이 별도로 진행될 때 흔히 발생하는 누락입니다.

## 다음 단계

<CardGroup cols={2}>
  <Card title="햅틱 추가하기" icon="wave-square" href="/ko/build/mobile-haptics">
    알림에 햅틱 탭을 결합해보세요.
  </Card>

  <Card title="모바일 앱에서 이미지 저장하기" icon="image" href="/ko/build/mobile-store-images">
    프로필 사진을 App Storage에 저장해보세요.
  </Card>
</CardGroup>

## 관련 항목

* [App Store에 제출하기](/build/mobile-publish-ios)
