2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  中國(guó)移動(dòng)互聯(lián)網(wǎng)基地</b></p><p><b>  2014年6月</b></p><p><b>  目錄</b></p><p><b>  1前言3</b></p><p>  1.1編寫(xiě)目的3</p&

2、gt;<p>  1.2面向的讀者3</p><p>  1.3支持的平臺(tái)3</p><p>  1.4版本說(shuō)明3</p><p>  1.5應(yīng)用內(nèi)計(jì)費(fèi)基礎(chǔ)說(shuō)明3</p><p><b>  2開(kāi)發(fā)前準(zhǔn)備3</b></p><p>  2.1開(kāi)發(fā)工具準(zhǔn)備3&l

3、t;/p><p>  2.2業(yè)務(wù)流程準(zhǔn)備4</p><p>  3開(kāi)發(fā)應(yīng)用內(nèi)計(jì)費(fèi)4</p><p>  3.1開(kāi)發(fā)應(yīng)用4</p><p>  3.1.1準(zhǔn)備開(kāi)發(fā)環(huán)境4</p><p>  3.1.2下載和導(dǎo)入SDK4</p><p>  3.1.3 使用SDK5</p&g

4、t;<p>  3.2開(kāi)發(fā)應(yīng)用注意事項(xiàng)6</p><p>  4應(yīng)用內(nèi)計(jì)費(fèi)SDK使用手冊(cè)7</p><p>  4.1SDK組成和接口說(shuō)明7</p><p>  4.1.1NetPurchase API說(shuō)明7</p><p>  4.1.2NetPurchaseDelegate9</p><

5、;p>  4.1.3NetPurchaseDelegate中各API數(shù)據(jù)說(shuō)明10</p><p>  4.2SDK運(yùn)行流程及要點(diǎn)說(shuō)明10</p><p>  4.2.1主要流程10</p><p>  4.2.2版權(quán)文件11</p><p>  4.2.3渠道文件11</p><p>  4.

6、3示例代碼11</p><p>  4.3.1SDK初始化14</p><p>  4.3.2SDK訂購(gòu),查詢(xún),退訂接口的調(diào)用15</p><p>  4.3.3添加配置文件16</p><p>  4.4如何在應(yīng)用內(nèi)計(jì)費(fèi)中使用有數(shù)17</p><p><b>  前言</b>

7、</p><p><b>  編寫(xiě)目的</b></p><p>  本文檔主要為開(kāi)發(fā)者提供技術(shù)支持,指導(dǎo)開(kāi)發(fā)者正確開(kāi)發(fā)中國(guó)移動(dòng)互聯(lián)網(wǎng)基地應(yīng)用內(nèi)計(jì)費(fèi)計(jì)費(fèi)ios版應(yīng)用。文檔提供了開(kāi)發(fā)者如何獲取所需資源及如何使用SDK等的指引,同時(shí)提供了相關(guān)的范例供開(kāi)發(fā)者學(xué)習(xí)使用。幫助開(kāi)發(fā)者開(kāi)發(fā)ios版計(jì)費(fèi)應(yīng)用。 </p><p><b>  面

