# Apple 제품군 공유

> 제품이 Apple 가족 공유에 적합한지 확인하고 나중에 가족 구성원이 해당 공유 구매에 대한 액세스 권한을 잃을 때와 같이 권한이 취소될 때 트리거되는 핸들러를 등록하는 방법을 알아봅니다.

Apple은 자동 갱신형 구독과 비소모품 인앱 구매를 위한 가족 공유를 지원합니다. 가족 공유를 사용하려면 앱 스토어 연결에서 각 제품별로 활성화합니다. 설정 지침은 인앱 구매를 위한 [패밀리 공유 켜기](https://developer.apple.com/help/app-store-connect/configure-in-app-purchase-settings/turn-on-family-sharing-for-in-app-purchases)를 참고하십시오.

## 가족 공유 자격##family-sharing-eligibility

Apple 제품 메타데이터의 [`isFamilyShareable`](https://developer.apple.com/documentation/storekit/product/isfamilyshareable) 필드를 사용하여 제품을 공유할 수 있는지 확인합니다. 이 메타데이터에 액세스하려면 `Product.ProductMetadata.GetAppleProductMetadata()`를 호출합니다.

```cs
        bool IsProductFamilyShareable(Product product)
        {
            var appleProductMetadata = product.metadata.GetAppleProductMetadata();
            return appleProductMetadata?.isFamilyShareable ?? false;
        }
```

## 취소된 권한##revoked-entitlements

앱은 가족 구성원이 공유 구매에 액세스할 수 없는 경우를 처리해야 합니다. 이렇게 하려면 `StoreController.AppleStoreExtendedPurchaseService`를 사용하여 [IAppleStoreExtendedPurchaseService.OnEntitlementRevoked](https://docs.unity3d.com/Packages/com.unity.purchasing@5.0/api/UnityEngine.Purchasing.IAppleStoreExtendedPurchaseService.html#UnityEngine_Purchasing_IAppleStoreExtendedPurchaseService_OnEntitlementRevoked)에 대한 리스너를 추가합니다.

이 이벤트는 Apple이 제품에 대한 액세스를 취소할 때 발생합니다. 앱이 그에 따라 액세스를 업데이트할 수 있도록 리스너에 취소된 제품 ID를 전달합니다. 공유 구매에 대한 액세스 권한을 잃는 것은 이 이벤트를 트리거할 수 있는 잠재적인 시나리오 중 하나입니다.

다음 샘플을 사용하여 Apple이 구매에 대한 액세스 권한을 취소할 때 제품 ID를 받기 위해 리스너를 등록합니다.

```cs
void AddAppleListeners()
{
    var applePurchaseService = UnityIAPServices.StoreController().AppleStoreExtendedPurchaseService;
    if (applePurchaseService != null) {
        applePurchaseService.OnEntitlementRevoked += EntitlementRevokedListener;
    }
}

void EntitlementRevokedListener(string productId)
{
    Debug.Log($"Revoked product: {productId}");
}
```
