搞定 iOS 推送 SDK 集成,看这篇文章就够了!

iOS · jack · Created at · Last by jk5822xin Replied at · 188 hits
434 1549005614

一次偶然的机会,公司的项目要用到推送,我自己本来就很懒,不愿意去弄整套APNS的流程,刚好之前跟朋友聊起过他们的产品中集成了个推的Android推送,说是体验还可以,那这次我就试一下他们的iOS推送。于是抱着试一试的心态,我先建个demo,试着去集成一下个推iOS推送SDK,摸索着完成了整个流程,言归正传,直接上硬菜!

如何集成个推iOS SDK

看了个推的官网,发现他们集成的方式有两种,分别是XCode集成和CocoaPods集成。本人比较懒,越简单越好,越轻松越好,毫不犹豫的选择了Cocoapods集成方式,程序猿么,就是要想尽办法的懒,搞起!

CocoaPods集成

1.安装CocoaPods

安装方式简单, Mac 下都自带 ruby,使用 ruby 的 gem 命令即可下载安装:

$ sudo gem install cocoapods
$ pod setup

2.准备Podfile文件

在我们的工程目录下,新建一个名为Podfile的文件,如下格式,将依赖的库名字依次列在文件中即可:

作者这里使用的是标准版本:

target 'GeTuipush' do
    platform :ios, "7.0"
    pod 'GTSDK'
end

target 'NotificationService' do
    platform :ios, "10.0"
    pod 'GTExtensionSDK'
end

3.完成GTSDK导入

在项目根目录中执行如下命令:

$ pod install

执行完成后,项目目录结构如下图所示:

注意:在pod install之前,首先你的工程必须创建好,并且如果Podfile文件里面如果有target:NotificationService,那在pod install之前需要创建好通知扩展的Target。

4.开启推送功能:既然是推送,当然是要开推送功能啦!:

5.后台运行权限设置:看个推的官网上面说是为了更好的支持消息推送,提供更多的推送样式,提高消息到达率,既然这么说了,那就不管三七二十一先开了再说,如下图所示:

6.XCode10建议开启WiFi信息授权:在 Xcode 10.x 以上,找到应用Target设置中的Capabilities -> Access WiFi Information,确认开关已经设为ON状态。如下图所示:

注意:主Target和通知扩展的Target都需要打开

7.代码部分,下来就是我们程序猿最喜欢的部分了,粘贴复制。由于是第一次集成个推SDK的代码,我还是仔细的研究了下。

初始化SDK注册APNs并获取CID

1.为AppDelegate增加回调接口类:

#import <UIKit/UIKit.h>
#import <GTSDK/GeTuiSdk.h>

// iOS10 及以上需导入 UserNotifications.framework
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
#import <UserNotifications/UserNotifications.h>
#endif

@interface AppDelegate : UIResponder <UIApplicationDelegate, GeTuiSdkDelegate, UNUserNotificationCenterDelegate>

@property (strong, nonatomic) UIWindow *window;


@end

2.初始化SDK并注册APNs:

#import "AppDelegate.h"

/// 个推开发者网站中申请App时,注册的AppId、AppKey、AppSecret
#define kGtAppId           @"GVZZTqh7lu6S4VLMacneZ7"
#define kGtAppKey          @"RRYDFjGzO17TJXZfGeTuq3"
#define kGtAppSecret       @"7BXDJ0IgWF6a8M0xCgo4G"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [GeTuiSdk startSdkWithAppId:kGtAppId appKey:kGtAppKey appSecret:kGtAppSecret delegate:self];
    // 注册 APNs
    [self registerRemoteNotification];
    return YES;
}

注册APNs获取DeviceToken:

/** 注册 APNs */
- (void)registerRemoteNotification {

        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
        center.delegate = self;
        [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionCarPlay) completionHandler:^(BOOL granted, NSError *_Nullable error) {
            if (!error) {
                NSLog(@"request authorization succeeded!");
            }
        }];

        [[UIApplication sharedApplication] registerForRemoteNotifications];
}

个推demo里面给开发者提供演示代码,根据APP支持的iOS系统不同,进行修改。我们的工程最低支持iOS10。

获取CID信息:

/** SDK启动成功返回cid */
- (void)GeTuiSdkDidRegisterClient:(NSString *)clientId {

    NSLog(@"clientId:%@", clientId);
}

