누군가 나를 도울 수 있는지 궁금합니다.StoreLicense 클래스의 IsActive가 사용 가능합니까?
foreach (KeyValuePair<string, StoreLicense> item in appLicense.AddOnLicenses)
{
StoreLicense addOnLicense = item.Value;
if (addOnLicense.IsActive)
{
Frame.Navigate(typeof(thispage));
}
else
{
var messageDialog = new MessageDialog("You need to buy the add-on to access this part of the app.");
await messageDialog.ShowAsync();
}
}
그러나,이 isActive는 항상 true를 돌려 듯 : 사용자가 창조주의 업데이트를 목표로 내 UWP 앱 애드온을 구입 한 경우
나는 확인하기 위해 다음 코드 조각을 구현했습니다. Microsoft의 문서에서 StoreLicense 클래스를 조사 할 때 IsActive 속성은 "향후 사용을 위해 예약되어 있으며 현재 릴리스에서 사용하도록되어 있지 않습니다. 현재는 항상 true를 반환합니다"라는 것을 알았습니다. 그렇다면 사용자가 내 부가 기능에 대한 활성 라이선스를 가지고 있는지 어떻게 판단 할 수 있습니까?도움을 주시면 감사하겠습니다.
건배
분명히
내게 너무 빨리 돌아와 줘서 고마워. 새로운 Windows.Services.Store 네임 스페이스 대신 Windows.ApplicationModel.Store가 더 이상 사용되지 않기를 바랄뿐입니다. 더 새로운 네임 스페이스를 사용하는 방법이 있습니까? 아니면 ApplicationModel.Store를 사용하는 것이 더 좋습니까? – hlbmallo
@hlbmallo 죄송합니다. 'CurrentApp' 클래스가 이전 네임 스페이스에 있다는 것을 완전히 잊었습니다. 'AddOnLicenses' 사전은 사용자가 사용 허가를받은 AddOns만을 포함합니다. 그래서 IsActive 속성의 값을 검사 할 필요가 없습니다 : AddOn이 사전에 있다면 사용자가 그것을 구입했고 그 반대도 마찬가지입니다. –
안녕하세요. Milto, 내가이 문제를 해결했다고 생각했지만 인앱 구매 경험을 구현하는 데 여전히 어려움을 겪고 있습니다. 나는이 특정 애드온의 라이센스가 사용자 콜렉션에 있는지 확인하기 위해 'if (addOnLicense.IsActive)'와 'if (addOnLicense.SkuStoreId == "MYSTOREID")'행을 교체했지만, else 문이 대신 실행됩니다. 이것을 극복하는 방법에 대한 아이디어? 건배. – hlbmallo