打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DM DD文件说明

OMA OTA Downlod Description  

2009-12-23 16:00:24|  分类: OMA|字号 订阅

OMA OTA Downlod Description
簡稱 OMA DD

OMA DD在google中搜尋, 可以找到很多資料, 但很多都是癈話

在講到OMA DD時, 一定都會講到DRM
什麼是DRM, 簡單講就是數位版權管理
所以在google中找到的都在講drm, dm
反而真正的DD到底怎麼做, 講到的很少
很多也都是洋鬼子文, 不知所芸

在這介紹這個Download Description, 只討論 DD, 不討論 DRM
DRM牽涉的範圍太廣了, 我也不是太懂, 所以不討論

這個Script是用XML組成的, 例如

<media xmlns="">
   <objectURI>http://1.2.3.4/abc.gif</objectURI>
   <size>123</size>
   <type>image/gif</type>
   <type>application/vnd.oma.drm.message</type>
   <name>abc</name>
   <vendor>abc</vendor>
   <description>abc</description>
</media>

在這個Script是用<media>包起來的, 底下三個欄位是必須的

    1. objectURI : 要被下載的檔案的完整URL
    2. type : 要被下載的檔案的 MIME Type
    3. size : 被下載檔案的size(單位是byte)
    
非必須的欄位有:
    1. installNotifyURI : 安裝完或下載完通知的 URL
    2. nextURL : 結束下載後轉至的 URL
    3. DDVersion : 檔案版本 (有些手機對於java程式必須指定, 不然無法下載)
    4. name : 下載檔案的名稱, 可自行取, 不用跟檔名一致
    5. description : 簡單的描述
    6. vendor : 作者
    7. infoURL : 檔案說明的 URL (非常沒有用)
    8. iconURI : 檔案的 icon 圖示的 URL
    9. installParam : 安裝時額外的參數
    
在非必須的欄位中有兩個欄位要注意的
    1. installNotifyURI : 這個欄位在下載完或安裝完時, 會通知你指定的 URL,
       這樣可以知道, 用戶有沒有下載成功, 這在Internet的環境中是無法得知的,
       其用意是讓營運商計費用的, 也可以正確的統計下載次數
    2. nextURL : 這個欄位是在下載完後, 通知WAP轉至指定的URL, 在這個頁面,
       你可以用上面的Info, 馬上統計出下載量, 也可以馬上顯示感謝下載的頁面,
       或其他你想得到的(有些手機要成功下載才會轉至此 URL)
       
installNotifyURI的通知方式是用POST的方式, 在你指定的頁面接收POST的值就可以得知下載結果
POST的內容有
    1. 900 Success : 成功下載完成
    2. 901 Insufficient memory : 手機不接受此檔案的規格或手機的記憶體已不足存放此檔案
    3. 902 User Cancelled : 用戶自行取消下載
    4. 903 Loss of Service : 下載時手機無訊號
    5. 905 Attribute mismatch : 實際的檔案屬性與DD檔中描述的不一致
    6. 906 Invalid descriptor : 錯誤的DD檔 (DD檔格式都不對了, 怎麼會回傳Status呢????)
    7. 951 Invalid DDVersion : 不正確的版本宣告
    8. 952 Device Aborted : 與 901 訊息類似, 也是不支援或記憶體不足所造成的
    9. 953 Non-Acceptable Content : 手機不支援此檔案
   10. 954 Loader Error : objectURI所指定的 URL 錯誤, 找不到下載的檔案或檔案有問題
   
底下是PHP的範例:

download.php
<?
header("Content-Type: application/vnd.oma.dd+xml");
header("Cache-Control: private");
$file = $_GET['file'];

$xml = "<media xmlns=\"">";
$xml .= "<objectURI>http://1.2.3.4/$file</objectURI>";
$xml .= "<size>".filesize($file)."</size>";
$xml .= "<type>".content_mine_type($file)."</type>";
$xml .= "<type>application/vnd.oma.dd+xml</type>"; //這一行好像可以不用, 我不確定!!!
$xml .= "<name>abc</name>";
$xml .= "<vendor>CDGod</vendor>";
$xml .= "<description>demo</description>";
$xml .= "<installNotifyURI>http://1.2.3.4/notify.php?file=$file</installNotifyURI>";
$xml .= "<nextURL>http://1.2.3.4/dlok.php?file=$file</nextURL>";
$xml .= "</media>";
header("Content-Length: ".strlen($xml));
print $xml;
?>

notify.php
<?
$file = $_GET['file'];

$notifystr = file_get_contents("php://input")."\r\n"; // Get RAW POST DATA
$fp = fopen($file."_notify.log", "a");
fputs($fp, $notifystr);
fclose($fp);
?>

dlok.php
<?
$file = $_GET['file'];

echo $file." download success!!!";
?>

rCobra 發表在 痞客邦 PIXNET 迴響(0) 引用(0) 人氣(203)


發表留言

本篇迴響權限:開放所有人迴響


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
DRM设备支持的媒体(MIME)类型
OMA-ERELD-DLOTA-V2_0-20060907-C
宝起QD10t-22m电器图纸
OMA DM业务简介
dos获取昨天日期的批处理
OMA
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服