这三个参数kGtAppId、kGtAppKey、kGtAppSecret是干啥用的,这三个参数如何获取?回头又看了下个推的官网才搞明白,正好记录下如何申请者三个参数,跟我应用的bundleID绑定。

如何获取kGtAppId、kGtAppKey、kGtAppSecret

1.创建个推开发者账号

访问个推开发者中心,申请个推账号

2.登记新应用

注意:登记新应用是在应用管理页面而不是消息推送页面。

在登记应用界面填写应用名和应用表示,勾选个推产品,勾选iOS,填写包名和bundleID,如下图所示:

这里我有点疑惑。创建应用的时候想勾选iOS,但是看到默认选择了Android平台,并要填写Android签名,这签名是what,这如何搞?看到跟前有个提示如何获取,点了一下,发现里面有SHA256的签名,抱着试一试的态度,直接copy过来,呦呵,能用哦,心里美滋滋。

提交成功后就可以获取到kGtAppId、kGtAppKey、kGtAppSecret,将三个参数填入我们的工程中,然后运行工程,在GeTuiSdkDidRegisterClient的回调方法中获取到cid了,嗯,看来我们已经成功了一一小部分了,距离成功还要继续加油。

注册DeviceToken并统计APNs通知的点击数

1.向个推服务器注册DeviceToken:

/** 远程通知注册成功委托 */
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    //向个推服务器注册deviceToken 为了方便开发者,建议使用新方法
    NSLog(@"deviceToken:%@",deviceToken);
    [GeTuiSdk registerDeviceTokenData:deviceToken];
}

2.处理APNs通知点击事件:

因为我们的工程最低适配到iOS10,这里我就只添加了iOS10及以后版本的通知点击事件,要是想兼容iOS10以下的,可以在个推的demo中找到。

iOS 10及以后版本,处理APNs通知点击事件

//  iOS 10: 点击通知进入App时触发,在该方法内统计有效用户点击数
- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {

    NSLog(@"didReceiveNotification:%@", response.notification.request.content.userInfo);

    // [ GTSdk ]:将收到的APNs信息传给个推统计
    [GeTuiSdk handleRemoteNotification:response.notification.request.content.userInfo];

    completionHandler();
}

3.接受个推通道下发的透传消息:

/** SDK收到透传消息回调 */
- (void)GeTuiSdkDidReceivePayloadData:(NSData *)payloadData andTaskId:(NSString *)taskId andMsgId:(NSString *)msgId andOffLine:(BOOL)offLine fromGtAppId:(NSString *)appId {
    //收到个推消息
    NSString *payloadMsg = nil;
    if (payloadData) {
        payloadMsg = [[NSString alloc] initWithBytes:payloadData.bytes length:payloadData.length encoding:NSUTF8StringEncoding];
    }

    NSString *msg = [NSString stringWithFormat:@"taskId=%@,messageId:%@,payloadMsg:%@%@",taskId,msgId, payloadMsg,offLine ? @"<离线消息>" : @""];
    NSLog(@"\n>>>[GexinSdk ReceivePayload]:%@\n\n", msg);
}

获取到了透传消息,但是当应用在后台或者应用杀死的情况下,我们如何获取到APNs消息,这里我们就需要在个推平台用到推送证书,如何获取推送证书?因为本人也是第一次搞推送这书,而且也踩了不少的坑,为了下次不再踩同样的坑,所以在这里就对如何制作推送证书进行了一次规整。

如何制作推送证书?

1.进入苹果开发者中心,选择证书选项,如下图所示:

2.创建推送证书之前必须创建一个APPID,因为推送证书是和APPID绑定在一起的,如下图所示:

在下面的App Services中选择允许推送(Push Notifications),如下图所示:

3.APPID创建好了之后,这个时候需要去创建推送证书,而且还要根据需要的环境选择对应的推送证书,包括开发环境推送证书和生产环境推送证书,然后还要跟刚才创建好的APPID相关联,如下图所示:

这个时候需要上传CSR文件,我们回到桌面,打开钥匙串,从颁发机构申请证书并保存到本地磁盘,如下图所示:

这样CSR文件就创建好了,我们回到苹果开发者中心,继续创建我们的推送证书,选择保存到本地的CSR文件,如下图所示:

这样,我们的推送证书就创建完成了,在本地下载中找到下载的推送证书并双击添加到钥匙串中,然后打开钥匙串找到创建好的推送证书,右键导出P12证书,并输入证书密码,如下图所示:

4.打开我们的个推开发者中心,在个推·消息推送-应用列表-应用配置”中上传正确的APNs证书,如下图所示:

