Unity で iOS のローカル通知を実装
はじめに
コード
- 前回実装した NotifyTestScript.cs で iOS 版のローカル通知にも対応する。
- 変更箇所は、OnApplicationPause で、iOS の場合、非アクティブ移行時に通知をスケジューリングし、アクティブ移行時に通知があれば削除する。
using UnityEngine; using System.Collections; public class NotifyTestScript : MonoBehaviour { ... 略 ... void OnApplicationPause (bool pauseStatus) { if (pauseStatus) { Debug.Log("applicationWillResignActive or onPause"); #if UNITY_ANDROID && !UNITY_EDITOR m_plugin.Call ("startService"); #elif UNITY_IPHONE LocalNotification l = new LocalNotification(); l.applicationIconBadgeNumber = 1; l.fireDate = System.DateTime.Now.AddSeconds(60); l.alertBody = "hello world"; NotificationServices.ScheduleLocalNotification(l); #endif } else { Debug.Log("applicationDidBecomeActive or onResume"); #if UNITY_ANDROID && !UNITY_EDITOR m_plugin.Call ("stopService"); #elif UNITY_IPHONE if( NotificationServices.localNotificationCount > 0) { LocalNotification l = new LocalNotification(); l.applicationIconBadgeNumber = -1; NotificationServices.PresentLocalNotificationNow(l); NotificationServices.CancelAllLocalNotifications(); NotificationServices.ClearLocalNotifications(); } #endif } } ... 略 ... }