콘텐츠로 이동

모듈 설치 및 초기화

Hive Axyl SDK에 '푸시 알림' 모듈을 설치하고 초기화하는 방법을 안내합니다. 모듈 설치 및 초기화에 앞서 Hive Axyl SDK를 설치하세요.

Note
  • Hive 콘솔에서 프로젝트와 App ID를 만들고 보안 키를 확인하지 않았다면 먼저 앱 정보를 생성하세요.
  • 아직 Hive Axyl SDK를 설치하지 않았다면 먼저 Hive Axyl SDK를 설치하세요.


1. 푸시 모듈 설치

리모트 푸시의 토큰 등록과 수신 동의 관리는 com.hive.axyl.push 패키지로 제공됩니다. SDK 설치에서 사용한 방법으로 이 패키지를 추가합니다.

Packages/manifest.json(권장)을 사용한다면 dependencies에 추가합니다. 버전 값은 실제 배포 버전으로 바꿔 입력합니다.

"dependencies": {
  "com.hive.axyl.core": "PLACEHOLDER_AXYL_CORE_VERSION",
  "com.hive.axyl.push": "PLACEHOLDER_AXYL_PUSH_VERSION"
}

설치 후 using Hive.Axyl.Push; 구문에서 컴파일 오류가 없으면 정상적으로 설치된 것입니다.

OS별 리모트 푸시 알림을 사용하려면 필요한 애드온 패키지를 함께 설치합니다.

기능 패키지 초기화 확장 Resolve 대상
Android 리모트 푸시(FCM) com.hive.axyl.push.addon.fcm AddFCM() IFCMPlugin
iOS 리모트 푸시(APNs) com.hive.axyl.push.addon.apns AddAPNS() IAPNSPlugin

Android에서 FCM으로 디바이스 토큰을 발급받으려면 FCM 연동 환경 구성에서 FCM 플러그인을 함께 설치합니다. iOS에서 APNs 토큰을 발급받고 수신 콜백을 처리하려면 APNs 연동 환경 구성을 완료합니다.


2. 푸시 모듈 초기화

푸시 모듈은 SDK 초기화(HiveBootstrap.Initialize)의 builder에서 함께 등록합니다. 초기화는 앱 전체에서 한 번만 호출하므로, 이미 다른 모듈을 초기화하고 있다면 같은 Initialize 호출에 AddPush()만 추가합니다.

using Hive.Axyl.Core;
using Hive.Axyl.Core.Unity;   // HiveBootstrap
using Hive.Axyl.Push;         // AddPush 확장

var config = CoreConfig.CreateBuilder("{appId}")
    .SetZone(Zone.Sandbox)   // 개발·테스트 환경. 상용 빌드는 Zone.Real
    .Build();

HiveBootstrap.Initialize(config, builder =>
{
    builder.AddPush();
    // 인증 등 다른 모듈과 함께 사용한다면 한 번에 등록합니다.
    // (AddAuth/AddToken 확장은 using Hive.Axyl.Auth; 가 필요합니다.)
    // builder.AddAuth().AddToken().AddPush();
});

AddPush()는 SetZone으로 지정한 환경의 서버 주소를 자동으로 사용합니다. 등록 후 HiveCore.Resolve<IPushService>()로 푸시 기능을 가져와 사용합니다. 푸시 API는 로그인된 세션을 사용하므로, 호출 전에 로그인을 먼저 완료해야 합니다.

3. OS 애드온 초기화

OS별 애드온은 필요한 기능만 추가합니다. 아래 예시는 Android에서 FCM 리모트 푸시를 등록하고, iOS에서 APNs 리모트 푸시를 등록하는 형태입니다.

using Hive.Axyl.Core;
using Hive.Axyl.Core.Unity;
using Hive.Axyl.Push;
#if UNITY_ANDROID
using Hive.Axyl.Push.Addon.FCM;
#elif UNITY_IOS
using Hive.Axyl.Push.Addon.APNS;
#endif

HiveBootstrap.Initialize(config, builder =>
{
    builder.AddPush();

#if UNITY_ANDROID
    builder.AddFCM();
#elif UNITY_IOS
    builder.AddAPNS();
#endif
});

OS 애드온 포트는 지원 대상 OS에서만 등록됩니다. Editor나 다른 OS에서 같은 코드가 실행될 수 있다면 HiveCore.Resolve<T>() 호출을 OS 분기로 감싸거나 HiveCore.TryResolve<T>()로 확인한 뒤 사용하세요.

다음 단계