接下来最重要的时刻来了,那就是测试了,看看我们的推送能不能成功。

推送测试

本人是在个推平台上面进行推送测试的,在应用列表里面点击之前创建的应用上的创建推送按钮,如下图所示:

进入后,我有点懵逼,因为之前没有了解过个推SDK的逻辑,在询问了个推技术支持后,技术支持告诉我怎么在个推平台上面去推,也是自己太粗心了,人家进去第一句话就写的很清楚,推送通知目前仅支持安卓用户,iOS请使用透传消息。尴尬!那就透传消息页面试试推。如下图所示:

透传消息测试:

APNs消息测试

NICE啊,这下应用在前台、应用在后台和应用被杀死的情况下都可以收到推送消息了,爽歪歪啊!看来我们已经成功看了百分之九十了!

Notification Service Extension

正在沾沾自喜的时候,突然发现个推的官网上面还有多媒体推送,我靠,还有这种操作,好奇心的趋势下,让我重新审视如何去做多媒体推送。因为我们之前已经把通知扩展的target创建好了,所以,直接上代码。

1.Notification Service Extension 添加成功后会在项目中自动生成 NotificationService.h 和 NotificationService.m 两个类,包含以下两个方法:

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent *_Nonnull))contentHandler {
    self.contentHandler = contentHandler;
    self.bestAttemptContent = [request.content mutableCopy];

    // [ 测试代码 ] TODO:用户可以在这里处理通知样式的修改,eg:修改标题,开发阶段可以用于判断是否运行通知扩展
    //self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [WillIn]", self.bestAttemptContent.title];

    // [ GTSDK ] 统计APNs到达情况和多媒体推送支持接口, 建议使用该接口
    [GeTuiExtSdk handelNotificationServiceRequest:request withAttachmentsComplete:^(NSArray *attachments, NSArray *errors) {

        // self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [Success]", self.bestAttemptContent.title];

        self.bestAttemptContent.attachments = attachments;      // 设置通知中的多媒体附件
        self.contentHandler(self.bestAttemptContent);           
    }];
}

我们可以在这个方法中处理我们的 APNs 通知,并个性化展示给用户。APNs 推送的消息送达时会调用这个方法,此时你可以对推送的内容进行处理,然后使用contentHandler方法结束这次处理。但是如果处理时间过长,将会进入serviceExtensionTimeWillExpire方法进行最后的紧急处理。

- (void)serviceExtensionTimeWillExpire {
 // [ GTSDK ] 销毁SDK,释放资源
    [GeTuiExtSdk destory];

    //self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [Timeout]", self.bestAttemptContent.title];

    self.contentHandler(self.bestAttemptContent);
}

如果didReceiveNotificationRequest方法在限定时间内没有调用 contentHandler方法结束处理,则会在过期之前进行回调本方法。此时你可以对你的 APNs 消息进行紧急处理后展示,如果没有处理,则显示原始 APNs 推送。

接下来就是测试我们的多媒体推送是否成功,我在网上找了个小狗的照片,直接在个推平台上面推。

多媒体测试

6啊,终于搞定了!棒棒哒~~~

但是,之前的一个老项目说也要集成推送,我透,老项目要用XCode集成,这对于我这种懒人来说,简直是一种折磨啊,哎,折磨归折磨,该搞还要搞。但是之前已经用CocoaPods搞过一遍,这次用XCode集成还不是手到擒来。但是为了防止出错,本人还是先做了个demo,这样后面在自己项目上面集成的话把握性会更大,踩的坑也就会更少。

XCode集成

1.导入个推SDK:

2.库引用检查:

3.添加系统依赖库:

libc++.tbd
libz.tbd
libsqlite3.tbd
libresolv.tbd
Security.framework
MobileCoreServices.framework
SystemConfiguration.framework
CoreTelephony.framework
AVFoundation.framework
CoreLocation.framework
UserNotifications.framework (iOS 10 及以上需添加,使用 Optional 方式接入)
AdSupport.framework (如果使用无IDFA版本SDK,则需删除该 AdSupport 库)

幸亏后面的步骤基本上都是一样的,唯一的欣慰呀!

4.开启推送功能、后台运行权限设置、开启WiFi信息授权

这里跟上面步骤一样,就不啰嗦了。

5.copy代码,这是我们程序猿最喜欢的啦,哈哈哈,之前搞过,这里就不累赘了。

6.添加Notification Service Extension

(1).打开XCode,菜单中选择File->New->Target->Notification Service Extension。如下图所示:

注意:1.Extension的Bundle Identifier不能和Main Target(也就是自己的App Target)的Bundle Identifier相同,否则会报BundleID重复的错误。2.Extension 的 Bundle Identifier 需要在 Main Target 的命名空间下,比如说 Main Target 的 BundleID 为 ent.getui.xxx,那么Extension的BundleID应该类似与ent.getui.xxx.yyy这样的格式。如果不这么做,会引起命名错误。

这个是在个推官网上面看到的,之前自己也踩了这个坑,这里就记录下来。

添加 Notification Service Extension 后会生成相应的 Target。点Finish按钮后会弹出是否激活该 Target 对应 scheme 的选项框,选择 Activate,如果没有弹出该选项框,需要自行添加相应的 scheme。如下图所示:

(2).Notification Service Extension 添加成功后会在项目中自动生成 NotificationService.h 和 NotificationService.m 两个类

这里跟上面一样,就不累赘了。

(3).添加GtExtensionSdk依赖库

选择Notification Service Extension所对应的Target,添加如下依赖库:

libz.tbd
libsqlite3.tbd
GTExtensionSDK.framework
UserNotifications.framework

(4).XCode10建议开启WiFi信息授权:在 Xcode 10.x 以上,找到应用Target设置中的Capabilities -> Access WiFi Information,确认开关已经设为ON状态。如下图所示:

(5).开启多媒体地址Http访问支持:

集成过程中遇到的问题

无效的deviceToken

最让我印象深刻的就是无效的deviceToken,在测试APNS推送的时候,询问过个推那边的技术支持,他们说可以先在应用配置里面测试一下,然后我就拿着我的deviceToken去测试一下,结果提示我是无效的deviceToken,我晕,然后继续咨询个推的技术支持,他们说这个原因有可能是我证书环境的问题。经过一番仔细的检查之后,发现,我在个推平台上面上传的是通用证书,然后我XCode上面的授权证书是开发环境下,这样一来,拿到的是开发环境下的deviceToken,用测试一下,当然会出错。
解决的方案有两种:第一,在个推开发平台上传开发环境下的推送证书。第二:将自己的授权证书更换为生产环境。

通知扩展里面修改标题的代码不生效

self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [Success]", self.bestAttemptContent.title];

发现demo里面有这么一行代码,我把这行代码打开后,推送一条消息,发现标题没有变化,我惊呆了!询问个推技术支持,个推技术支持说,让我先运行主target,然后再运行通知扩展,运行通知扩展的时候会让我们去找主targetAPP,选择主target,然后再推送就会有了,嗯,想了下,这个应该是XCode的bug。

结语

最后,我要说,消息推送功能的集成对APP而言真的真的很重要。以上是个推iOS推送SDK集成的全步骤,给大家做个参考。特别需要注意的几点是:

1.在个推平台上上传的推送证书一定要正确并且要和自己的环境相对应,推荐上传P8证书;

2.主target和通知扩展target是两个target,命名和bundleID上要注意,本人是按照个推官网给的建议命名的。

原文链接:
作者:Ezreallp
链接:https://www.jianshu.com/p/cce2200c0ed7

共收到 3 条回复
96
jk5822 · #1 ·

籟:jk5822稀奇孕婦短期兼職啦 現在有空❤

妹妹說啦什麼都可以玩 走後門 肛交 內射 你還可以帶情趣東西進去 這個妹妹身材也是很不錯的 你又玩過孕婦嗎 可以來試試 這個妹妹好久沒有愛愛啦 很渴望哥哥你們內射一次 現在穴穴灑灑的 哥哥希望你的大肉棒頂到我的子宮裏面去走後門 肛交 內射 你還可以帶情趣東西進去 這個妹妹身材也是很不錯的 你又玩過孕婦嗎 可以來試試 這個妹妹好久沒有愛愛啦 很渴望哥哥你們內射一次 現在穴穴灑灑的 哥哥希望你的大肉棒頂到我的子宮裏面去

❤伊靜 162cm Dcop 22y 55kg

8012 1570630872
anini9595 · #2 ·

size=4老朋友咯
妹妹實在太好 200分 一級棒 絕對物超所值
健談好聊 外貿漂亮身材好 身體乾淨 C-D奶 20歲上下
服務周到比前女友還貼心 約一次讓你直接戀愛
絕對回約名單+1

182738nbtzarebvezak3r2

