1.服务端Options 参数中的apns_production 没有设置对应的生产环境
    导致测试的时候可以顺利推送  但是上线之后推送功能失效

2.我们在做推送的时候需要关心的一些问题
关键绩效指标(KPI:Key Performance Indicator)
   新增用户、活跃用户、启动次数
这些指标是KPI的主要评估标准;关注这些指标的每日趋势,您可以了解到应用每天发展是否正常、是否符合预期。
    留存用户、留存率、流失用户

1. 通知可以在app关闭的情况下收到,而消息只能当应用打开(Android)甚至仅在前台(iOS)时,才会收到。

3.定时发送推送
要用到
http://docs.jpush.io/server/rest_api_push_schedule/
  1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  
  2. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];  
  3. manager.requestSerializer = [AFJSONRequestSerializer serializer];  
  4. manager.responseSerializer = [AFJSONResponseSerializer serializer];  
  5. [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];  
  6. [manager.requestSerializer setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];   

为什么集成成功后iOS收不到推送通知?

请确保:

  • 推送的key和应用集成的key是同一个;
  • iOS应用程序的证书和你上传到JPush Portal上上传的证书是同一个;
  • 推送时指定的iOS推送环境和应用证书是同一个环境。

温馨提示:目前V3 api推送可以通过参数apns_production来指定推送环境:false为开发环境,true为生产环境。V3 api不带此参数则默认为生产环境,V3 api封装的sdk 默认为开发环境。

为什么启动的时候出现 Did Fail To Register For Remote Notifications With Error的错误

程序运行的时候出现下面的错误信息:

did Fail To Register For Remote Notifications With Error: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserInfo=0x1c55e000 {NSLocalizedDescription=未找到应用程序的“aps-environment”的权利字符串}

这个是由于你的Provisioning Profile文件,不具备APNS功能导致的。请登陆Apple Developer 网站设置好证书,更新Provisioning Profile,重新导入Xcode。

或参考:http://blog.csdn.net/stefzeus/article/details/7418552

如何在接收到 APN 的时候获取 APN 消息内容并进行跳转或做出响应处理?

获取 APNs 推送内容

如何关闭 APN  推送?

关闭推送有以下两种方式关闭:

1.在iOS系统设置的通知设置中更改对应app的推送设置(推荐);

2.在代码中调用 [[UIApplication sharedApplication] unregisterForRemoteNotifications];

对应以上关闭方式的重新打开推送方法:

1.在iOS系统设置的通知设置中修改对应app的推送设置;

2.在代码中重新调用 [APService registerForRemoteNotificationTypes:];

App badge number(角标)如何更改与清空?

JPush 网站上推送 iOS 通知时,可选设置里面有选项可以指定 badge 的参数的值,如:1或"+1"。

api上指定badge的参数请看:Push-API-v3#API-v3-ios,客户端上报badge到JPush服务器的接口请看:设置badge

Icon Badge number 的清空方法:

  1. APN 推送内容指定 badge number 为 0;
  2. 在代码中使用如下代码清空 badge number:  [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

注意:badge累加只能通过v3api推送,且只有1.7.4版本以上才能支持。

为何推送一条 APN 后,点击通知中心的 APN 通知打开 App,可是 APN 通知在通知中心依然存在而未被删除?

如果推送 APN 时,Badge number 被指定为0 ,则可能出现 APN 消息在通知中心被点击后,尽管调用了   [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 但 APN 消息在通知中心不会被删除的情况。 这种情况可以按如下代码调用以清除通知中心的 APN 通知。

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

相关文章: