AppsInToss.AITVisibilityHelper.OnVisibilityChanged 관련

using System;
using UnityEngine;
using AppsInToss;

[RequireComponent(typeof(AudioSource))]
public class BgmVisibilityController : MonoBehaviour
{
[SerializeField] private AudioSource audioSource; // Inspector에서 할당

private void Awake()
{
    if (audioSource == null)
        audioSource = GetComponent<AudioSource>();
}

private void OnEnable()
{
    try
    {
        bool current = AppsInToss.AITVisibilityHelper.IsVisible;
        ApplyVisibility(current);
    }
    catch (Exception)
    {
        // SDK 호출 실패 시 기본 동작: 재생 유지
    }

    // 이벤트 구독
    AppsInToss.AITVisibilityHelper.OnVisibilityChanged += OnVisibilityChanged;
}

private void OnDisable()
{
    AppsInToss.AITVisibilityHelper.OnVisibilityChanged -= OnVisibilityChanged;
}

private void OnVisibilityChanged(bool isVisible)
{
    Debug.Log($"[BgmMinimal] Visibility changed -> {isVisible}");
    ApplyVisibility(isVisible);
}

public void SetVisibility(bool isVisible) => ApplyVisibility(isVisible);

private void ApplyVisibility(bool isVisible)
{
    if (audioSource == null) return;

    if (isVisible)
    {
        if (audioSource.time > 0f && !audioSource.isPlaying) audioSource.UnPause();
        else if (!audioSource.isPlaying) audioSource.Play();
    }
    else
    {
        audioSource.Pause();
    }
}

}

해당 코드를 사용해서 안드로이드에서는 화면진입시 사운드가 다시 나오는데,
아이폰에서는 화면에서 나가는거는 정상적으로 작동하는데 화면 진입할때는 작동을 하지 않고 화면을 터치를 하거나 그럴경우 다시 사운드가 나온다고 합니다. 혹시 해당 코드에 문제가 있는건가요 ?

iOS에서 화면 포커싱이 변경된 후, 음악이 사용자 제스처 없이 다시 나오지 않는건 브라우저단에서 막는 것으로 알고 있어요. :thinking:

혹시 화면 전환 전, 음량을 0으로 조정했다 다시 올리는 방법으로 처리해보시는건 어떤가요 ?

아하 어플을 비활성화할때 사운드를 틀거나할때 멈추지않고사운드를 0으로 했다가 다시 100으로하라는뜻인거죠 ?

검색을 해보니

granite.config.ts의 webViewProps에 mediaPlaybackRequiresUserAction: false 설정해 주면 되네요.

이렇게 하면된다고하는데

현재 ait configuration에 require user action이 있고 이게 체크가 안되어있으면 false인거 아닌가요 ?

unity sdk 에서는 기본값이 false 로 되어있습니다.
ios 브라우저 정책으로 막는 것 같아요 :cry:

0이랑 100으로했는데 이거는 안됩니다.

ios 정책이 그렇다면 어떻게해야하나요? 이게 반려사유로있던데

appName 알려주시면 확인해보겠습니다!

animaldollshop

다른 반려사유도 있는데 다른 부분들은 수정했고 현재 사운드 관련 문제만 남아있어서

다시 검수 요청 주시면, 빠르게 검수하겠습니다!

네 빠르게 나머지부분 추가로 검토해서 올려보겠습니다.

검토 신청했습니다!

결제 오류가 나서, 빠르게 다시 검토신청했는데 빠르게 가능하면 부탁드립니다 ㅠ