8、向的讀者</b></p><p>  本指南適用于已經(jīng)掌握IAP應(yīng)用開(kāi)發(fā)方法,正在開(kāi)發(fā)調(diào)試IAP應(yīng)用的開(kāi)發(fā)人員。</p><p>  閱讀本開(kāi)發(fā)指南前應(yīng)先詳讀《中國(guó)移動(dòng)互聯(lián)網(wǎng)基地計(jì)費(fèi)能力業(yè)務(wù)指南》,了解相關(guān)知識(shí)方可開(kāi)始開(kāi)發(fā)應(yīng)用(下載地址:http://dev.10086.cn/iap/?action=down)。</p><p><b>  支

9、持的平臺(tái)</b></p><p>  目前支持iOS平臺(tái)iPhone、iTouch設(shè)備,要求iOS版本在4.3及以上。</p><p><b>  版本說(shuō)明</b></p><p><b>  應(yīng)用內(nèi)計(jì)費(fèi)基礎(chǔ)說(shuō)明</b></p><p>  應(yīng)用內(nèi)計(jì)費(fèi)SDK是在應(yīng)用內(nèi)付費(fèi)購(gòu)買(mǎi)內(nèi)容、服務(wù)、

10、游戲道具等應(yīng)用內(nèi)商品的基本組件,為應(yīng)用實(shí)現(xiàn)計(jì)費(fèi)功能提供支持。</p><p>  開(kāi)發(fā)者從中國(guó)移動(dòng)應(yīng)用商場(chǎng)上獲取計(jì)費(fèi)點(diǎn)等參數(shù)并在調(diào)用SDK時(shí)使用,即可實(shí)現(xiàn)應(yīng)用內(nèi)計(jì)費(fèi)。</p><p>  運(yùn)行應(yīng)用,SDK收到調(diào)用后,對(duì)計(jì)費(fèi)點(diǎn)進(jìn)行鑒權(quán),完成與用戶的二次確認(rèn)交互,由用戶確認(rèn)后完成計(jì)費(fèi)。</p><p><b>  開(kāi)發(fā)前準(zhǔn)備</b></p&g

11、t;<p><b>  開(kāi)發(fā)工具準(zhǔn)備</b></p><p>  下載最新版本ios SDK<1.1.0版>,下載方式:</p><p>  加入iOS版計(jì)費(fèi)SDK群:301084779,在群共享下載ios SDK<1.1.0版></p><p>  如需在中國(guó)移動(dòng)應(yīng)用商場(chǎng)下載和發(fā)布ios應(yīng)用,需要使用越獄

12、的ios設(shè)備。</p><p><b>  業(yè)務(wù)流程準(zhǔn)備</b></p><p>  開(kāi)發(fā)前資質(zhì)準(zhǔn)備、計(jì)費(fèi)點(diǎn)申請(qǐng)流程以及聯(lián)系技術(shù)支撐人員等功能說(shuō)明</p><p>  詳見(jiàn):《中國(guó)移動(dòng)互聯(lián)網(wǎng)基地計(jì)費(fèi)能力業(yè)務(wù)指南》</p><p>  下載地址:http://dev.10086.cn/iap/?action=down<

13、;/p><p><b>  開(kāi)發(fā)應(yīng)用內(nèi)計(jì)費(fèi) </b></p><p><b>  開(kāi)發(fā)應(yīng)用 </b></p><p><b>  準(zhǔn)備開(kāi)發(fā)環(huán)境</b></p><p>  在使用應(yīng)用內(nèi)計(jì)費(fèi)接口之前,請(qǐng)確認(rèn)XCODE、iOS SDK已經(jīng)安裝,并正常使用。如果尚未安裝,請(qǐng)參考以下資源,

14、安裝過(guò)程不再贅述。目前支持iOS平臺(tái)iPhone、iTouch設(shè)備,要求iOS版本在4.3及以上。XCODE、iOS SDK: </p><p>  https://developer.apple.com/xcode/index.php</p><p><b>  下載和導(dǎo)入SDK </b></p><p>  SDK以ZIP文件的形式提供給

15、開(kāi)發(fā)者在程序中使用,開(kāi)發(fā)者需要先把壓縮文件解壓,然后會(huì)出現(xiàn)libNetPurchaseLib.a、NetPurchaseLib.h、NetPurchaseLib.bundle文件。</p><p>  以下內(nèi)容將說(shuō)明如何在XCODE中,將libNetPurchaseLib.a、NetPurchaseLib.h、NetPurchaseLib.bundle文件加入到應(yīng)用工程中去。</p><p&g

16、t;  將libNetPurchaseLib.a、NetPurchaseLib.h、NetPurchaseLib.bundle文件拷貝到應(yīng)用工程的NetPurchaseLib目錄下,如沒(méi)有該目錄,可新建;</p><p>  在工程中新建NetPurchaseLib目錄,然后雙擊NetPurchaseLib目錄,從彈出的菜單中,選中“Add Files to...”, 然后對(duì)話框。添加libNetPurchase

17、Lib.a、NetPurchaseLib.h文件以及圖片資源Resource到工程中;</p><p>  在對(duì)話框中選中l(wèi)ibNetPurchaseLib.a、NetPurchaseLib.h文件以及圖片資源Resource,點(diǎn)擊“Add”按鈕, 添加資源成功。</p><p><b>  圖表 1 添加文件</b></p><p>  最后

18、,檢查XCODE中是否可以看到剛才添加文件,如下圖2所示。如果可以,則表示配置成功,否則,請(qǐng)檢查上述步驟是否執(zhí)行成功。</p><p><b>  圖表 2 檢查</b></p><p>  3.1.3 使用SDK</p><p> ?。猄DK使用注意事項(xiàng)</p><p>  使用SDK可依照以下二個(gè)步驟。</p&

19、gt;<p>  實(shí)現(xiàn)NetPurchaseDelegate</p><p>  NetPurchaseDelegate是應(yīng)用內(nèi)計(jì)費(fèi)的監(jiān)聽(tīng)器,檢查的結(jié)果通過(guò)notifySubscribe,notifyUnsubscribe, notifySubQuery返回給調(diào)用者。</p><p>  以上這些方法中的參數(shù)請(qǐng)查看NetPurchaseLib.h文件。</p>

20、<p>  若要SDK正常工作,至少需要12個(gè)庫(kù),如下圖</p><p>  使用此SDK,需要增加如下系統(tǒng)庫(kù):</p><p><b>  開(kāi)發(fā)應(yīng)用注意事項(xiàng)</b></p><p>  為保證自身敏感數(shù)據(jù)(APPID、APPKEY、PAYCODE)的安全性,請(qǐng)盡量采用加密等手段保存,避免以常量字符串形式出現(xiàn)于源碼。</p>

21、;<p>  應(yīng)用中不能同時(shí)發(fā)起兩起或者以上的訂購(gòu)操作,比如不能同時(shí)啟動(dòng)兩個(gè)查詢(xún)訂單的線程。</p><p>  包月和單次計(jì)費(fèi)的業(yè)務(wù),可以緩存授權(quán)結(jié)果在本地,以避免過(guò)多網(wǎng)絡(luò)的交互。但緩存的授權(quán)可能會(huì)有不同步的情況,應(yīng)用可根據(jù)實(shí)際業(yè)務(wù)情況決定是否啟用本地緩存授權(quán)。也可以在運(yùn)行過(guò)程中,清除緩存授權(quán)(clearCache())。</p><p>  可批量購(gòu)買(mǎi)的計(jì)費(fèi)點(diǎn),在兩次訂購(gòu)

22、之間,目前有時(shí)間限制(目前定義30秒鐘)</p><p>  可批量購(gòu)買(mǎi)的計(jì)費(fèi)點(diǎn),一次訂購(gòu)數(shù)量不能超過(guò)10個(gè)。</p><p>  應(yīng)用升級(jí),開(kāi)發(fā)如果需要升級(jí)目前已投入商用的APP,需要重新上傳后,用戶通過(guò)中國(guó)移動(dòng)應(yīng)用商場(chǎng)或者其他與移動(dòng)有關(guān)渠道升級(jí)。如果采用自升級(jí),可能會(huì)因?yàn)锳PP數(shù)據(jù)與移動(dòng)服務(wù)器中數(shù)據(jù)不一致,導(dǎo)致APP中無(wú)法正常發(fā)起交易業(yè)務(wù)。</p><p>  

