初級代碼游戲的專欄介紹與文章目錄-CSDN博客
我的github:codetoys,所有代碼都將會位于ctfc庫中。已經放入庫中我會指出在庫中的位置。
這些代碼大部分以Linux為目標但部分代碼是純C++的,可以在任何平臺上使用。
源碼指引:github源碼指引_初級代碼游戲的博客-CSDN博客
C#是我多年以來的業余愛好,新搞的東西能用C#的就用C#了。
? ? ? ? 在嘗試了改用WinUI3之后,仍然無法正常打開商店鏈接,所幸商店web鏈接是可以打開的,但是——商店的web鏈接只能用于應用而不能用于加載項,所以內購仍然是無法實現的。
? ? ? ? 嘗試了按照桌面橋來處理,竟然解決了內購問題。
目錄
一、用HyperlinkButton打開商店鏈接(只能web商店)
二、代碼打開商店鏈接(可以打開商店應用)
三、內購 加載項(按照桌面橋處理即可打開內購界面)
一、用HyperlinkButton打開商店鏈接(只能web商店)
? ? ? ? 商店鏈接位于合作伙伴中心的應用下面的:
? ? ? ? 有兩個鏈接,一個是商店app的,一個是web版的商店的。
? ? ? ? 在窗口上放兩個超鏈接按鈕:
<StackPanel Orientation="Horizontal"><HyperlinkButton Content="WebStore" NavigateUri="https://apps.microsoft.com/detail/9P4DJBGG80XV"/><HyperlinkButton Content="AppStore" NavigateUri="ms-windows-store://pdp/?productid=9P4DJBGG80XV"/></StackPanel>
? ? ? ? ?得到兩個按鈕:
? ? ? ? 點“WebStore”按鈕就會打開瀏覽器跳轉到指定的商店頁面,點擊“AppStore”什么也不會發生(沮喪,是吧?勸退勸退)。
? ? ? ? ?因為加載項是沒有鏈接的,所以無法實現簡單跳轉。
二、代碼打開商店鏈接(可以打開商店應用)
? ? ? ? 前面用HyperlinkButton打開商店app是無效的,但是用代碼卻是可以的:
_= Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://pdp/?productid="+ StoreID));
? ? ? ? 這實在是有點摸不到頭腦。
三、內購 加載項(按照桌面橋處理即可打開內購界面)
? ? ? ? 內購之前用winforms是失敗的,打不開商店,改用WinUI3也不行。
????????狀況就是檢索應用信息沒問題,獲取用戶訂購狀態沒問題,走到RequestPurchaseAsync這一步就不會返回了,因為這是異步操作,程序繼續,操作永遠不會返回,也沒有報錯。
? ? ? ? 內購非常重要,最好應用以免費加內購的方式提供,而不是試用版,一看需要購買用戶就走了,根本不試用。
? ? ? ? 嘗試一下按照桌面橋處理看看效果。
????????桌面橋處理:
context = StoreContext.GetDefault();//Desktop Bridge{// Obtain window handle by passing in pointer to the window objectvar hwnd = WinRT.Interop.WindowNative.GetWindowHandle(windowObject);if (hwnd == IntPtr.Zero) {sbState.AppendLine("hwnd == IntPtr.Zero");}// Initialize the dialog using wrapper function for IInitializeWithWindowWinRT.Interop.InitializeWithWindow.Initialize(context, hwnd);}
? ? ? ? 哭死,終于出現了:
? ? ? ? 哪個文檔說了WinUI3程序是桌面橋應用????
(這里是文檔結束)