精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iOS應用內置付費In-App Purchase 個人使用總結

移動開發 iOS
添加Storekit.Framework,編寫自己的storeObsever,用于處理交易,代碼如下,其中completeTransaction 和failedTransaction兩個函數是自定義的用來處理交易成功與失敗其它的就都是SKPaymentTransactionObserver 這個代理要求的。

上一個項目用到了In App Purchase,發現現在大家對這個挺關注的,把上次寫的總結貼出來給大家看一下,希望對大家有點幫助!

一、有關如何在程序中加入In APP Purchase 的內容參考下面的連接

http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008267-CH1-SW1

二、我的程序具體步驟

1.添加Storekit.Framework,編寫自己的storeObsever,用于處理交易,代碼如下,其中completeTransaction 和failedTransaction兩個函數是自定義的用來處理交易成功與失敗其它的就都是SKPaymentTransactionObserver 這個代理要求的。

  1. #import <Foundation/Foundation.h>  
  2. #import <StoreKit/StoreKit.h>  
  3. #import <StoreKit/SKPaymentTransaction.h>  
  4. @interface MyStoreObserver : NSObject < SKPaymentTransactionObserver > { 
  5.  
  6. - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions;  
  7.  
  8. -(void) PurchasedTransaction: (SKPaymentTransaction *)transaction;  
  9.  
  10. - (void) completeTransaction: (SKPaymentTransaction *)transaction;  
  11.  
  12. - (void) failedTransaction: (SKPaymentTransaction *)transaction; 
  13.  
  14.  -(void) paymentQueueRestoreCompletedTransactionsFinished: (SKPaymentTransaction *)transaction; 
  15.  
  16.  -(void) paymentQueue:(SKPaymentQueue *) paymentQueue restoreCompletedTransactionsFailedWithError:(NSError *)error;  
  17. @end  
  18.  
  19. - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions函數用來更新transactions的狀態 
  20.  
  21.  - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {  
  22.      for (SKPaymentTransaction* transaction in transactions)  {   
  23.         switch (transaction.transactionState)  {   
  24.         case SKPaymentTransactionStatePurchased:   
  25.             [self completeTransaction:transaction];   
  26.             break;   
  27.         case SKPaymentTransactionStateFailed:  
  28.              [self failedTransaction:transaction];   
  29.             break;   
  30.         case SKPaymentTransactionStateRestored:  
  31.              break;   
  32.         default:   
  33.             break;   
  34.         }   
  35.     }  
  36. }  

2.在程序中添加storeObsever,最好在applicationDidFinishLaunching中添加

  1. MyStoreObserver *tempObserver = [[MyStoreObserver alloc] init];   
  2.  
  3. self.observer = tempObserver;   
  4.  
  5. [tempObserver release]; 
  6.  
  7. [[SKPaymentQueue defaultQueue] addTransactionObserver:self.observer];  

3.發送付費請求,在相應的類中實現SKProductsRequestDelegate,別忘記定義自己產品的identifier

  1. //請求產品信息  
  2.  #define kMyFeatureIdentifier yourProductIdentifiers  (你自己的產品identifiers) 
  3. SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:  
  4.  [NSSet setWithObject: kMyFeatureIdentifier]];  
  5.  request.delegate = self;  
  6. [request start];   