23、中國(guó)移動(dòng)部分省份已經(jīng)開(kāi)始銷(xiāo)售147號(hào)段的SIM卡,該號(hào)段同樣可以使用IAP進(jìn)行計(jì)費(fèi)。請(qǐng)應(yīng)用開(kāi)發(fā)者注意判斷此號(hào)段的SIM卡,以免造成不必要的麻煩。</p><p>  應(yīng)用內(nèi)計(jì)費(fèi)SDK使用手冊(cè) </p><p>  SDK組成和接口說(shuō)明 </p><p>  SDK公開(kāi)的接口包括:</p><p>  NetPurchase API說(shuō)明<

24、/p><p>  NetPurchase對(duì)象是SDK提供給開(kāi)發(fā)者發(fā)起訂購(gòu),查詢(xún)的接口。</p><p>  開(kāi)發(fā)者在實(shí)例化該對(duì)象后,調(diào)用其中的函數(shù)可以處理相應(yīng)的業(yè)務(wù)。</p><p><b>  構(gòu)造實(shí)例:</b></p><p>  NetPurchase對(duì)象的創(chuàng)建使用成員變量:</p><p>&

25、lt;b>  各參數(shù)設(shè)置:</b></p><p><b>  訂購(gòu):</b></p><p>  調(diào)用NetPurchase對(duì)象中的SubscribeAPI函數(shù),傳入相應(yīng)的參數(shù):</p><p>  payCode,計(jì)費(fèi)點(diǎn)(見(jiàn)本文檔2.3)</p><p>  orderCount,訂購(gòu)數(shù)量。(包月、

26、約定租期和不可重復(fù)訂購(gòu)計(jì)費(fèi)點(diǎn)只能傳入1,可重復(fù)訂購(gòu)計(jì)費(fèi)點(diǎn)可以傳入10以下數(shù)值)</p><p>  IsnextCycle, 對(duì)于租賃類(lèi)業(yè)務(wù),可以預(yù)訂下一期租賃周期。</p><p>  EXDATA,本參數(shù)是可透?jìng)鞯介_(kāi)發(fā)者服務(wù)器的自定義數(shù)據(jù),長(zhǎng)度為64字節(jié)以?xún)?nèi)。</p><p>  通過(guò)回調(diào)函數(shù)notifySubscribe知道本次訂購(gòu)結(jié)果以及相應(yīng)的數(shù)據(jù),函數(shù)返回

