アプリカンブログ

HTML5でiOS/Androidアプリが開発できるプラットフォーム、アプリカンのブログです。

リモート/ローカルプッシュの違いを知ろう

プッシュ通知と言うと、一般的に外部のサーバからスマートフォン、タブレットに届くものと思いがちです。

f:id:moongift:20150421140830p:plain

しかしプッシュ通知にはもう一つの仕組みがあります。それがローカルプッシュ通知です。

ローカルプッシュ通知とは?

ローカルプッシュ通知とはスマートフォンやタブレットアプリだけで完結するプッシュ通知になります。サーバサイドは使いません。

予めアプリ側でトリガーを仕掛けておき、そのタイミングになったところでリモートからのプッシュ通知と同じようにアラートが表示されます。

f:id:moongift:20150421140838p:plain

ローカルプッシュ通知の使い方

例えばアプリカンの場合、5秒後に通知を出すとしたら以下のように設定します。

function localNotificationSchedule1(){       //5秒後
    var now = parseInt((new Date)/1000);
    var options = {
        alertId: 1,
        alertBody: "message1",
        uri: "http://www.yahoo.co.jp/",
        fireDate: now+5,
        //repeatInterval: "",
        alertAction: "開く",              //iOSのみ
        applicationIconBadgeNumber: 3,          //iOSのみ
    };
    applican.localNotification.schedule(localNotificationSchedule1Success, localNotificationSchedule1Error, options);
}
// スケジュール登録完了
function localNotificationSchedule1Success(){
    var dump = "localNotificationSchedule1Success\n";
    document.getElementById("dumpAreaLocalNotification").value =dump;
}
// スケジュール登録失敗
function localNotificationSchedule1Error(res){
    var dump = "localNotificationSchedule1Error\n";
    dump += "code:"+res.code+"\n";
    document.getElementById("dumpAreaLocalNotification").value =dump;
}

現在時刻に5秒足す形になっていますので、任意の時刻を指定してスケジュール登録することが可能です。

ローカルプッシュ通知の使い道

ローカルということは自分宛のプッシュ通知しか飛ばせません。そのため、リマインダーなど時間をトリガーにしたアクションに対して通知を出すというのが一般的です。

例えばゲームのライフ回復や、無料マンガアプリでの通知などにも使われているようです。

時間をトリガーにしない場合として、iBeaconやPassbookもローカル通知の仕組みを使っています。これらの技術は位置情報やBLEをトリガーにしています。

利点

利点の一つとして、オフラインでも通知できると言うことが挙げられます。リモートからのプッシュ通知ではネットワークに繋がっていなければいけませんが、ローカルプッシュ通知の場合はネットワークは不要です。

またローカルなのでデバイストークンの管理も不要で、手軽に使えるのが良さと言えそうです。


ローカルプッシュ通知は自分宛に出すプッシュ通知なので、ユーザメリットの高いメッセージを飛ばすのが重要です。リモートプッシュ通知と合わせて使いこなしてください。

LocalNotification | アプリカン | アプリ開発支援プラットフォーム