代理方法相關代碼,如果請求成功的話就可以發送付費請求

  1. #pragma mark request delegate 
  2.  //!收到產品的消息  
  3.  
  4. - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response{    
  5.     SKPayment *payment = [SKPayment paymentWithProductIdentifier:kMyFeatureIdentifier];  
  6.      [[SKPaymentQueue defaultQueue] addPayment:payment];  
  7.     [request autorelease]; 
  8.   } 
  9.  
  10. - (void)request:(SKRequest *)request didFailWithError:(NSError *)error{   
  11. UIAlertView *alerView =  [[UIAlertView alloc] initWithTitle:@"Alert" message:[error localizedDescription]  delegate:nil c 
  12.     ancelButtonTitle:NSLocalizedString(@"Close",nil)  otherButtonTitles:nil];  [alerView show]; [alerView release];  

4.接下來就是Apple自己的付費相關處理了,需要做是就是點擊按鈕來確定付費

5.交易完成后需要向Apple驗證這次交易是否成功,要不然沒成功就把產品給別人的話,那就虧了,在1中可以看到當交易成功時會調用自定義的 completeTransaction函數,在該函數中我們需要驗證transactionReceipt 關于驗證SKPaymentTransaction的transactionReceipt transactionReceipt是只有當 SKPaymentTransaction完成時,即transactionState 被設置為SKPaymentTransactionStatePurchased 或 SKPaymentTransactionStateRestored時才被創建,因此只有這兩種狀態下能去驗證transactionReceipt

原始思路及具體步驟如下: 

a、從SKPaymentTranscation的實例中將transactionReceipt轉化為NSString   

  1. NSString *temptransactionReceipt  = [[NSString alloc] initWithData:[mytransaction transactionReceipt] encoding:NSUTF8StringEncoding]; 

如果用NSLog的方法將其寫出來顯示如下,里邊有很多的‘+’

  1. "signature" =  
  2.  
  3. "AZNZdoggtjbU/wMqZ4SSd3lgkxbWr+/zcV7Oez4io7f5oPMliKlQzWW4vj+FLsVyhjyyuPyTSugJ6m4Hrp+CjdAptGZg4iWExoyE6stltg0EfD8Ezggjg5q04ws74pMZ/0aRgjedua8dCMMqR7C8ZjojfOYU6LrFiK7qbUUiV+inMIIDUzCCAjugAwIBAgIIZRSRTdlYBLUwDQYJKoZIhvcNAQEFBQAwfzELMAkGA1UEBhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MTMwMQYDVQQDDCpBcHBsZSBpVHVuZXMgU3RvcmUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDkwNjE1MjIwNTU2WhcNMTQwNjE0MjIwNTU2WjBkMSMwIQYDVQQDDBpQdXJjaGFzZVJlY2VpcHRDZXJ0aWZpY2F0ZTEbMBkGA1UECwwSQXBwbGUgaVR1bmVzIFN0b3JlMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAytGMXZy3gitJ2JMKFojSDynC/9yYezyn9HBX+u3/3VcpWE2XhcgGKYqNBA1+AewOzrKO774OsokTu4qymEx10ph8UTmsZewB0ESMHBEjF7FN6/HccsQUYC3WagrHnT12HG2Ih0OAm/ZhpWzj0HS4m813LpIyo00sewMvMNL2hkcCAwEAAaNyMHAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBQ2HejinYLSARi1MmsO10MLkVhDOjAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFKmDg/IZSMU+ElcIFMzNo36ZXyT1MBAGCiqGSIb3Y2QGBQEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQARpJs+O2Y3gL8gHdASkrfZHFpwINd1VcB5VF5LkVpnFz63zylA/3cGIDG91b/d5NIwZjkVt4Bgvd62o/mCbzCsWiNfSKTJVFK1D78BDQoSO2oHTuQuz1BR7xzNHxQZ90zUS6ZX9SC8N3g3A1jEtAyDhZNB+CRBBXLwZdnBUeBsT9QLpjvTnekZcGTnU08zfCjGF3eBJEu9eP6WgexK1xMSp72kEOmYbn6yTi3D4YrcYx4Q3n/57VBP2en8qXWeP5oHDsLTGzLRsWdoB3VxJLrF2ivL8JS8zqC0qyac452pN6xunRuzyyfpaqzQL12BzFEe44xna2byektSbtquA5LNAAAAAA==""purchase-info" = "ewoJIml0ZW0taWQiID0gIjMzMDU5OTg4MCI7Cgkib3JpZ2luYWwtdHJhbnNhY3Rpb24taWQiID0gIjEwMDAwMDAwMDAwOTEyNTgiOwoJInB1cmNoYXNlLWRhdGUiID0gIjIwMDktMTAtMTQgMDY6MDY6NTQgRXRjL0dNVCI7CgkicHJvZHVjdC1pZCIgPSAiY29tLnNlbnNreS5jbmFtZXNpZ3B1cmNoYXNlY29uc3VtYWJsZSI7CgkidHJhbnNhY3Rpb24taWQiID0gIjEwMDAwMDAwMDAwOTEyNTgiOwoJInF1YW50aXR5IiA9ICIxIjsKCSJvcmlnaW5hbC1wdXJjaGFzZS1kYXRlIiA9ICIyMDA5LTEwLTE0IDA2OjA2OjU0IEV0Yy9HTVQiOwoJImJpZCIgPSAiY29tLnNlbnNreS5jc2lnbmF0dXJlYXBwIjsKCSJidnJzIiA9ICIxLjAiOwp9""pod" = "100""signing-status" = "0";}     

