Win7开机失败,修复失败,也无法进行win系统还原失败,该怎么办

个推 -- iOS SDK 1.2.0 集成步骤
我的图书馆
个推 -- iOS SDK 1.2.0 集成步骤
概述个推推送是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发者积极地保持与用户的连接,从而提高用户活跃度、提高应用的留存率。我们提供了一个SDK开发工具包,包含了iOS SDK的全部所需资源,解压缩后的文件目录结构如图:其中dist目录包含集成SDK所需的静态库和头文件。项目设置1. 将dist目录拷贝到项目工程目录下导入dist/include/所有的头文件、libGeTuiSdk-{version}.a文件和几个系统库到XCode项目中。2. 添加头文件搜索目录3. 添加依赖库 (必须,如下图)系统库支持:ibz.dyliblibsqlite3.dylibSecurity.frameworkSystemConfiguration.frameworkCFNetwork.frameworkCoreTelephony.frameworkCoreLocation.frameworkAVFoundation.framework4. SDK后台运行权限设置4.1 Background Fetch 权限:(必选)为了更好支持SDK 推送,APP定期抓取离线数据, 添加Background Fetch 功能。添加background Fetch 权限:4.2 Audio and AirPlay 权限:(可选)& & Audio and AirPlay 权限开启,可以保证SDK后台长时间运行,保证消息实时到达。开发者后台发送透传消息将直接通过GeTuiSdkDidReceivePayload接口送达。& & (注:该功能视APP应用具体功能而定,如果App不支持后台多媒体播放,请不要勾选,勾选将有概率通不过AppStore审核!)5. SDK地理围栏功能:(可选)描述:本功能为使用个推2.0智能标签和个推3.0应景推送的必选功能,建议勾选此功能。5.1 GPS 定位权限设置(可选)为了适配IOS8及以上系统: Info.plist 中需要添加 NSLocationWhenInUseUsageDescription 或者 &NSLocationAlwaysUsageDescription& key。NSLocationWhenInUseUsageDescription & 允许App前台获取GPS信息NSLocationAlwaysUsageDescription & & & & 允许App前/后台获取GPS信息其中NSLocationAlwaysUsageDescription&或者&NSLocationWhenInUseUsageDescription&key对应的描述将会出现在请求窗口中,如果不需要描述可以设置value为空。接入流程1. AppDelegate中启动个推SDK在AppDelegate 中 didFinishLaunchingWithOptions 方法中,通过平台分配的APPID/APPKEY/APPSECRENT 启动个推SDK,并完成注册APNS通知和处理启动时拿到的APNS透传数据。- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions&{&&&&&&&&[self startSdkWith:kAppId appKey:kAppKey appSecret:kAppSecret];&&&&&&&&&&[self registerRemoteNotification];&&&&&NSDictionary*message=[launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];&&&&&if (message) {&&&&&&&&&NSString*payloadMsg = [message objectForKey:@"payload"];&&&&&&&&&NSString*record = [NSString stringWithFormat:@"[APN]%@,%@",[NSDate date],payloadMsg];&&&&&&&&&[_viewController logMsg:record];&&&&&}&&&&return YES;&}2. 启动SDK ,并设置后台开关和电子围栏开关- (void)startSdkWith:(NSString *)appID appKey:(NSString*)appKey appSecret:(NSString *)appSecret&{&&&&&NSError *err =&& &&&&&&&&&&[GeTuiSdk startSdkWithAppId:appID appKey:appKey appSecret:appSecret delegate:self error:&err];&&&&&&&&&&[GeTuiSdk runBackgroundEnable:YES];&&&&&&&&&&[GeTuiSdk lbsLocationEnable:YES andUserVerify:YES];&&&&&&if (err) {&&&&&& &&&&&&&&[_viewController logMsg:[NSString stringWithFormat:@"%@", [errlocalizedDescription]]];&&&&&}&}3. 当应用进入后台时通知个推SDK进入后台-(void)applicationDidEnterBackground:(UIApplication *)application{&&&&&&&&[GeTuiSdk enterBackground];}&注:原先stopSDK接口。4. 向服务器注册DeviceToken为&GeTui&Server&上报&DeviceToken,免除开发者管理&DeviceToken&的麻烦。并可通过个推开发者平台推送APN消息。-(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken&{&&&&&NSString *token = [[deviceTokendescription]&&&&&&&&&stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"&&"]];&&&&&[_deviceToken release];&&&&&deviceToken = [[token stringByReplacingOccurrencesOfString:@" " withString:@""] retain];&&&&&NSLog(@"deviceToken:%@",_deviceToken);&&&&&&&&&[GeTuiSdk registerDeviceToken:_deviceToken];&}如果获取DeviceToken获取失败,也需要通知个推服务器。-(void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error&{&&&&&&&&[GeTuiSdk registerDeviceToken:@""];&}5. Background Fetch 接口回调IOS7.0以后支持APP后台刷新数据,会回调performFetchWithCompletionHandler接口,此处为保证个推数据刷新需调用 [GeTuiSdk resumeBackgroundClient] 接口恢复个推SDK 运行刷新数据。-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{&&&&[GeTuiSdk resume];& &&&&&&completionHandler(UIBackgroundFetchResultNewData);&}6. 个推SDK支持用户设置标签个推SDK支持用户设置标签,标示一组标签用户,可以针对标签用户进行推送。接口:+ (BOOL)setTags:(NSArray *)NSArray *tagNames = [tagName componentsSeparatedByString:@"tag1,tag2"];&&[GeTuiSdk setTags: tagNames];7.&个推SDK支持绑定别名功能个推SDK支持绑定别名功能,对用户设置别名,可以针对具体别名进行推送。接口:&+ (void)bindAlias:(NSString *) //绑定别名接口:&+ (void)unbindAlias:(NSString *) //解绑别名NSString *aAlias = @"张三";&[GeTuiSdk bindAlias:aAlias];&8. 设置SDK Delegate 回调,实现GeTuiSdkDelegate各个接口方法8.1 SDK启动成功返回CID接口:&- (void) GeTuiSdkDidRegisterClient:(NSString *)clientId;- (void)GeTuiSdkDidRegisterClient:(NSString *)clientId& &{&&&&&&&&&&[_clientId release];&&&&&_clientId = [clientId retain];&}8.2 SDK收到透传消息回调接口:-(void)GeTuiSdkDidReceivePayload:(NSString*)payloadId andTaskId:(NSString*) taskId andMessageId:(NSString*)aMsgId fromApplication:(NSString *)appId;-(void)GeTuiSdkDidReceivePayload:(NSString*)payloadIdandTaskId:(NSString*)taskId andMessageId:(NSString *)aMsgId fromApplication:(NSString *)appId&{&&&&&&&&&&[_payloadId release];&&&&&_payloadId =[payloadId retain];&&&&&NSData *payload = [GeTuiSdk retrivePayloadById:payloadId]; &&&&&NSString *payloadMsg =&&&&&if (payload) {&&&&&&&&&payloadMsg = [[NSString alloc] initWithBytes:payload.bytes &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&length:payload.length &&&&&&&&&&encoding:NSUTF8StringEncoding];&&&&&}&&&&&NSString *record = [NSString stringWithFormat:@"%d, %@, %@",++_lastPaylodIndex, [self formateTime:[NSDate date]], payloadMsg];&&&&&&&&NSLog(@"task id : %@, messageId:%@", taskId, aMsgId);&&&&&[payloadMsg release];&&}8.3 SDK收到sendMessage消息回调接口:- (void) GeTuiSdkDidSendMessage:(NSString *)messageId result:(int)- (void)GeTuiSdkDidSendMessage:(NSString *)messageId result:(int)result {&&&&&&&&&&NSString *record = [NSString stringWithFormat:@"Received sendmessage:%@ result:%d", messageId, result];&&&&&[_viewController logMsg:record];&&}8.4 SDK遇到错误回调接口:&- (void) GeTuiSdkDidOccurError:(NSError *)- (void)GeTuiSdkDidOccurError:(NSError *)error&{&&&&&&&&&&&[_viewController logMsg:[NSString&&&&stringWithFormat:@"&&&[GexinSdk error]:%@", [error localizedDescription]]];&}8.5&SDK运行状态通知状态类型 :- (void)GeTuiSDkDidNotifySdkState:(SdkStatus)aStatus {&&&&&&&&&&_sdkStatus = aS&&&&[_viewController updateStatusView:self];&}sd iOS推送流程iOS应用&Server&getui SDK&getui Server和Apple Push Notification Server的交互过程,如下图&&&&&&&&&&&&
TA的最新馆藏[转]&[转]&[转]&[转]&HBuilder开发的APP使用个推推送消息
时间: 18:51:26
&&&& 阅读:9835
&&&& 评论:
&&&& 收藏:0
标签:1、APP端配置
&&&&&&&& a、允许使用第三方插件:
打开app的manifest.json文件,切换到可视化视图,允许使用第三方插件。
&&&&& b、配置第三方插件(个推)
在APP的manifest.json文件中的permission节点下添加push节点:
&description&: &管理推送消息插件&
如果已经存在的话不用修改。
在plus--&distribute--&plugins节点下添加push节点
&description&: &管理消息推送能力&,
&cover&: &false&,
&igexin&:{
&appid&:&&,
&appkey&:&&,
&appsecret&:&&
},上面的appid、appkey和appsecret均是在个推网站上注册后添加应用后得到。
c、绑定收到推送消息的事件
document.addEventListener( &plusready&, function(){
message = document.getElementById(&message&);
// 监听点击消息事件
plus.push.addEventListener( &click&, function( msg ) {
根据需要填写
}, false );
// 监听在线消息事件
plus.push.addEventListener( &receive&, function( msg ) {
/*根据需要填写*/
}, false );
}, false );
2、个推网站注册
根据提示注册并添加应用即可,最后如下所示,点击应用配置可查看appid、appkey等信息,将其输入app配置文件对应位置即可。手机在线时打开app后,如果该页面在线用户数显示为1,表示个推和app之间通信成功。
点击创建推送,即可为app推送消息。
注:测试时需要将app打包再安装到手机上,否则app端获取的appid等参数不是配置文件中配置的参数,而是HBuilder真机调试基座的参数,会导致个推与app连接不成功。
&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!

我要回帖

更多关于 系统还原失败 的文章

 

随机推荐