27、TradeId代表當(dāng)次交易ID,可以在查詢(xún)接口中傳入該交易ID再次查詢(xún)交易有無(wú)成功 </p><p><b>  查詢(xún):</b></p><p>  調(diào)用NetPurchase對(duì)象中的SubQueryAPI函數(shù),傳入相應(yīng)參數(shù):</p><p>  payCode,計(jì)費(fèi)點(diǎn)(見(jiàn)本文檔2.3)</p><p>  Trad

28、eID, 調(diào)用SubscribeAPI接口回調(diào)返回的交易ID或者不傳,用于查詢(xún)交易是否成功</p><p><b>  退訂:</b></p><p>  調(diào)用NetPurchase對(duì)象中的UnsubscribeAPI函數(shù),傳入相應(yīng)參數(shù):</p><p>  payCode,計(jì)費(fèi)點(diǎn)(見(jiàn)本文檔2.4)</p><p>  

29、注意:目前只有包月業(yè)務(wù)允許退訂。其他類(lèi)型業(yè)務(wù)均不允許退訂。</p><p>  NetPurchaseDelegate</p><p>  應(yīng)用內(nèi)計(jì)費(fèi)各種操作(查詢(xún),訂購(gòu))監(jiān)聽(tīng)器。開(kāi)發(fā)者通過(guò)實(shí)現(xiàn)該接口中各個(gè)接口來(lái)監(jiān)聽(tīng)各種業(yè)務(wù)操作的狀態(tài):</p><p>  NetPurchaseDelegate中各API數(shù)據(jù)說(shuō)明</p><p>  正如前面

30、所描述的一樣,查詢(xún),訂購(gòu)接口的返回值在NetPurchaseDelegate中得到。</p><p><b>  數(shù)據(jù)主要有幾種:</b></p><p>  上面這些值所代表的意義如下:</p><p>  OrderId,表示此次訂單,中國(guó)移動(dòng)應(yīng)用商場(chǎng)平臺(tái)形成的訂單流水號(hào)</p><p>  Paycode,表示此次

31、交易的商品id</p><p>  LeftDay,表示此次交易商品的有效期。</p><p>  TradeID,表示此次交易的交易ID,供查詢(xún)用。</p><p>  OrderType,表示此次交易的類(lèi)型。如果返回0,則表示是生成測(cè)試訂單;如果返回1,則表示生成正式訂單。</p><p>  SDK運(yùn)行流程及要點(diǎn)說(shuō)明</p>

32、<p><b>  主要流程</b></p><p>  首次付費(fèi)時(shí),或者初始化時(shí),SDK會(huì)需要申請(qǐng)用戶身份數(shù)字證書(shū)。之后,只要不失效,將不會(huì)再次觸發(fā)。</p><p><b>  版權(quán)文件</b></p><p>  版權(quán)文件是記錄應(yīng)用版權(quán)信息的數(shù)據(jù)文件,對(duì)于開(kāi)發(fā)者來(lái)說(shuō),需要到指定的開(kāi)發(fā)者社區(qū)自行下載此文件

33、,然后打包(預(yù)置)到自己的程序中,該文件是透明的,完全由SDK處理,一般不需要理會(huì)。</p><p><b>  渠道文件</b></p><p>  渠道文件是記錄應(yīng)用渠道信息的數(shù)據(jù)文件,對(duì)于開(kāi)發(fā)者來(lái)說(shuō),需要到指定的開(kāi)發(fā)者社區(qū)自行下載此文件,然后打包(預(yù)置)到自己的程序中,該文件是透明的,完全由SDK處理,一般不需要理會(huì)。</p><p>&

34、lt;b>  示例代碼 </b></p><p>  下面將通過(guò)demo中的代碼具體說(shuō)明如何使用本SDK。</p><p>  APPID,APPKEY,PayCode設(shè)置。</p><p>  在demo程序中,APPID,APPKEY,PayCode默認(rèn)賦值為00000000000。請(qǐng)根據(jù)在2.3節(jié)中操作,將生成的APPID,APPKEY,Pa

35、yCode分別填入。</p><p>  // 計(jì)費(fèi)應(yīng)用信息(demo測(cè)試)</p><p>  private static final String APPID = "00000000000";</p><p>  private static final String APPKEY = "00000000000";<

36、;/p><p><b>  // 計(jì)費(fèi)點(diǎn)信息</b></p><p>  private static final String LEASE_PAYCODE = "00000000000"; // 單次</p><p>  OnPurchaseListener接口實(shí)現(xiàn)</p><p>  開(kāi)發(fā)者使用SDK

37、,需要自定義實(shí)現(xiàn)一個(gè)接口OnPurchaseListener,該接口用來(lái)將訂購(gòu),查詢(xún),退訂各業(yè)務(wù)的結(jié)果或者狀態(tài)返回給APP。Demo中具體實(shí)現(xiàn)如下:</p><p>  public class IAPListener implements OnPurchaseListener {</p><p>  private final String TAG = "IAPListener

38、";</p><p>  private Demo context;</p><p>  private IAPHandler iapHandler;</p><p><b>  //</b></p><p>  public IAPListener(Context context, IAPHandler ia

39、pHandler) {</p><p>  this.context = (Demo) context;</p><p>  this.iapHandler = iapHandler;</p><p><b>  }</b></p><p><b>  @Override</b></p>

40、<p>  public void onAfterApply() {</p><p><b>  }</b></p><p><b>  @Override</b></p><p>  public void onAfterDownload() {</p><p>  // TODO

41、Auto-generated method stub</p><p><b>  }</b></p><p><b>  @Override</b></p><p>  public void onBeforeApply() {</p><p>  // TODO Auto-generated me

42、thod stub</p><p><b>  }</b></p><p><b>  @Override</b></p><p>  public void onBeforeDownload() {</p><p>  // TODO Auto-generated method stub</

43、p><p><b>  }</b></p><p>  //初始化結(jié)束接口。開(kāi)發(fā)者調(diào)用了初始化接口后,最后結(jié)果將在此函數(shù)中被調(diào)用</p><p><b>  @Override</b></p><p>  public void onInitFinish(int code) {</p>&

44、lt;p>  Log.d(TAG, "Init finish, status code = " + code);</p><p><b>  Message </b></p><p>  message= iapHandler.obtainMessage(IAPHandler.INIT_FINISH);</p><p>

45、;  String result = "初始化結(jié)果:" + Purchase.getReason(code);</p><p>  message.obj = result;</p><p>  message.sendToTarget();</p><p><b>  }</b></p><p>&

46、lt;b>  //訂購(gòu)結(jié)束接口。</b></p><p><b>  @Override</b></p><p>  public void onBillingFinish(int code, HashMap arg1) {</p><p>  Log.d(TAG, "billing finish, status c