182738i5ofzdll59owjr1r

182739o6667crr881ttz7w

182742hnj61vn7xqmu9cdl

182742q8y78c5iyln8n7qy

182742tw5e0a82lnowgwjz

182743s3cr7cs3rpnnyhyh

182747zo85c32d4h8kmudw

哈嘍 我叫小星星一個簡單隨性的GTO(介紹台灣本土兼職小姐的工作),希望看到這條訊息的麻吉,都可以加小星星的瀨:nini9595 【Skype:bjx778】【Telegram:nini9595】【Kakao:5280888】【官網 http://www.5280344.com 】不可以錯過這段緣分喔 小星星每天在線的時間是早上10點到凌晨2點 不管需要不需要 可以加一個聯絡方式留起來備用 總是有用的 不管出差還是休假 想要了 直接翻開小星星的瀨 就可以馬上安排到 小星星家的正妹量多 主要都是短期兼職的女生 安全可靠 外送旅館酒店飯店住家 女生身體都很安全健康可靠 因為都有在定期做檢查
有些人這輩子都沒有嘗試過學生、小模或者是空姐或者是廣告藝人還有混血 都可以在小星星這邊一一的實現夢想哦 認識小星星 讓你的人生都充滿驚喜 認識女生不止是一個夢而已 所以你願意給小星星一個認識你的機會嗎 小星星的在賴上等你 因為簡短的話語沒辦法表達太多和很完全介紹我這邊 加賴都可以直接在線上問 一對一的解答 絕對的好態度 本人介紹有問必答 不會嫌對方?嗦 所以對方也不用尷尬 我喜歡別人多問我問題 瀨主頁的正妹也是每天都在更新 報班很多 口味都可隨心選擇呢 小星星口碑外送茶外送茶坊全年無休,誠心實意為各位大大服務。

外送地區:【台北-新北-新竹-台中-彰化-南投-高雄-台南】
營業時間:【中午12:00─淩晨01:30】
外送消費:【一律現金消費-不轉賬-不匯款-不買點數喲~~安全-放心-可靠】
外送地點:【可旅館-外約-住家-酒店-飯店-汽旅-1律現金消費】
計費消費:【大台北/大新竹4500起─大台中/大彰化/大高雄/大台南一律3000起】
妹妹類型:【大台灣本土各行各業本土兼職-混血兼職(全年24H內預約會比較準確)】
特別類型:【中(日.巴.荷.韓.俄)混血/模特/空姐/藝人/學生】

約會大優惠活動 籟nini9595【Skype:bjx778】
第一次消費:原價可以優惠1000+免費加入VIP會員卡
第二次消費:原價立馬優惠2000
第三次消費:原價可以半價優惠一次(僅限當日使用)
消費累積滿10次約MM可以免費試車一次(價位不限)

除此之外還有更多優惠:籟nini9595【Skype:bjx778】
優惠1:每日第一位跟我約MM者原價折扣3000+贈送下次半價優惠券一張
優惠2:一次性買兩節第三節可優惠2000
優惠3:生日當天壽星您最大 買一贈送下次1h1s
優惠4:一次性買三節.免費送一節.直接加入磚石VIP
優惠5:熟客介紹朋友原價折扣2000+贈送黃VIP
優惠6:北部/新竹9000/2H/2S 中部/南部/彰化6000/2H/2S
帶2-4人優惠2000 (例如:5k變3k以此類推)
帶4人以上優惠3000+免費贈送約MM1h1s

【北部消費滿7k一節】一次性買2節者可免費送2節.(意思是買2送2優待!)
【中部消費滿6k一節】一次性買2節者可免費送一節!
【南部消費滿6k一節】一次性買2節者可免費送一節!
以上所有優惠活動真實有效 地區起跳價位除外喲!

台灣外送茶官網【 http://www.5280344.com/forum.php
吃魚喝茶新手區【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=36
真實客評售後區【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=45
平價茶【3-7k】【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=71
優質茶【7-12k】【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=70
高檔茶【12-80k】【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=69
台北外送茶選妃官網【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=39
台中外送茶選妃官網【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=40
高雄外送茶選妃官網【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=41
新竹外送茶選妃官網【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=47
彰化外送茶選妃官網【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=48
台南外送茶選妃官網【 http://www.5280344.com/forum.php?mod=forumdisplay&fid=49

122015t7949099974i743h

122016r7nw7sz3lww6oxnn

122016g52ebjad7e9gezbp

122020xiixft8zfjxlruj4

122021rxxmia9lnrx3qxra

122021amamsa7517aaqqzr

122021gwm8l0l55wbw8byw

122024izlzwuy5upp55naf

122025ai6prpfkoh6es3ee

122025aeeek28pcee6fr0k

122026ir5rrv3aahxkk3g5

122028o61n1cybyhjyunnq

外送地區: 籟nini9595 sy:bjx778

【新北】三重 土城 汐止 新莊 板橋 永和 瀘州 中和 五股 泰山 新店 八里-林口-淡水-龜山萬壽路
【台北】大同 大安 士林 中山 中正 內湖 文山 北投 松山 信義 南港 萬華
【新竹】新竹《東區》竹北
【彰化】員林鎮 鹿港鎮 埔心鄉 和美鎮 溪湖鎮 田尾區 南投市 草屯區 田中鎮 彰化市
【台中】東區 南區 西區 北區 中區 南屯區 西屯區 北屯區 大里 大雅 烏日 豐原 沙鹿 太平
【高雄】左營 三民 苓雅 新興 前鎮 前金 鼓山 楠梓 小港 鳳山
【台南】東區 北區 南區 中西區 永康區-仁德區

無套內射紅牌:【籟nini9595】【Skype:bjx778】【Telegram:nini9595】
圖圖:162.D奶.46.23歲 風騷淫蕩妹 夜裏寂寞 想要做愛 哪位大大喜歡 不要放過此女哦~~這妹服務沒什麼限制的 如果有配合第一次的客人還可以約去家做 為你省下旅館錢但要跟她配合第一次才可下次去她家呦~可不誤解我的意思哦 超淫蕩 現在報班穴穴很欠幹 跟我說好想要大肉棒 可無套BJ 可內射 可口爆 顏射 69 冰火 肛交 後面 狗爬式 側插 玩法沒限制 也可配合情趣用品 制服這些都可以 妹妹今天穿得很性感呦 就蕾絲超短群 紅色的 超性感 讓你看到就想直接去幹她 可親 可舔 喜歡的騷的哥哥趕快預約唷~ 現在報班啦!便宜大腕 品質贊

幼齒蘿莉紅牌:【籟nini9595】【Skype:bjx778】【Telegram:nini9595】
夏爾 155,42,B杯,18歲 青春的肉體,粉嫩吸晴,讓人直流口水 白皙粉嫩純潔的身體,讓你都捨不得抽插她 真的超級嬌小,超級粉嫩,人超級可愛。床上生澀,反應大,姿勢看你可隨意操控 乖女孩,喜歡可愛性經驗少又嬌小年輕的妹妹選擇她沒錯。 #很值得推薦的小妹妹

爆乳真奶紅牌:【籟nini9595】【Skype:bjx778】【Telegram:nini9595】
安心雅 162,48,H杯,24歲 爆乳正妹 胸..胸 ..胸騷就是她的代言詞,不騷不歡,喜歡做愛,喜歡被插,跟男友分隔兩地,總是受不了半夜的寂寞,經常在家裡自慰,欲望很大找猛男,服務態度很好也很認真 大膽 敢玩 尺度超大 性愛服務一點不輸於AV 性感翹臀超會搖的一邊愛愛還會一直說挑逗你的色色的情話 讓你高潮不斷 小穴很緊 胸部G絕對真奶服務態度很好且配合度很高

單親媽媽紅牌:【籟nini9595】【Skype:bjx778】【Telegram:nini9595】
恩媛 163.D.25.46 單親媽媽下海求助 兒子的病需要長期治療 每天花費都非常多 老公怕負擔已經一個月聯絡不到(有興趣的可以幫忙 沒有限制多少價位可以約 )可無套口交 殘廢澡 喇舌 口爆 愛愛

最美校花紅牌:【籟nini9595】【Skype:bjx778】【Telegram:nini9595】
臺大學生妹缺錢下海兼職,外貌清純甜美聲音好聽【瑋瑋】 #臺大在校學生妹 條件:164cm Ccup 20歲 46kg 外貌清純 甜美溫柔 身材偏瘦有料 超級清純漂亮 高檔優質學生妹保證讓您愛不釋手 床上主動熱情又淫蕩 會叫床聲音很騷很好聽 更多服務等你來開發~

