ローカル通知を使う
Unityでローカル通知を試してみた。
■ローカル通知とは
ローカル通知は、プッシュ通知とか呼ばれることのある「通知」の機能。
アプリを終了しても、一定時間経つと通知してくれるアレだ。
こいつの特徴は3つ。
1.アプリが終了していても通知メッセージを表示する
2.通知をタッチすればアプリが起動する
3.メッセージはアプリが設定する
iPhone/iPadの可能性をさらに広げる「ローカル通知」(ASCII.jp)
http://ascii.jp/elem/000/000/659/659504/
ちなみに、リモート通知ってのもある。
こっちは外部サービスを使って端末の通知を呼び出す仕組みで、
通知の送信時に、通知するメッセージを好きなように設定できる。
これはアップデートの通知とか向けで、有料サービスっぽい(無料のもあるにはあるみたい)。
■ローカル通知の使い方
ローカル通知を使うには、2つのコードを書く必要があるみたい。
1.通知のメッセージを作成してiosに登録する
2.アプリ起動時に通知を削除する
1.通知メッセージを作成
まず通知メッセージの作成、これは[LocalNotification]クラスを作る。
このクラスでは、通知時のメッセージや音、バッジを設定できる。
バッジは、通知時にアイコンに付く数字の名前らしい(?)。
下の例では、10秒後に"hello world"の通知を呼ぶ。
あとアプリに1のバッジをつける。
LocalNotification l = new LocalNotification();
l.applicationIconBadgeNumber = 1;
l.fireDate = System.DateTime.Now.AddSeconds(10);
l.alertBody = "hello world";
NotificationServices.ScheduleLocalNotification(l);
LocalNotification(Unity Script Reference)
http://unity3d.com/support/documentation/ScriptReference/LocalNotification.html
2.アプリ起動時に通知を削除する
詳しくはわからないけど、手順には書いてあるので必要なんじゃないかと思う。
通知が0件より多ければ、ローカル通知を全部破棄する
if( NotificationServices.localNotificationCount > 0)
{
NotificationServices.ClearLocalNotifications();
}
NotificationServices(Unity Script Reference)
http://unity3d.com/support/documentation/ScriptReference/NotificationServices.html
■現状の問題点
現在この方法には「バッチを削除出来ない」問題がある。
一度バッジ付きの通知を発行すると、アプリを再インストールしても
バッジが消えない謎の呪いだ。
一応通知の全削除を試してみたけど、中々消えない。
どうしたもんやら
一応は解決
[Unity3D]続・ローカル通知を使う
http://terasur.blog.fc2.com/blog-entry-185.html