只能设置固定的时间进行推送,1.本地推送

以上就是关于本地推送的基本实现,因为通常使用本地推送都会设置为固定的时间进行推送,所以下面补充一个关于获取当前时间的各个字段的方法:

2.远程推送流程

关键代码

  • 1.适配iOS8以上的推送授权配置

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
      }
      else {
        [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge];
      }
    }
    

请求用户授权发送本地推送

  • 2 设置一个推送并注册到系统

    UILocalNotification* localNotification = [[UILocalNotification alloc] init];
    
    localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:30];  //30秒后推送
    localNotification.timeZone = [NSTimeZone localTimeZone];
    localNotification.userInfo = @{
                                   @"name":@"the Name",
                                   @"id":@"0",
                                 };
    localNotification.alertBody = @"alertBody";
    localNotification.alertTitle = @"title";
    
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; //注入系统
    
  • 3 移除本地推送设置

     NSArray* notifArray = [[UIApplication sharedApplication] scheduledLocalNotifications];
    
     for (UILocalNotification* nof in notifArray) {
          if ([[nof.userInfo valueForKey:@"name"] isEqualToString:@"the Name"]) {//通过userInfo的数据来甄别相应的LocalNotification
    
              [[UIApplication sharedApplication] cancelLocalNotification:nof];
     }
    

申请通知权限

若要通知生效,则先要为该APP申请通知权限。一般可在AppDelegate的application:didFinishLaunchingWithOptions方法中添加如下代码:

if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) { 
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]];
}

“定时群发”功能或让以下5类公众号运营者成最大赢家

第一类,早起狗;最典型的就是“有书”、“单向街书店”这一类每天早上推送消息的公众号,公众号的图文素材,往往在前一天晚间就已经基本准备好,早上推送,并不是因为运营者起得早,而是为了抢读者起床的这一阅读时刻而已。有了定时群发功能,运营者们就不用起那么大早了。

图片 1

第二类,熬夜党;一些公众号运营者,喜欢在半夜00点01分这种惊心动魄的时刻点击推送,比如“差评”、“剽悍一只猫”这样的500强微信公众号。对于这些公众号,定时群发功能很适合他们,毕竟,熬夜就等于慢性自杀,为了身体健康,设定好定时群发,早点睡觉吧。

图片 2

第三类,强迫症患者;比如著名的情感大号“胡辛束”,她的一大特色就是每天22点22分准时推送;再比如“广告狂人”,每天11点30分不见不散。对于这一类连粉丝都已经习惯它每天固定时间推送的公众号,完全可以在素材已准备好的情况下,适当选择使用定时群发功能,避免错过一贯的推送时间。

图片 3

第四类,企业服务号。对于很多企业来说,运营一个服务号,一个月4次的推送限制,平均每周需要推送一次,大部分服务号的推送周期也是固定的,比如麦当劳一般在周二或周三推送,对于这类企业服务号,素材往往都是提前就能准备好的,临时性没有做订阅号那么高,所以这类服务号也可以使用定时群发功能。

第五类,固定节日早准备。其实这不算是某一类公众号,应该算某一种情况下,比如父亲节、母亲节、国庆节这一类每年都有的固定节日,公众号运营者完全可以提前准备素材,对于某些极端号来说,甚至可以每年循环使用,定时群发对他们来说无疑是节省时间的利器。

自从用了了定时群发,公众号小编终于拥有了夜生活!

当然了,想要了解更多好玩,实用新媒体运营干货与技巧,快来关注我!

以上仅供参考,本人能力有限,如有问题请指出,谢谢.

3.激光推送

参数

时间相关参数
(A组) fireDate 和 timeZone

  • fireDate : 推送时间
  • timeZone :推送时间对应的时区

设置好以后,当用户跨时区移动时,时间也会对应修改(+/-)。

(B组)repeatInterval和repeatCalendar

  • repeatInterval:重复激发推送的周期(周/年/日等)
  • repeatCalendar:重复激发推送的日历根据(日历根据)

如果同时设置A组和B组的话,可能会导致未知的错误。

地点相关参数

  • region:区域范围,由此可设置进入某区域时进行推送
  • regionTriggersOnce: BOOL类型,置为YES则每个预设区域的推送只会发送一次

  • alertBody(推送显示的字符串
  • alertAction(推送按钮字符
  • hasAction(是否显示按钮
  • alertLaunchImage(推送图标

以上是当应用不在运行时,系统处理的参数。

推送的界面和控件是固定死的,开发者没有权限自定义


其他参数:

  • applicationIconBadgeNumber :强迫症最怕的App右上角红点计数

application:didReceiveLocalNotification:方法

该方法用于接收到本地通知时的回调方法:

// APP运行中收到notification时调用
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { 
    // 可根据notification对象的userInfo等属性进行相应判断和处理
}

图片 4

本文由必威发布于必威-编程,转载请注明出处:只能设置固定的时间进行推送,1.本地推送

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。