氣質空姐紅牌:【籟nini9595】【Skype:bjx778】【Telegram:nini9595】
超優空姐【晨晨】白皙的肌膚,服務主動,又會口交 #現在就可以預約嚕 條件:170/49/D/25Y 介紹:在飛的高顏值空姐,缺錢短期兼職 聲音嗲嗲好聽,又會撒嬌 條件品質太優 白皙的肌膚,服務主動,又會口交 服務給你意想不到的刺激快感 很騷唷!讓你意想不到的騷 淫蕩....

高檔模特紅牌:【籟nini9595】【Skype:bjx778】【Telegram:nini9595】
momo雜誌模特兒,長腿誘惑 天使面孔 S性身材 誘惑力100% 名字:momo 條件:170/48/C+/22Y 介紹:明星的氣質,高挑長腿,小蠻腰 經常拍雜誌廣告,尋求刺激出來兼職,清純小臉收很迷人喔 長腿誘惑 天使面孔 S性身材 誘惑力100%

更多台灣本土漂亮兼職妹 18-40歲任君品嘗 ★外拍麻豆‧校園校花‧專櫃正妹‧車展辣妹 ★無名正妹‧視訊美女‧雜誌麻豆‧電梯小姐 ★名航空姐‧性感OL‧比基尼妹‧性感美姬 ☆展場麻豆‧AV女優‧童顏巨乳‧人工美女 ★商務秘書‧淫蕩人妻‧酒店公主‧麻辣教師 ☆優質靚女‧風騷護士‧高校正妹‧清涼酒促 ★日系台妹‧嗆辣甜心‧萌系少女‧火辣舞者等你來

