mBaaSお役立ちブログ

  • トップ>
  • ブログ>
  • Tips>
  • ニフティクラウド mobile backendを使ってプッシュ通知を送ってみよう(iOS編)

ニフティクラウド mobile backendを使ってプッシュ通知を送ってみよう(iOS編)

今回はニフティクラウド mobile backendを使ってiOSアプリに通知を送ってみます。といっても手順はとても簡単で、普段プッシュ通知を行ったことがある方であればすぐに実現できます。

必要な手順として、iOS Dev Centerでの証明書の作成や、プロビジョニングプロファイルの作成が行われていることとします。

プロビジョニング作成

プロビジョニング作成

アプリ側の設定

まず前回の手順に沿って、ニフティクラウド mobile backendのフレームワーク追加やJSONKitの追加などを行ってください。それらが終わったら、通知の承認を得るためのコードを AppDelegate.m に記述します。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [NCMB setApplicationKey:@"your_application_key" clientKey:@"your_client_key"];
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
    return YES;
}

your_application_key および your_client_key は必要なものを設定してください。

そしてユーザが承認したら、 didRegisterForRemoteNotificationsWithDeviceToken がコールされますので、デバイス情報をニフティクラウド mobile backendに登録します。

// 配信端末情報を登録する。
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    NCMBInstallation *currentInstallation = [NCMBInstallation currentInstallation];
    [currentInstallation setDeviceTokenFromData:deviceToken];
    [currentInstallation save];
}

これで準備は完了です。もし何らかエラーが出てうまく通知が処理できない場合は次のコードを追加してみると原因が分かるかも知れません。

// 通知に関するエラー時はこちら
- (void) application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
    NSLog(@"error: %@", error);
}

なおプッシュ通知は実機でしか試せませんので実機向けにアプリをビルドしてください。

アプリが起動すると、プッシュ通知を受け取るか否かの確認ダイアログが出ると思います。ここではOKを押してください。

プッシュ通知の確認

プッシュ通知の確認

これでアプリ側の準備は完了です。

ニフティクラウド mobile backend側での設定

まずは管理画面に入ります。

ログインしたら、アプリ設定のプッシュ通知を開きます。

プッシュ設定

プッシュ設定

その中にiOSプッシュ通知という設定がありますので、そこに証明書(p12)をアップロードします。キーチェーンアクセスから証明書を出力する際には、証明書と秘密鍵を両方表示して証明書のみ 書き出して下さい。もう一つ注意点として、書き出す際にはパスワードは設定しないでください。

アップロードが終われば準備は完了です。

プッシュ通知を送ってみる

まずデータストアタブを開いて、先ほどアプリ側で承認した結果が反映されているか確認してみましょう。

通知を承認したアプリ一覧

通知を承認したデバイス一覧

installationという特別なクラスが作られていて、そこにdeviceTokenというカラムにトークンが入っているのが確認できます。

次にプッシュ通知タブを開いて、新しいプッシュ通知をクリックします。

プッシュ画面

プッシュ画面

プッシュ通知では入力項目が以下のように多数あります。

  • タイトル(Androidのみ)
  • メッセージ
  • JSON
  • URL
  • 配信日時
  • 配信期限
  • パーミッション
  • 配信端末

特に配信端末ではiOS/Androidといった指定はもちろん、アプリケーションのバージョン、タイムゾーンなど細かく絞り込んだ上で配信できるようになっています。

プッシュ設定画面

プッシュ設定画面

実際にプッシュ通知を作成すると、まずはキューに入ります。そして少し待つとプッシュ通知が表示されます。

pushed

プッシュが表示されました

プッシュが終われば管理画面上でもその旨表示されます。とてもスムーズで分かりやすいですね。

今回のコードは GitHub 上に公開してあります。参考にしてください!


たった数行のコードを追加するだけでデバイストークンをニフティクラウド mobile backendに登録できて、さらに管理画面からターゲットを細かく指定してプッシュ通知が行えます。月額無料のBasicプランでも月200万回、さらに月額30,000円のExpertプランならなんと月1,000万回のプッシュ通知が送信できます。安定したプッシュ通知を実現するためにもぜひ使ってみてください!









バックナンバー