Unity在iOS的本地推送功能

作者: Babybus_Unity | 来源:发表于2015-12-17 11:57 被阅读1802次

Babybus-u3d技术交流-Unity在iOS的本地推送功能

Unity内部封装了在iOS下的本地推送功能,可以很方便的实现在iOS设备上的简单本地推送。
命名空间为:UnityEngine.iOS

在Unity中的代码和直接用swift的代码基本类似。

具体代码实现:

    static void NotificationMessage(string message,System.DateTime newDate,bool isRepeatDay)  
  {        //推送时间需要大于当前时间
        if(newDate > System.DateTime.Now)     
   {            UnityEngine.iOS.LocalNotificationlocalNotification = new UnityEngine.iO      S.LocalNotification();            
      localNotification.fireDate =newDate;      
      localNotification.alertBody = message;       
      localNotification.applicationIconBadgeNumber = 1;        
      localNotification.hasAction = true;          
      if(isRepeatDay)        
         {                //是否每天定期循环
                localNotification.repeatCalendar = UnityEngine.iOS.CalendarIdentifier.C  hineseCalendar;//中国日历
                localNotification.repeatInterval = UnityEngine.iOS.CalendarUnit.Day;//每日推送
          }        
    localNotification.soundName = UnityEngine.iOS.LocalNotification.defaultSound Name;              
   UnityEngine.iOS.NotificationServices.RegisterForNotifications(UnityEngine.iOS.  NotificationType.Alert| UnityEngine.iOS.NotificationType.Badge | UnityEngine.iOS.NotificationType.Sound);
//以特定的类型推送
            UnityEngine.iOS.NotificationServices.ScheduleLocalNotification(localNotification);   
     } 
   }    //游戏退出时调用
    void OnApplicationQuit()
  {        //每天中午12点推送
        NotificationMessage("每天中午12点推送",12,true);  
  }    //游戏进入后台时或者从后台进入前台时调用
    void OnApplicationPause(bool paused) 
   {        //程序进入后台时
        if(paused)     
   {            //每天中午12点推送
            NotificationMessage("每天12点推送",12,true);     
   }        else
        {            //程序从后台进入前台时
            CleanNotification();      
       }    
}    //清除推送消息,在Awake中调用
    void CleanNotification()   
 {        UnityEngine.iOS.LocalNotification ln = new UnityEngine.iOS.LocalNotification();      
      ln.applicationIconBadgeNumber = -1;        
      UnityEngine.iOS.NotificationServices.PresentLocalNotificationNow (ln);   
      UnityEngine.iOS.NotificationServices.CancelAllLocalNotifications ();     
      UnityEngine.iOS.NotificationServices.ClearLocalNotifications ();     }  
 

相关文章

  • Unity在iOS的本地推送功能

    Babybus-u3d技术交流-Unity在iOS的本地推送功能 Unity内部封装了在iOS下的本地推送功能,可...

  • 本地推送闹钟功能实现

    本地推送闹钟功能实现 在ios10下使用UserNotifications用本地推送实现闹钟功能,只是实现了简单的...

  • 转的推送功能

    iOS的推送功能包括:远程推送以及本地推送,从iOS4到目前的iOS10,推送功能经历了多个版本的修改。现在做一个...

  • iOS8-推送(本地和远程)的简单使用

    参考文章:本地推送:一、iOS推送之本地推送(iOS Notification Of Local Notifica...

  • iOS远程推送之(一):APNs原理和基本配置

    一、前言 iOS中消息推送有两种方式,本地推送和远程推送。本地推送在iOS中使用本地通知为你的APP添加提示用户功...

  • iOS 本地推送

    iOS 本地推送 ------------------------------------------------...

  • iOS本地推送

    iOS本地推送 第一步:创建本地推送 // 创建一个本地推送 UILocalNotifica...

  • 本地推送的相关知识点

    本地推送 iOS10 在iOS10 中,推送授权方法做了很大改变,下面是授权和注册方法,要使用本地推送,首先要进行...

  • 本地推送被清除

    问题:在定义本地推送时,发现在iOS11系统中,在点击远程推送后,本地推送被清空,只留下APNs推送信息。 原因:...

  • iOS 推送通知及通知扩展

    级别: ★★☆☆☆标签:「iOS 本地推送」「iOS 远程推送」「iOS通知扩展」作者: dac_1033审校: ...

网友评论

    本文标题:Unity在iOS的本地推送功能

    本文链接:https://www.haomeiwen.com/subject/kxlphttx.html