47、ode = " + code);</p><p>  String result = "";</p><p>  Message message = iapHandler.obtainMessage(IAPHandler.BILL_FINISH);</p><p>  if (code == PurchaseCode.ORDER_OK

48、|| (code == PurchaseCode.AUTH_OK)) {</p><p><b>  /**</b></p><p>  * BILL_SUCCEED,表示訂購(gòu)成功 AUTH_SUCCEED,表示該商品已經(jīng)訂購(gòu)。</p><p><b>  */</b></p><p>  resu

49、lt = "訂購(gòu)結(jié)果:訂購(gòu)成功。";</p><p><b>  } else {</b></p><p><b>  /**</b></p><p><b>  * 表示訂購(gòu)失敗。</b></p><p><b>  */</b>&l

50、t;/p><p>  result = "訂購(gòu)結(jié)果:" + Purchase.getReason(code);</p><p><b>  }</b></p><p>  message.obj = result;</p><p>  message.sendToTarget();</p>

51、<p><b>  }</b></p><p><b>  //查詢(xún)結(jié)束接口</b></p><p><b>  @Override</b></p><p>  public void onQueryFinish(int code, HashMap arg1) {</p>&l

52、t;p>  Log.d(TAG, "license finish, status code = " + code);</p><p>  Message message = iapHandler.obtainMessage(IAPHandler.QUERY_FINISH);</p><p>  String result = "查詢(xún)成功,該商品已購(gòu)買(mǎi)&q

53、uot;;</p><p>  if (code != PurchaseCode.QUERY_OK) {</p><p><b>  /**</b></p><p><b>  * 查詢(xún)不成功</b></p><p><b>  */</b></p><p&

54、gt;  result = "查詢(xún)結(jié)果:" + Purchase.getReason(code);</p><p><b>  } else {</b></p><p>  String leftDay = (String) arg1.get(OnPurchaseListener.LEFTDAY);</p><p>  if

55、 (leftDay != null && leftDay.trim().length() != 0) {</p><p>  result = result + ",剩余時(shí)間 : " + leftDay;</p><p><b>  }</b></p><p>  String orderID =(Strin

56、g)arg1.get(OnPurchaseListener.ORDERID);</p><p>  if (orderID != null && orderID.trim().length() != 0) {</p><p>  result = result + ",OrderID : " + orderID;</p><p>

57、<b>  }</b></p><p><b>  }</b></p><p>  message.obj = result;</p><p>  message.sendToTarget();</p><p><b>  }</b></p><p>&

58、lt;b>  //退訂接口:</b></p><p>  public void onUnsubscribeFinish(int code) {</p><p>  // TODO Auto-generated method stub</p><p>  String result = "退訂結(jié)果:" + Purchase.ge

59、tReason(code);</p><p>  System.out.println(result);</p><p>  context.dismissProgressDialog();</p><p><b>  }</b></p><p><b>  SDK初始化</b></p>

60、<p>  本SDK初始化很簡(jiǎn)單,只需要實(shí)例化SDK中Purchase類(lèi)即可,再根據(jù)APP的實(shí)際情況設(shè)置相應(yīng)的參數(shù)。Demo中的代碼如下:</p><p><b>  @Override</b></p><p>  public void onCreate(Bundle savedInstanceState) {</p><p>

61、<b>  。</b></p><p><b>  。</b></p><p><b>  。</b></p><p><b>  。</b></p><p><b>  /**</b></p><p>  *

62、 IAP組件初始化.包括下面3步。</p><p><b>  */</b></p><p><b>  /**</b></p><p>  * step1.實(shí)例化PurchaseListener。實(shí)例化傳入的參數(shù)與您實(shí)現(xiàn)PurchaseListener接口的對(duì)象有關(guān)。</p><p>  * 例如

63、,此Demo代碼中使用IAPListener繼承PurchaseListener,其構(gòu)造函數(shù)需要Context實(shí)例。</p><p><b>  */</b></p><p>  listener = new IAPListener(this, iapHandler);</p><p><b>  /**</b></

64、p><p>  * step2.實(shí)例化Purchase對(duì)象。在實(shí)例化Purhcase對(duì)象后,必須為purchase實(shí)例setAppInfo </p><p>  *接口。該接口函數(shù)需要傳入APPID,APPKEY。</p><p><b>  */</b></p><p>  purchase = Purchase.getI

65、nstance();</p><p><b>  try {</b></p><p>  purchase.setAppInfo(APPID, APPKEY);</p><p>  } catch (Exception e1) {</p><p>  e1.printStackTrace();</p>&l

66、t;p><b>  }</b></p><p><b>  /**</b></p><p>  * step3.IAP組件初始化開(kāi)始,</p><p>  * 參數(shù)PurchaseListener,初始化函數(shù)需傳入step1時(shí)實(shí)例化的onPurchaseListener。</p><p>&l

67、t;b>  */</b></p><p>  purchase.init(listener);。</p><p><b>  。</b></p><p><b>  。</b></p><p><b>  }</b></p><p>

