Apple Watch Nifty mobile backend mBaaS 設定手順

mBaaS 設定手順 自分用のメモです。

1)mBaaSとAPNsの連携に必要な証明書設定

iOS端末へのプッシュ通知は、APNs(Apple Push Notification service)と連携しています。
mobile backendに登録されたプッシュ通知を、APNsに送信することで、各端末にプッシュ通知が受信される仕組みです。
mobile backendとAPNsを連携させるのに必要なことは、ダッシュボードからAPNsと連携するための証明書を設定することだけです。

※補足

「認証局に証明書を要求...」に関してのCertificateSigningRequest.certSigningRequestファイルは使い回しが出来るので1回の作成で良い。

CertificateSigningRequest.certSigningRequestファイルは使い回しが出来るので1回の作成で良い。

開発証明書を使用、生産証明書ではPuSh通知がiPhoneとApple Watchに飛んでこなかった。
なぜかは今後調べる必要がある。

2)mBaaS クイックスタート

mobile backendと開発中のアプリを連携する手順紹介
サンプルプログラムでは、データストアへのデータの保存と、取得したデータの表示を行う。


新規アプリケーションを作成

SDKライブラリのインストール

SDKをframework形式で利用する

SDKをインストールする

サンプルコードの実装

AppDelegate.mの冒頭に以下のコードを記載してください。
#import <NCMB/NCMB.h>


APIを利用するための設定

AppDelegate.mのapplication:didFinishLaunchingWithOptions:に以下のコードを記載してください。

アプリケーションキーとクライアントキーは、ダッシュボードの右上にあるアカウントメニューから、アプリ一覧を開くとコピーすることができます。

[NCMB setApplicationKey:@"YOUR_APPLICATION_KEY" clientKey:@"YOUR_CLIENT_KEY"];

NCMBQuery *query = [NCMBQuery queryWithClassName:@"TestClass"];
[query whereKey:@"message" equalTo:@"test"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (error == nil) {
        if ([objects count] > 0) {
            NSLog(@"[FIND] %@", [[objects objectAtIndex:0] objectForKey:@"message"]);
        } else {
            NSError *saveError = nil;
            NCMBObject *obj = [NCMBObject objectWithClassName:@"TestClass"];
            [obj setObject:@"Hello, NCMB!" forKey:@"message"];
            [obj save:&saveError];
            if (saveError == nil) {
                NSLog(@"[SAVE] Done");
            } else {
                NSLog(@"[SAVE-ERROR] %@", saveError);
            }
        }
    } else {
        NSLog(@"[ERROR] %@", error);
    }
}];

YOUR_APPLICATION_KEYとYOUR_CLIENT_KEYを、ダッシュボードで作成したアプリのアプリケーションキーとクライアントキーに置き換えてください。


アプリケーションを実行&ダッシュボードの確認

ダッシュボードで編集&アプリケーション実行
今度はデータストアから新しいデータを追加してから、サンプルアプリを実行してみます。
データストアを開いて「新しいレコード」ボタンをクリックしてください。
データが何もない行が表示されるので、messageフィールドのところでダブルクリックしてください。
値が入力できるようになるので、「test」と入力してエンターキーを押してください。
入力したものがデータストアに保存されます。

データを追加したら、サンプルアプリを起動してください。デバッグログに「[FIND] test」が表示されることが分かります。

3)iPhoneのみでPush通知確認を行うためAppDelegate.mでのコードを記述する

AppDelegate.m

4)プロビジョニングファイル実装設定

Push通知 端末認識(DeviceTokin)Xcodeプロビジョニングファイル実装設定が必要

 

アプリを起動してLogメッセージが出れば接続設定完了

ニフティクラウド DeviceToken
ニフティクラウド 端末情報の登録が成功

5)mobile backend データストア の確認

データストア-> Installationに接続記述が記載されていたら成功

deviceTokenが確立すると接続記述が記載されます。

6)プッシュ通知

配信端末数が表示されていたら成功

配信端末数が表示されない時は証明書設定を見直す必要がある。

7)iPhoneにPush通知が届けば動作OK

Push通知が届かなかったら今までの設定を見直す。

実際にApple Watchまで含めて動作した時にPush通知が届かず困ったのでこの手順にした。

8)Apple Watch のソースコードを記述

InterfaceController.m
PushNotificationPayload.apns

9)再度Push通知の配信を行う

10)iPhoneはOFFの状態で通知開始

Apple Watch に静的・動的表示がでれば完了

  

目 次