b、然后通過Post的方法將其提交給服務器,在這里只是將transactionReceipt傳給服務器,驗證由服務器完成。代碼如下,

  1. NSString *requestStirng =[NSString stringWithFormat: @"receipt_data=%@",temptransactioReceipt];   
  2. requestStirng = [requestStirng stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
  3.  NSData *postData = [NSData dataWithBytes:[requestStirng UTF8String] length:[requestStirng length]];  
  4. NSMutableURLRequest *connectionRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[kURL          stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; 
  5. [connectionRequest setHTTPMethod:@"POST"];   
  6. [connectionRequest setTimeoutInterval:120.0];  
  7. [connectionRequest setCachePolicy:NSURLRequestUseProtocolCachePolicy];  
  8. [connectionRequest setHTTPBody:postData];   

出現的錯誤,服務器用傳過去的receipt_data向Apple驗證,通不過,但將用NSLog的方法在后臺寫出的 temptransactionreceipt向Apple驗證能通過  錯誤原因  對比發現通過URL傳給服務器的字符串不能很好的完成urlEncode,在里邊出現的+不能自動進行編碼轉化,因為在Objective-C 中不能將NSString 真正的實現URL encode , 

解決方法可參考下面的地址  

http://simonwoodside.com/weblog/2009/4/22/how_to_really_url_encode/

但當我用上面地址給出的方法進行編碼后仍不能解決該問題,原因不明 

解決辦法:

在將transactionReceipt轉化成的NSString傳給服務器之前先進行轉化,將里邊的+轉換為%2B , 將步驟a中的代碼改為

  1. NSString *temptransactionReceipt  = [[NSString alloc] initWithData:[mytransaction transactionReceipt] encoding:NSUTF8StringEncoding];  
  2.  
  3.  temptransactionReceipt =  [temptransactionReceipt stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"];   

6.服務器端驗證相關代碼 其中XML為自定義的一個類,getHeader所做的工作就是把receipt數據Post給Apple然后得到返回的結果返回 

  1. $url = "https://buy.itunes.apple.com/verifyReceipt";/ $receipt = json_encode(array("receipt-data" => base64_encode($receipt_data)));      
  2. $response_json = $Xml->getHeader($url, $receipt);     
  3.  $response = json_decode($response_json['content'], true); 
  4. getHeader的代碼如下  public function getHeader($url, $data)         {  
  5.                    $ch = curl_init();  
  6.                     $timeout = 300; // set to zero for no timeout   
  7.                  curl_setopt($ch, CURLOPT_URL, $url);  
  8.          //       curl_setopt($ch, CURLOPT_ENCODING, 'gzip');  
  9.                   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); //post到https  
  10.                   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
  11.                    curl_setopt($ch, CURLOPT_POST, true);  
  12.                   curl_setopt($ch, CURLOPT_POSTFIELDS, $data);   
  13.                  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
  14.                  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);//跟隨頁面的跳轉 
  15.          //       curl_setopt($ch, CURLOPT_HEADER, true);  
  16.                   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
  17.                    $handles = curl_exec($ch);  
  18.                   $header = curl_getinfo($ch); 
  19.                    curl_close($ch);  
  20.                   $header['content'] = $handles;  
  21.                   return $header;  
  22.         }  

把自己寫的測試的例子傳上來供大家參考下

下載Demo例子源碼下載地址:http://down.51cto.com/data/611901

責任編輯:閆佳明 來源: cocoachina
相關推薦

2013-09-09 13:57:27

iOS應用內置付費In-App Purc

2013-09-09 16:11:16

iOS應用內置付費IAP總結

2013-09-05 15:12:09

iOS應用內置付費In-App Purc

2013-09-09 15:05:12

iOS應用內置付費IAP完全攻略

2013-09-09 15:49:44

iOS應用內置付費IAP設置總結

2013-09-09 16:37:48

iOS應用添加內置收費In App Purc

2013-09-09 17:23:29

iOS應用內置付費IAP

2013-08-06 15:10:18

iOS免費應用移動應用市場移動應用盈利

2013-04-12 15:53:39

2011-12-29 15:28:37

App CookeriOS應用

2012-11-20 10:22:34

App Store應用商店

2014-12-30 11:37:38

bmobapp

2011-11-16 15:47:04

AdobeAIRiOS應用

2010-11-04 09:57:38

In App PurcAndroid 2.3Android

2011-11-16 15:08:30

AdobeAIRiOS應用

2011-06-01 14:50:55

iOS谷歌

2009-12-31 15:53:28

SilverLight

2017-07-24 16:27:58

前端移動端布局

2012-01-05 09:19:25

iOSApp應用

2013-05-17 10:19:17

點贊
收藏

51CTO技術棧公眾號

日韩精品一区二区久久| 精品91久久| av电影在线观看一区| 日本久久精品视频| 林心如三级全黄裸体| 日本免费精品| 色欧美乱欧美15图片| 亚洲 欧洲 日韩| 少妇人妻精品一区二区三区| 丁香花在线观看完整版电影| 丁香六月综合激情| 国产成人精品免高潮在线观看| 欧美xxxooo| 欧美三级午夜理伦三级在线观看 | 美国黄色小视频| 中文有码一区| 欧美成人在线直播| 亚洲综合欧美激情| 黄在线观看免费网站ktv| 亚洲欧美怡红院| 久久综合福利| 亚洲产国偷v产偷v自拍涩爱| 日本亚洲天堂网| 91精品国产91久久久久久久久| 日韩在线观看免| 九九久久精品| 亚洲国产精品成人va在线观看| 伊人国产在线视频| 欧美性猛交xxx高清大费中文| 亚洲黄色性网站| 中文精品视频一区二区在线观看| 视频国产在线观看| 欧美日一区二区在线观看| 亚洲男人天堂久| 中国极品少妇xxxx| 国产一区二区三区黄网站| 欧美在线你懂的| 免费观看精品视频| 少妇视频一区| 偷拍亚洲欧洲综合| 人妻少妇精品久久| 青春草在线免费视频| 亚洲欧美一区二区三区孕妇| 少妇特黄a一区二区三区 | 亚洲日韩欧美视频一区| 成人手机在线免费视频| 国产成人aa在线观看网站站| 欧美不卡123| 国产乱人伦精品一区二区三区| 国产香蕉视频在线看| 91丝袜国产在线播放| 国产伦精品一区二区三| 精品人妻久久久久一区二区三区 | 国产精品一区二区久久久| 亚洲天堂男人av| 水蜜桃久久夜色精品一区的特点| 日韩免费不卡av| www.五月婷婷.com| 视频一区视频二区在线观看| 日本在线观看天堂男亚洲 | 久久一区欧美| 国产www精品| 天天天天天天天干| 另类专区欧美蜜桃臀第一页| 成人黄色中文字幕| va视频在线观看| 国产不卡高清在线观看视频| 99re热精品| 男人天堂手机在线观看| 91在线国内视频| 日本免费一区二区三区| fc2在线中文字幕| 国产精品视频yy9299一区| 亚洲精品一区二区三区樱花| 99福利在线| 亚洲成av人片在线观看无码| 国产在线青青草| 国产成人精品一区二三区在线观看 | 欧美成人一级| 欧美精品一区二区三区高清aⅴ| 在线观看日韩精品视频| 国产在视频线精品视频www666| 最近日韩中文字幕中文| 午夜写真片福利电影网| 国产欧美短视频| 国产精品wwwwww| 国产日产亚洲系列最新| av不卡免费电影| 亚洲v国产v| 色呦呦在线资源| 色综合久久综合| 视频免费1区二区三区 | 日本免费高清一区二区| 男人的天堂在线视频免费观看| 亚洲综合偷拍欧美一区色| 免费在线观看亚洲视频 | 亚洲视频二区| 成人国产精品久久久久久亚洲| 午夜精品一二三区| 国产偷国产偷精品高清尤物| 色中文字幕在线观看| 绿色成人影院| 91.com视频| 亚洲第一页av| 欧美区日韩区| 国产精品美女www| 亚洲精品综合久久| 国产精品久久毛片| 国产精品网站免费| 精品国产三级| 亚洲色图校园春色| 久久精品欧美一区二区| 精品午夜久久福利影院| 精品久久sese| 自拍亚洲图区| 欧美日韩免费一区二区三区| 800av在线播放| 亚洲精品国产成人影院| 国产精品久久二区| 天堂在线视频免费观看| 亚洲激情第一区| av免费一区二区| 亚洲人成网www| 国外成人免费在线播放| a天堂视频在线| 一区免费观看视频| 国内自拍视频一区| 天堂日韩电影| 97福利一区二区| 亚洲精品国产精品乱码不卡| 亚洲三级在线免费观看| 91高清国产视频| 日韩黄色大片| 国产精品久久久久久久美男| 免费福利在线观看| 欧美色videos| 亚洲国产综合视频| 99视频+国产日韩欧美| 超碰在线观看97| 在线免费观看的av| 日韩一区二区三区免费看| 欧美风情第一页| 九色|91porny| 在线观看日韩羞羞视频| 日日狠狠久久| 日韩一区二区欧美| 国产精品无码久久av| 国产精品不卡视频| 182午夜视频| 68国产成人综合久久精品| 成人在线播放av| 国产美女在线观看| 日韩一区二区免费电影| 欧美丰满熟妇bbbbbb| 国产成人av资源| 日韩视频在线视频| 亚洲人成亚洲精品| 国产成人短视频| aiai在线| 欧美一区日本一区韩国一区| 久青草视频在线观看| 99精品视频一区| 美女喷白浆视频| 婷婷伊人综合| 痴汉一区二区三区| 女海盗2成人h版中文字幕| 亚洲免费精彩视频| 中文字幕一二区| 亚洲免费观看高清完整版在线观看 | 伊人久久大香线蕉av一区二区| 中文天堂在线播放| 日韩码欧中文字| 韩国av中国字幕| 国产精品视区| 亚洲欧洲日本国产| 欧美a在线观看| 97免费中文视频在线观看| 国产在线观看黄| 亚洲精品亚洲人成在线观看| 亚洲午夜未满十八勿入免费观看全集| 波多野结衣黄色| 亚洲少妇屁股交4| 成人做爰www看视频软件| 久久aⅴ国产紧身牛仔裤| 亚洲欧洲日韩精品| 黄色美女久久久| 国产精品电影网| www免费视频观看在线| 日韩va亚洲va欧洲va国产| 中文字幕在线观看免费| 亚洲一区二区3| 国产精品天天干| 国产传媒欧美日韩成人| 男人亚洲天堂网| 中文视频一区| 日本一区视频在线| 亚洲综合网狠久久| 国产精品入口免费视| 日韩特级毛片| 中文字幕9999| 日本精品一二区| 欧美日韩mp4| 久久久久99精品成人片我成大片| 亚洲人亚洲人成电影网站色| 日韩网站在线播放| 国产乱码精品一区二区三| 无码日韩人妻精品久久蜜桃| 国一区二区在线观看| 亚洲无玛一区| 亚洲精品蜜桃乱晃| 国产色综合一区二区三区| 99精品国产九九国产精品| 日av在线播放中文不卡| h片视频在线观看| xxxxx91麻豆| 国产在线自天天| 亚洲国产精品久久久久久| 国产日韩欧美中文字幕| 欧美性三三影院| 欧美精品一二三四区| 136国产福利精品导航| 丰满少妇一区二区三区| 国产成人精品亚洲777人妖| 污片在线免费看| 美女爽到呻吟久久久久| 国产视频九色蝌蚪| 亚洲国产免费看| 日本福利视频网站| 你懂的国产精品| 91免费网站视频| 日产午夜精品一线二线三线| 日本成人黄色免费看| 奇米影视777在线欧美电影观看| 国产精品乱码| 在线精品视频一区| 97人人香蕉| 亚洲成人黄色| 国产成人免费观看| xvideos.蜜桃一区二区| 国产精品三区www17con| 亚洲码欧美码一区二区三区| 91精品天堂| 日韩在线成人| 国产精华一区| 粉嫩精品导航导航| 精品欧美国产一区二区三区不卡| 成人黄色av网址| 极品尤物一区二区三区| 日韩a级大片| 欧美日韩系列| 国产精品一线天粉嫩av| 色视频一区二区三区| 久久久影院免费| 最新视频 - x88av| 欧美va天堂在线| 高清欧美精品xxxxx| 亚洲激精日韩激精欧美精品| 日本少妇高潮喷水视频| 老妇喷水一区二区三区| 污网站免费在线| 精品一区二区影视| 香蕉在线观看视频| 99久久综合色| 微拍福利一区二区| 国产精品久久久久aaaa| 曰本女人与公拘交酡| 亚洲www啪成人一区二区麻豆| 欧美bbbbbbbbbbbb精品| 91蜜桃婷婷狠狠久久综合9色| 欧美黑人欧美精品刺激| 国产精品美女一区二区三区| 久久久久亚洲av片无码| 亚洲一区二区三区在线播放| 天天做天天爱夜夜爽| 欧美中文字幕久久| 国产精品欧美综合亚洲| 欧美一级黄色片| 亚洲欧美一区二区三| 一区二区欧美久久| 丝袜美腿av在线| 欧美一区二区视频97| 欧美日韩视频免费看| 国产精品久久国产精品| 欧美精品乱码| 国产91在线亚洲| 日韩中文字幕麻豆| 精产国品一区二区三区| 久久久国产精品不卡| 老熟妇高潮一区二区三区| 欧美日韩精品中文字幕| 一个人看的www日本高清视频| 欧美大片国产精品| 国产福利在线观看| 国模极品一区二区三区| 99er精品视频| 免费在线成人av电影| 在线电影一区二区| 国产精品少妇在线视频| 国产精品77777竹菊影视小说| 国精品无码人妻一区二区三区| 亚洲色图欧美偷拍| 欧美三级网站在线观看| 亚洲成人在线网| 国产乱色在线观看| 国产精品99导航| 国产福利一区二区精品秒拍| 宅男一区二区三区| 丝袜脚交一区二区| 精品中文字幕在线播放| 一区二区三区波多野结衣在线观看| 神马久久久久久久| 亚洲成avwww人| 国产美女在线观看| 国产啪精品视频| 九九热线有精品视频99| 真人抽搐一进一出视频| 国产精品一区二区视频| xxxxx99| 色噜噜狠狠一区二区三区果冻| 亚洲免费国产视频| 久久综合88中文色鬼| 精品久久福利| 日韩理论片在线观看| 久久五月激情| 99久久人妻无码中文字幕系列| 一区二区三区四区在线播放| 亚洲一区在线观| 中文字幕欧美精品日韩中文字幕| 国产日韩电影| 国产专区一区二区| 在线播放不卡| 中文字幕99页| 亚洲综合男人的天堂| 国产色片在线观看| 久久精品视频网站| 日本午夜免费一区二区| 亚洲五月六月| 另类成人小视频在线| 综合 欧美 亚洲日本| 欧美三级三级三级| 91网在线播放| 国产日韩精品入口| 亚洲国产精品综合久久久| 日韩va在线观看| 综合久久久久综合| 99国产精品一区二区三区| 久久偷看各类女兵18女厕嘘嘘| 色综合一区二区日本韩国亚洲 | 国产精品视频成人| 日本道不卡免费一区| jizzzz日本| 综合自拍亚洲综合图不卡区| 国产v在线观看| 色中色综合影院手机版在线观看| 天堂va欧美ⅴa亚洲va一国产| 国产人妻人伦精品| 成人免费av网站| 国产三级av片| 亚洲午夜av久久乱码| 久草综合在线| 黄色小视频大全| 成人午夜精品在线| 美女又爽又黄免费视频| 国产一区二区三区直播精品电影| 成人亚洲免费| 日韩精品免费一区| 97精品久久久午夜一区二区三区| 黄色污污网站在线观看| 日韩一区二区三区国产| 999精品视频在这里| 欧洲黄色一级视频| 国产精品美女一区二区在线观看| 国产xxxx孕妇| 欧美整片在线观看| 久久久综合色| 东京热av一区| 在线精品视频免费观看| 麻豆视频在线免费观看| 国产乱子伦精品| 蜜臀va亚洲va欧美va天堂| 欧美精品久久久久性色| 日韩高清中文字幕| 五月天色综合| 男女视频网站在线观看| 中文字幕第一区综合| 亚洲第一色视频| 国产mv免费观看入口亚洲| 在线看片不卡| 精品黑人一区二区三区观看时间| 欧美精品乱码久久久久久| 91豆花视频在线播放| 亚洲美女搞黄| 99国产精品国产精品久久| 亚洲天堂自拍偷拍| 69影院欧美专区视频| 久久精品影视| 先锋影音av在线| 精品福利二区三区| 亚洲国产aⅴ精品一区二区三区| 日本a视频在线观看|