68、;<b>  。</b></p><p><b>  。</b></p><p><b>  。</b></p><p>  private void showProgressDialog(String text) {</p><p>  if (mProgressDialog

69、 == null) {</p><p>  mProgressDialog = new ProgressDialog(Demo.this);</p><p>  mProgressDialog.setIndeterminate(true);</p><p>  LayoutInflater inflater = getLayoutInflater();</p&

70、gt;<p>  View view = inflater.inflate(R.layout.layout, null);</p><p>  mProgressDialog.setView(view);</p><p>  mProgressDialog.setMessage("請(qǐng)稍后.....");</p><p><b&

71、gt;  }</b></p><p>  if (!mProgressDialog.isShowing()) {</p><p>  mProgressDialog.show();</p><p><b>  }</b></p><p><b>  }</b></p>&l

72、t;p>  Demo中Purhcase類(lèi)實(shí)例化后,設(shè)置了網(wǎng)絡(luò)超時(shí)和SDK的init接口。</p><p>  如果不設(shè)置網(wǎng)絡(luò)超時(shí),則默認(rèn)網(wǎng)絡(luò)超時(shí)為10s,建議按默認(rèn)值,如果設(shè)置的話,建議設(shè)置5s以上,12s以?xún)?nèi)。如果不調(diào)用init接口,則用戶在訂購(gòu)解密將等待較長(zhǎng)時(shí)間,建議在APP初始化或者數(shù)據(jù)加載過(guò)程中調(diào)用此函數(shù)。</p><p>  SDK訂購(gòu),查詢(xún),退訂接口的調(diào)用</p&g

73、t;<p><b>  1)訂購(gòu)接口調(diào)用</b></p><p>  訂購(gòu)分為租賃,永久性購(gòu)買(mǎi),可重復(fù)購(gòu)買(mǎi)這三種類(lèi)型的訂購(gòu),各類(lèi)型根據(jù)paycode來(lái)區(qū)分。此版本應(yīng)用內(nèi)計(jì)費(fèi)SDK包含有4個(gè)訂購(gòu)接口</p><p><b>  簡(jiǎn)化版訂購(gòu)接口</b></p><p>  - (void)SubscribeAPI

74、:(NSString*)payCode</p><p>  需要傳入payCode,此接口可以訂購(gòu)單件商品。 在回調(diào)API接口將會(huì)返回此次交易的交易ID。用戶或者開(kāi)發(fā)者可以通過(guò)此交易ID去查詢(xún)交易是否成功。</p><p>  注:此接口不能用作租賃類(lèi)型的續(xù)訂接口。</p><p><b>  一般性訂購(gòu)接口</b></p>&l

75、t;p>  - (void)SubscribeAPI:(NSString*)payCode OrderCount:(int)orderCount;</p><p>  此接口和簡(jiǎn)化版接口相比,增加了一個(gè)int型參數(shù),也就是指此接口支持一次訂購(gòu)多件商品。</p><p>  用戶可透?jìng)鲾?shù)據(jù)的訂購(gòu)接口</p><p>  -(void)SubscribeAPI:(

76、NSString*)payCode OrderCount:(int)orderCount EXDATA:(NSString*)EXDATA; </p><p>  此接口增加了一個(gè)NSString型參數(shù),是給用戶透?jìng)鞯椒?wù)器的自定義數(shù)據(jù),字符串?dāng)?shù)據(jù)類(lèi)型。</p><p><b>  2)查詢(xún)接口調(diào)用</b></p><p>  此版本應(yīng)用

