批量購(gòu)買(mǎi)計(jì)劃應(yīng)用分配
在iOS 7以及之后版本或者masOS v10.9以及之后版本,批量購(gòu)買(mǎi)計(jì)劃(VPP)應(yīng)用分配允許一個(gè)組織為其用戶分配軟件應(yīng)用程序(后文簡(jiǎn)稱(chēng)app)。分配之后,如果某個(gè)用戶不再需要這個(gè)app,這個(gè)app占據(jù)的授權(quán)(后文簡(jiǎn)稱(chēng)license)可以被回收并且再次分配給其他用戶。在iOS 9以及之后版本或者masOS v10.11以及之后版本,VPP可以根據(jù)設(shè)備序列號(hào)進(jìn)行分配授權(quán),因此下載app的時(shí)候可以不再需要輸入Apple Id。
VPP提供了一系列可供MDM服務(wù)器為特定用戶或者設(shè)備提供批量采購(gòu)的web services。目前支持的services如下:
把MDM系統(tǒng)中的用戶注冊(cè)到iTunes Store系統(tǒng)中,并且為兩個(gè)用戶創(chuàng)建綁定關(guān)系:registerVPPUserSrv.
確定一個(gè)或多個(gè)VPP用戶的當(dāng)前ITunes賬號(hào)狀態(tài): getVPPUserSrv 或者 getVPPUsersSrv.
列舉一個(gè)組織擁有的所有許可的VPP資產(chǎn)狀態(tài),包括每個(gè)資產(chǎn)已經(jīng)分配的和未分配的授權(quán)數(shù)量:getVPPAssetsSrv.
在iTunes中查詢(xún)app和書(shū)籍的信息:contentMetadataLookupUrl
解除一個(gè)VPP用戶與 iTunes用戶的綁定關(guān)系,并且釋放可以撤銷(xiāo)的授權(quán):retireVPPUserSrv.
執(zhí)行批量綁定或者解綁VPP用戶和設(shè)備的授權(quán)許可:manageVPPLicensesByAdamIdSrv.
獲取或者修改VPP用戶的郵件地址并且把用戶綁定到任意一個(gè)已管理的Apple ID:editVPPUserSrv.
存儲(chǔ)或者獲取在VPP服務(wù)器上的組織自有信息:VPPClientConfigSrv.
獲取當(dāng)前支持的VPP web service的URL和錯(cuò)誤碼信息: VPPServiceConfigSrv.
獲取一個(gè)VPP用戶當(dāng)前的用于軟件或者其他產(chǎn)品的許可狀態(tài)。getVPPLicensesSrv。請(qǐng)注意這個(gè)服務(wù)將會(huì)被棄用,因此盡量避免使用這個(gè)服務(wù)。
VPP 納入 Apple School Manager
2017年秋,VPP已納入Apple School Manager。Apple School Manager唯一使命是為學(xué)校用戶提設(shè)備管理和內(nèi)容管理。把VPP移動(dòng)到Apple School Manager的Apps & Books類(lèi)目中是為了使得程序設(shè)備管理員(也被稱(chēng)作內(nèi)容管理員)能夠?qū)①?gòu)買(mǎi)內(nèi)容與管理學(xué)生和老師的設(shè)備以及Apple Id進(jìn)行統(tǒng)一。Apple School Manager的VPP交易是基于位置的,這使得內(nèi)容管理員更加便捷的根據(jù)需要和位置信息轉(zhuǎn)換許可。
為了支持設(shè)備的定位,VPP會(huì)使用到定位令牌。定位令牌是提供給內(nèi)容管理員的,其使用方式和之前的VPP令牌一樣。內(nèi)容管理員可以在Apple School Manager 的設(shè)置頁(yè)面下載定位令牌并且將其上傳到自己的MDM中。這樣,MDM就能在當(dāng)?shù)卦L問(wèn)授權(quán)許可允許訪問(wèn)的資源。在MDM內(nèi)部分配許可使用的是和xx一樣的工作流。
VPP會(huì)繼續(xù)兼容基于用戶令牌的歷史功能。根據(jù)使用的令牌的類(lèi)型的不同,VPP會(huì)新建基于位置或者使用原有的基于用戶的響應(yīng)。
如何支持 VPP 納入Apple School Manager
我們推薦但不強(qiáng)制要求把VPP遷移到Apple School Manage。Licenses在使用舊版本的令牌分配的過(guò)程中必須由content manage用舊版本的令牌管理,直到licenses分配到本地。因此,MDM需要同時(shí)支持新老兩套licenses。對(duì)于不能同時(shí)支持舊版本的token和新版本基于位置的token的MDM系統(tǒng),會(huì)造成用戶在Apple School Manager和他們所屬的MDM系統(tǒng)中存在不同的用戶體驗(yàn)。
為了讓MDM支持基于位置的令牌,以下是必須的步驟:
更新部分API用來(lái)處理Apple School Manager新VPP中的位置信息。對(duì)于通過(guò)老版本的token分配的licenses將不會(huì)攜帶位置信息,只有在Apple School Manager 夠買(mǎi)的VPP資產(chǎn)才會(huì)在API的響應(yīng)中攜帶附加的位置信息。特別說(shuō)明,這些API已經(jīng)支持返回位置信息:getVPPAssetsSrv, VPPClientConfigSrv.
更新MDM UI,支持在token和資產(chǎn)中顯示位置名稱(chēng)。對(duì)于位置來(lái)說(shuō),很多位置的名字可以相同(很多學(xué)校都叫同樣的名字),但是他們UID是唯一的。顯示位置的名字對(duì)于用戶來(lái)說(shuō)極為重要,特別是當(dāng)基于位置的token即將過(guò)期的時(shí)候。
在適當(dāng)?shù)臅r(shí)間刷新許可狀態(tài)可以得到更為精確的結(jié)果。因?yàn)樵S可可以由Apple School Manager重新分配,由Apple School Manager重新分配的操作無(wú)法被MDM感知。因此推薦每次界面加載的時(shí)候重新刷新許可狀態(tài)。
使用 getVPPAssetsSrv而不是getVPPLicensesSrv獲取許可數(shù)量。 getVPPAssetsSrv 更高效并且會(huì)返回adamIds的概要和數(shù)量而不是返回所有許可的信息。
處理不同的content managers上傳相同的token。方法是一個(gè)位置只會(huì)儲(chǔ)存一個(gè)token,而不是一個(gè)VPP賬戶存儲(chǔ)一個(gè)。
處理與基于位置的token功能新增的錯(cuò)誤碼。
后記:第一次嘗試翻譯這種協(xié)議文檔,存在很多錯(cuò)誤。也確實(shí)感到難以下手,特別是有些地方英文一眼就明白是什么意思,但是用中文卻不好描述