#小星星外送茶籟nini9595 #台灣外送茶 #台北外約茶莊 官網 http://5280344.com #無套茶莊台北平價茶 #台中外送茶 #高雄外送茶 #新竹外送茶 #台南外送茶 #台灣蘿莉送茶台灣茶魚外約三線名模混血辣妹處女蘿莉幼齒學生妹處女校花高檔茶麻豆模特空姐短期兼職下海 #台北美女外約【籟nini9595】【Skype:bjx778】【Telegram:nini9595】【Kakao:5280888】【官網 http://www.5280344.com 】 現金消費全套服務無套內射口爆肛交後門按摩舒壓理容約妹折扣買二送一買三送一買二送二包夜爽趴很優待 #外約學生妹籟nini9595 #高檔正妹麻豆藝人小模空姐援交妹學生處女 台灣蘿莉送茶吃魚喝茶人妻女優泰洗處女敢玩3P雙飛無套全場3K起【有圖】 #高雄外送茶,#高雄約炮,#高雄外約,#高雄吃魚喝茶,#高雄找小姐,#高雄全套,#高雄茶莊,#高雄茶訊,#高雄約炮神器,#高雄一夜情,#高雄炮友,#高雄買春,#高雄叫雞,#高雄嫖妓,【籟nini9595】【Skype:bjx778】【Telegram:nini9595】【Kakao:5280888】【官網 http://www.5280344.com 】 台中外送茶 台中學生 台中一夜情 台中找小姐 台中全套茶旅館愛愛 台中單親媽媽 #高雄找炮友#高雄外送茶 #高雄外送茶,#高雄約炮,#高雄外約 #台北外約 #台北外送茶 #台北買春 #台北叫小姐 #台北叫全套 #台北按摩 #台北半套 #台北找援交妹 #台北茶莊 #台北上門按摩 #台北找茶 #台北外約小姐 #台北找一夜情 #台北外約 #台北外送茶 #台北買春 #台北叫小姐 #台北叫全套 #台北按摩 #台北外約 #台北外送茶 #台北買春 #台北叫小姐 #台北叫全套 #台北按摩 【籟nini9595】【Skype:bjx778】【Telegram:nini9595】【Kakao:5280888】【官網 http://www.5280344.com 】 #台北找援交妹 #台北茶莊 #台北上門按摩 #台北找茶 #台北外約小姐 #台北找一夜情 #台北外約 #台北外送茶 #台北買春 #台北叫小姐 #台北叫全套 #台北按摩 #台北半套 #台北外約 #台北外送茶 #台北買春 #台北叫小姐 #台北叫全套 #台北按摩 #台北找援交妹 #台北茶莊 #台北上門按摩 #台北找茶 #台北外約小姐 #台北找一夜情 #台北外約 #台北外送茶 #台北買春 #台北叫小姐 #台北叫全套 #台北按摩 甜美誘人+性感魅惑+情趣狂野 三點式/情趣比基尼+激情貓裝+性感丁字褲+絲襪/網襪/吊襪帶+俏麗女僕裝+百變護士裝+百變學生服+空姐/OL制服 空姐 模特兒 演藝明星 女主播 護士 女軍官 AV女優 運動員 女學生 促 狂野型 淫蕩型 服務型 外貿型 氣質型 美腿型 甜美型 大奶型 高檔型 特別型 火辣 台北/新竹/台中/彰化/南投/高雄市區 住家、飯店、商汽旅(見到妹妹/滿意金消費) ╭適時點杯台灣好tea╮★╭新鮮出爐ㄉ好茶等你來泡!!絕對驚艷![應有盡有~任君挑選☆服務超優] 臺北/臺中/高雄/彰化/新竹/茶訊論壇/鐘點情人外送茶/找茶喝/找魚論壇/高價正妹外送茶/高價辣妹外送/高價清純學生妹/高價麻豆外送/高價混血正妹外送/出差外叫小姐/外送到府【籟nini9595】【Skype:bjx778】【Telegram:nini9595】【Kakao:5280888】【官網 http://www.5280344.com 】成人愛愛論壇 大家來找茶 伊利 玩美情人 男人幫 QK情色休閒俱樂部 重車論壇 一夜情 瀘州指壓 成人圖片 李宗瑞 陳自搖 口爆 幼幼 成人貼圖 吳亞馨 中出 顏射 太子 找魚論壇 陳自搖 鬆島楓茶.叫女人.飯店叫辣妹.外約電話.外送人妻辣媽.汐止.瀘州.三重.新莊.南港.林口.龜山外送茶.台北舒壓按摩全套服務外送.援交妹網站.全套服務網站.台北外送茶.外送住家.一夜情.外送鐘點情人外送茶坊台北新竹彰化台中高雄南投彰化旅館飯店叫小姐找炮友最佳選擇地方 #爆操 #4p #A片 #E罩 #G罩 #一夜情 #一條龍 #丁字褲 #上床 #下體 #中學生【籟nini9595】【Skype:bjx778】【Telegram:nini9595】【Kakao:5280888】【官網 http://www.5280344.com 】 #人妻 #做愛 #偷吃 #偷情 #偷拍 #兔女郎 #內射 #全裸 #出差 #出水 #初夜 #動漫 #原味內褲 #口交 #口爆 #叫雞 #可愛 #台中 #台北 #台妹 #台模 #台灣 #偷拍 #吃精 #名模 #后入 #吞精 #吸蛋 #啪啪啪 #國中生 #國模 #外國 #外送 #夜店 #大奶奶 #大胸 #大腿 #女主播 #女學生 #女教師 #女模 #女神 #女秘書 #妖精 #嫖妓 #嫩女 #嫩模 #嫩穴 #學生妹 #宅男 #安全套 #寂寞 #射精 #小奶 #小母狗 #籟nini9595官網 http://5280344.com #少婦 #巨乳 #平胸 #幼齒 #影片 #後入 #性愛 #情婦 #成人電影 #打炮 #打飛機 #抖音 #按摩 #接吻 #援交妹 #摳穴 #摳逼 #操逼 #旅館 #日本妹 #明星 #校花 #極品 #模特 #模特兒 #歐美 #母狗 #比基尼 #泡澡 #泰妹 #淋浴 #混血 #潮吹 #烏克蘭 #無套 #無碼 #熟女 #爆乳 #發騷 #白嫩 #白富美 #直播 #眼鏡妹 #稚嫩 #空姐 #童? #約炮 #美乳 #美胸 #美鮑 #翹臀 #肛交 #脫衣秀 #藝人 #蘿莉 #裙底 #裸拍 #裸體 #調教 #足交 #跳蛋 #車模 #辣妹 #辣模 #酒店 #野模 #陰道 #電愛 #韓妞 #韓模 #顏射 #飢渴 #騷貨 #高中生 #高挑 #高潮 #黑絲 【籟nini9595】【Skype:bjx778】【Telegram:nini9595】【Kakao:5280888】【官網 http://www.5280344.com 】高檔茶臺大學生妹空姐援交妹混血辣妹秘書模特麻豆 嫩妹無套內射輔仁學生妹真奶爆乳混血高檔雙飛模特 台灣正妹短期兼職下海幼齒蘿莉處女18歲敢玩爆乳H奶 #小星星外送茶 #外送茶莊 #外約學生妹兼職下海 [/size]

96
jk5822xin · #3 ·
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up