Windows Phone 8.1 - App 封裝方式

Windows Phone – 8.1 App 輸出方式

今天一早被問到,如果舊的 App 是使用 Siverlight 所開發的,那之後換成 XAML App 在上架後,

對於已安裝的用戶會是怎樣的狀況?

這時候我想到過去 WP7 開發的 App ,改換用 WP8 Silverlight App 開發並上架後,對於用戶而言是直接升級。

但現在是換用 XAML App 開發等於底層不再是 Siverlight ,而且 Windows Runtime ,那究竟會變成什麼樣子?

我馬上來研究一下,並且加入 Windows Phone 8.1 之後 App 要在上架時的步驟。

 

[差異點]

1. Silverlight 所開發的 App,輸案的檔案為:*.xap;

2. Windows Runtime 所開發的 App,輸出的檔案為:*.appx;

3. 建立要上架的資訊時,記得為 App 設定 Windows 與 Phone 二個市集統一的識別名稱;

 

 

[Runtime App 輸出步驟]

》Runtime App 輸出分成二種:(1) 可上架的 package;(2) 非上架的 package

    開啟要輸出的方案 (Windows Phone 8.1 或 Universal App 專案),在 Windows Phone 8.1 專案按滑鼠右鍵,如下圖:

    image

 

1. 選擇 Create App Packages:

    image

    將會詢問您建立的 Packages 是否要上架至 Windows Phone Store,如果單純只是要建立安裝檔不上架的話選擇「No」

    如果您選擇「Yes」將與選擇「Associate App with the Store」相同需要先登入至 Windows Phone Store

 

    1-1. 選擇 No,單純輸入 Packages:

           image

           顯示最後輸出的位置、填寫輸入的版本代碼、是否需要建立 App Bundle、指定輸出支援的平台,只要按下 Create將會建立安裝檔。

           image

          

 

2. 選擇 Associate App with the Store:

    image

    選擇該項目一打開就告訴你接下來要登入 Window Phone Store 來取得發佈者的資訊。所以先登入自己的 Dev Center 帳號。

    該項目設定完畢後,該專案會跟指定的 App Info 建立起關聯,接下來,選擇「Create App Packages」來建立要上架的 packages。

 

     2-1. 選擇目前 App 要上架至那一個建立好的 App Info;

            如果您沒有看到任何 App Info 的話,需要先至 Dev Center 建立需要的 App Info。或者如果您的 App 已經有上傳過 package 的話,

            右方的核取方塊也要記得勾選。這樣才能將所有的 App 列出來。

            image

            選擇好要利用那個 App Info 來包裝 package 後,按下 Next。

    

     2-2. 擷取指定的 App Info後,將目前的 App 專案與 App Info 綁定建立 association:

            image

 

     2-3. 完成綁定後,重新在專案按下右鍵選擇「Create App packages」 (同 1),但這次要選擇的是「Yes」;

            image

            按下「Next」後將會顯示如上所建立關聯的資訊,但如果您未建立關聯將會需要重新以上的步驟將專案與 App Info 綁定起來。

            image

 

     2-4. 選擇要輸出的目錄、版本資訊、必要的資料等,最後按下「Create」;

            image

            建立完成後,將會輸出以下的內容:

            image

 

      2-5. 建立完成後,Package 精靈會詢問您是否要進行 Windows App Certification Kit 來協助上架 App 的驗證;

             image

             建議可以跑一下,讓 App 送審前可以得知那些沒有通過審核,先進行處理。

             詳細可參考<Using the Windows App Certification Kit>。

 

 

 

》. 建立 Windows 與 Windows Phone App 相同程式的關聯

    根據<在 Windows 市集和 Windows Phone 市集中共用應用程式的身分識別>說明,以下列出幾個重點:

    》用戶購買同一個 App 不管是在 Windows Store 或是 Windows Phone Store,只需購買一次即可在二平台進行下載;

    》對於 in-app 中購買的項目也相同,只需購買一次二個平台均可以使用;

    》App 支援 Roam data 機制來同步 Windows 與 Phone 中 App的資料;

    》App 利用相同的 WNS 設定,讓發送推播時二個平台的設備均可以收到通知;

    》對於 App 被發布在兩個 Store,圖標會顯示在兩個Windows應用商店和Windows Phone Store中應用程序的信息。

       這讓客戶知道,如果他們得到在Windows Store中的應用程序,他們還可以下載它兼容Windows手機(反之亦然)。

       如下圖:

       Store listings for app that shares identity in the Windows Store and Windows Phone Store

 

    設定方式:

    a. 進入 Dev Center 開啟要設定的 App;

         image

    b. 找到如下圖,並建立專屬的名字,進行驗證即可以完成;

         image

 

 

 

[結論]

1. 如果設備是 WP 8.0 的版本,將無法看到 WP 8.1 Silverlight / XAML App;

2. 如果已安裝 WP 8.0 所開發的 App,當開發者上架了 WP 8.1 Silverlight 或 XAML App,均會直接升級;

    =>Local Folder 下的內容將會被保留;

    =>建議在 App 裡面做一些升級的邏輯,如果資料與邏輯已更新,可以提示用戶重新登入或將 Local Folder 重新建置;

 

======

以上是分享利用 Windows Runtime 所建立的 WP 8.1 App 如何上架的作法。其作法與 Windows Store App 相似。

分享給過去像我沒有寫過 Windows Store App 的用戶做個參考。

 

References:

Building universal Windows apps for all Windows devices

Migrating Windows Runtime apps to Windows Phone 8.1

Dev Center now open for Windows Phone 8.1 and universal Windows app submissions

Packaging, deployment, and query of Windows Store apps

App packager (MakeAppx.exe) (封裝 App 的必要元件)

SignTool (憑證包裝工具)

Trusted Root Certification Authorities Certificate Store

Windows Phone Store Test Kit for Windows Phone 8

Windows App Certification Kit tests for Windows Store apps (重要)

Windows App Certification Kit tests for Windows Phone 8.1 apps (重要)

Create an app package (重要)

 

Dotblogs Tags: ,