# singlePushDemo **Repository Path**: JMHD/singlePushDemo ## Basic Information - **Project Name**: singlePushDemo - **Description**: 用个推来做推送的demo - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2015-10-07 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #singlePushDemo # 说明 用于消息推送,封装了消息中心,采用了个推sdk,利用了苹果的apns 注意:需要创建苹果的推送证书,使用证书的固定bundleID,才能接收到apns的通知。(证书需要上传到个推后台) # 配置 * 1拷贝工程中的3个目录dist DY推送 通知中心 * 2添加库依赖ibz.tdb libsqlite3.tdb Security.framework SystemConfiguration.framework CFNetwork.framework CoreTelephony.framework CoreLocation.framework AVFoundation.framework和个推的静态库libGeTuiSdk-1.2.1.a * 3添加头文件搜索目录dist/include ![](添加搜索头文件路径.png) * 4在appdelegate的didFinishLaunchingWithOptions中添加 ``` //向注册中心注册 [[DYPushCenter sharedDYPushCenter] registerPushCenterWithHandleBlock:^(NSString *clientID, NSError *error) { } }]; [DYPushCenter application:application didFinishLaunchingWithOptions:launchOptions]; ``` * 5在appdelegate中拷贝函数 ``` //#pragma mark - 桥接DYPushCenter - (void)applicationDidEnterBackground:(UIApplication *)application { [DYPushCenter applicationDidEnterBackground:application]; } - (void)applicationDidBecomeActive:(UIApplication *)application { [DYPushCenter applicationDidBecomeActive:application]; } - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { [DYPushCenter application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; } - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { [DYPushCenter application:application didFailToRegisterForRemoteNotificationsWithError:error]; } ``` * 6配置推送中心的 通知后台,3个参数由通知后台给出.DYPushCenter.h中 ``` #define kAppId @"0oyQ5GPHT695GpQIoSxGr" #define kAppKey @"HeInJlkvsj5u5lsatQ4bj3" #define kAppSecret @"jfFbSvvL7p9y4agKa5yQG5" ``` # 使用 * 1添加接收者 ``` [[DYPushCenter sharedDYPushCenter] addMessagePushReceiver:self]; ``` * 2接收者实现协议 ``` #pragma mark - addMessagePushReceiver之后 接收的消息 - (void)didReceiveMessage:(id)message withtype:(NSString *)aSMSType { if ([aSMSType isEqualToString:DYPushCenter_Message]){ NSLog(@"收到push的消息:%@",message); } } ``` # 测试 个推后台 发消息平台。账号jieson 密码dooya708 3个参数请登录后查看,也看直接使用DYPushCenter.h中描述的用于测试的3个参数 # 其他描述 DYPushCenter推送中心 { -注册--领身份证 绑定-主机 -开启所有服务 解绑-主机 -关闭所有服务 -启动 --从后台激活使用 -睡眠 --再次被启动后,消息会被收到,不会丢失。进入后台调用。 add消息关注者 dele消息关注者 ----------- 已读所有消息 --用于服务器未读消息计算来显示角标 已读某一条消息 } # 其他参考 个推的官网