77、內(nèi)計(jì)費(fèi)的查詢(xún)分為兩個(gè)接口。一個(gè)是根據(jù)交易ID查詢(xún),查詢(xún)?cè)摻灰资欠翊嬖?。另一個(gè)是根據(jù)paycode查詢(xún),查詢(xún)當(dāng)前商品是否已經(jīng)訂購(gòu)。</p><p><b>  根據(jù)交易ID查詢(xún)</b></p><p>  -(void)SubQueryAPI:(NSString*)payCode TradeId:(NSString*)tradeId;</p><p&

78、gt;  使用交易ID查詢(xún),主要目的是查詢(xún)?cè)摴P交易是否成功。例如,如果您記錄以前某次交易的交易ID,您可以根據(jù)此接口查詢(xún)是否交易成功。</p><p>  根據(jù)paycode查詢(xún)</p><p>  - (void)SubQueryAPI:(NSString*)payCode;</p><p>  此版本與之前版本接口保持一致,用于查詢(xún)當(dāng)前商品狀態(tài)是否已經(jīng)訂購(gòu)。&l

79、t;/p><p>  注意:可重復(fù)計(jì)費(fèi)的商品訂購(gòu)成功30秒以后使用此查詢(xún)接口,將查不到已訂購(gòu)狀態(tài)。</p><p><b>  3)退訂接口調(diào)用</b></p><p>  根據(jù)計(jì)費(fèi)點(diǎn)進(jìn)行退訂,僅對(duì)包月類(lèi)型計(jì)費(fèi)點(diǎn)有效</p><p>  - (void)UnsubscribeAPI:(NSString*)payCode;&l

80、t;/p><p><b>  添加配置文件</b></p><p>  把mmiap.xml與CopyrightDeclaration.xml文件(此兩個(gè)文件在開(kāi)發(fā)者社區(qū)自行下載)添加到工程中,具體如下:</p><p>  最后,檢查XCODE中是否可以看到剛才添加文件,如下圖2所示。如果可以,則表示配置成功,否則,請(qǐng)檢查上述步驟是否執(zhí)行成功。&

81、lt;/p><p>  如何在應(yīng)用內(nèi)計(jì)費(fèi)中使用有數(shù)</p><p>  有數(shù)(http://dev.10086.cn/datau/)是中國(guó)移動(dòng)開(kāi)發(fā)者社區(qū)提供的數(shù)據(jù)采集和分析能力,通過(guò)嵌入應(yīng)用中的有數(shù)SDK,可采集用戶使用應(yīng)用的相關(guān)數(shù)據(jù),并通過(guò)有數(shù)平臺(tái)提供給開(kāi)發(fā)者應(yīng)用分析服務(wù)。</p><p>  如需使用有數(shù)平臺(tái)提供的其他數(shù)據(jù)采集和分析功能(例如用戶終端信息、頁(yè)面路徑信

82、息、自定義事件分析、錯(cuò)誤事件分析等),可參考有數(shù)平臺(tái)相關(guān)介紹和有數(shù)開(kāi)發(fā)指南。</p><p><b>  有數(shù)平臺(tái):</b></p><p>  http://dev.10086.cn/datau/</p><p><b>  有數(shù)開(kāi)發(fā)指南:</b></p><p>  http://dev.100

83、86.cn/datau/modules/views/introduction/index.html?menu=sdk</p><p><b>  特別說(shuō)明:</b></p><p>  1. 應(yīng)用內(nèi)計(jì)費(fèi)已經(jīng)默認(rèn)嵌入了有數(shù)SDK,在初始化應(yīng)用內(nèi)計(jì)費(fèi)SDK之后,就已經(jīng)可以使用有數(shù)的各項(xiàng)功能了,開(kāi)發(fā)者勿需再重復(fù)初始化有數(shù),若重復(fù)初始化有數(shù)可能會(huì)導(dǎo)致采集渠道信息異常。<

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論