swiftアプリにプッシュ通知を組み込もう!

46
Copyright @ NIFTY Corporation All Rights Reserved Copyright @ NIFTY Corporation All Rights Reserved Copyright @ NIFTY Corporation All Rights Reserved ニフティ株式会社 1 Swiftアプリに プッシュ通知を組み込もう! 20160616更新

Upload: natsumo

Post on 14-Feb-2017

586 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

ニフティ株式会社

1

Swiftアプリにプッシュ通知を組み込もう!

20160616更新

Page 2: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

準備するもの

•ニフティクラウドmobile backendの会員登録 右記リンクより事前に登録(無料)をお願いします。( http://mb.cloud.nifty.com )

• Mac OS X 10.10.5(Yosemite)以上• Xcode Ver. 7以上

Ver. 7.2.1で動作確認しています。

• iPhone バージョンはXcodeのバージョンと対応させる必要があります。

iPhone6(Ver. 8.2)で動作確認しています。

PC接続用にLightningケーブルが必要です。

•開発者用証明書(.cer)• APNs用証明書(.p12)•プロビショニングプロファイル

上記3点の取得方法は事前準備資料( http://goo.gl/ZRj9tB )に掲載しています。

2

※上記環境にとらわれず、いずれも最新バージョンをご用意いただくことをお勧めします※上記以下の環境では動作しない可能性があります

Page 3: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

必要な証明書の確認

3

※事前準備範囲

②開発用証明書(.cer)の作成※初回利用時のみ作成します

⑤プロビショニング

プロファイルの作成

⑥APNs用証明書(.cer)の作成

⑦APNs用証明書(.p12)の作成

App ID

③AppIDの作成・Bundle IDの登録

④端末の登録・UUIDの登録

参照

書き出し

に設定

①CSRファイルの作成※初回利用時のみ作成します

参照

参照

参照参

3

Xcode

Page 4: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

必要な証明書の確認

4

デスクトップの保存用フォルダ内の確認

プロビショニングプロファイル

APNs用証明書(.cer)

APNs用証明書(.p12)

開発ビルド用証明書

CSRファイル

初回の場合はこちらもここに…

※事前準備範囲

この3点を使用します!

Page 5: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

作業に必要な画面の準備

•ニフティクラウドmobile backendへログインhttps://console.mb.cloud.nifty.com/

•コードのコピペ用画面(GitHub)https://goo.gl/LKxvae

5

コピペ用ページ

ログイン画面

この画面からログインをお願いします

作業に必要なコードやコマンドはここからコピペして使えます

Page 6: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

プッシュ通知の仕組み

APNs = Apple Push Notification Service とは、サーバーからの通知をiPhoneなどの端末に転送するAppleのプッシュ通知を送るためのサービスのこと。

①プッシュ通知許可

②デバイストークン発行

③デバイストークン登録 サーバー

④プッシュ通知⑤プッシュ通知

ここに

を使います!

6

Page 7: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

7

アプリを作成するのに必要なツールの話

ニフティクラウドmobile backend

って何??

Page 8: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

8

ニフティクラウドmobile backend

スマートフォンアプリのバックエンド機能が

開発不要になるクラウドサービス

1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

mobileBackend

as = mBaaS !!aService

Page 9: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

プッシュ通知を送るまでの手順

1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

2. Xcode上にSwiftアプリを作成する

3. CocoaPodsを使ってSDKをインストールする

4. Swiftでロジックを書く

5. 実機でデバッグビルドを行う

6. 動作確認!プッシュ通知を送りましょう★

9

Page 10: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

10

フロントエンド

やること確認 1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

バックエンド

APNs用証明書(.p12)の設定プッシュ通知の許可設定

Page 11: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

11

利用登録が終わるとアプリの新規作成画面が表示されるのでアプリ名を入力して「新規作成」をクリックします

「SwiftPushApp」と入力

https://console.mb.cloud.nifty.com/

Page 12: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

12

※ログイン後に、この画面が出た方は…

「+新しいアプリ」をクリックするとでてきます!

Page 13: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

アプリが作成されました!

2つのキーは

後で使います!

「OK」をクリックするとダッシュボードが表示されます

1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

13

Page 14: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

後でAPIキーを確認するには…

「アプリ設定」を選択

mBaaSダッシュボード

ここにあります

1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

14

Page 15: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

15

証明書(.p12)を設定します

「プッシュ通知」を選択

プッシュ通知の許可と証明書(.p12)のアップロードを行います

これでmBaaS側の準備はOKです!mBaaS

ダッシュボード

1. mBaaS上にアプリを作成し、APNs用証明書の設定を行う

Page 16: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

16

フロントエンド

やること確認 2. Xcode上にSwiftアプリを作成する

バックエンド

APNs用証明書(.p12)の設定プッシュ通知の許可設定

Xcodeアプリ

Page 17: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

2. Xcode上にSwiftアプリを作成する

17

今回は新規でアプリを作成し、プッシュ通知を組み込みます!Xcodeを起動し、新しいプロジェクトを作成する

Project...

次の画面で適当なディレクトリを選択して

「Create」をクリックします

Next

Next

「SwiftPushApp」

Swift

Xcode

Page 18: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

2. Xcode上にSwiftアプリを作成する

18

開発環境が開きます

確認したら閉じます

Swiftアプリが作成されました

Xcode

Page 19: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

19

フロントエンド

やること確認 3. CocoaPodsを使ってSDKをインストールする

バックエンド

APNs用証明書(.p12)の設定プッシュ通知の許可設定

Xcodeアプリ

SDKの導入

Page 20: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

3. CocoaPodsを使ってSDKをインストールする

20

ターミナルを起動します

① ディレクトリを移動するさっき作成したプロジェクト

「SwiftPushApp.xcodeproj」と同じディレクトリ

に移動します$ cd [ディレクトリ]

$ ls

② ディレクトリに確認をする

「SwiftPushApp.xcodeproj」があればOK!

例) $ cd /Users/******/Documents/push/SwiftPushApp

Page 21: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

3. CocoaPodsを使ってSDKをインストールする

$ sudo gem install cocoapods

$ pod setup

$ pod --version

③ CocoaPodsを

「はじめて使う場合」→ CocoaPodsをインストールその後④へ

「既にインストールしている場合」→④へ

④ セットアップをする

⑤ バージョンを確認する

バージョンが表示されればOK!

21

※コピペ用ページが使用できます

Page 22: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

3. CocoaPodsを使ってSDKをインストールする

22

⑥ Podfile(インストールするライブラリを指定するファイル)の作成

$ pod init

「SwiftPushApp.xcodeproj」のディレクトリを開いて

Podfileが出来ていることを確認します

Page 23: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

3. CocoaPodsを使ってSDKをインストールする

23

⑦ Podfileの編集Podfileを開いて下記のコードに書き換える

# Uncomment this line to define a global platform for your projectplatform :ios, '8.0'# Uncomment this line if you're using Swiftuse_frameworks!

target 'SwiftPushApp' dopod 'NCMB', :git => 'https://github.com/NIFTYCloud-mbaas/ncmb_ios.git'

end

Podfile

ファイルを更新したら「Command + s 」で保存をします

※コピペ用ページからコピペできます

Page 24: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

3. CocoaPodsを使ってSDKをインストールする

24

⑧ Podfileに書いた内容をインストールする

$ pod install --no-repo-update

Podfileと同じディレクトリに

「SwiftPushApp.xcworkspace」が作成されていればOK!!

上記ファイルをダブルクリックしてXcodeを開く

ターミナルはここまで!閉じてOK!

SDKがインストールされました

※少し処理が早くなるようなコマンドになっています

完了!

Page 25: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

25

フロントエンド バックエンド

やること確認 4. Swiftでロジックを書く

Swift

連携

APIキーの設定

SDKの導入

APNs用証明書(.p12)の設定プッシュ通知の許可設定

読み込み

Xcodeアプリ

Page 26: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

26

AppDelegate.swiftを編集します

CocoaPodsを使ってインストールした

SDKを読み込みますimport NCMB

AppDelegate.swift

ファイルを更新したら「Command + s 」で保存をします

上記内容をここに追記します

Xcode

※コピペ用ページからコピペできます

Page 27: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

失敗してしまった場合は...

【確認】実行しておきましょう

27

※ビルドが上手く行かない場合は別の方法を用意しています

http://goo.gl/T7SW3p

ここをクリック

成功すればOK適当な

シュミレーターでOK

エラーが消えない…(;_;)

他の方法に切り替えましょう!

心配いりません!

Page 28: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

28

SDKを使うための初期設定(APIキーの設定・SDKの初期化)をする

ここにAPIキーを書きます

ここにSDKの初期化処理を書きます

AppDelegate.swift を編集します Xcode

Page 29: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

29

「YOUR_NCMB_APPLICATIONKEY」「YOUR_NCMB_CLIENTKEY」はmobile backendのダッシュボードのアプリケーションキー、クライアントキーにそれぞれ書き換えてください!

d

必ずコピーボタンを使ってください!

※コピペ用ページからコピペできます。コードを書いた後、mBaaSのダッシュボードからAPIキーをコピペしてください

APIキーを

設定します

AppDelegate.swift を編集します

mBaaSダッシュボード

Xcode

Page 30: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

30

application:didFinishLaunchingWithOptionsメソッド

にSDKの初期化を書きます

この2つを書けばmBaaSの他の機能もすぐ使えます

AppDelegate.swift を編集します

※コピペ用ページからコピペできます

Xcode

Page 31: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

31

次はこのメソッドの下に書きます

SDKの初期化の下に書きます

続けてAppDelegate.swiftを編集します

プッシュ通知に関するコードの実装application:didFinishLaunchingWithOptionsメソッド内でデバイストークンの要求をAPNsに対して行います

Xcode

※コピペ用ページからコピペしてください

Page 32: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

32

プッシュ通知に関するコードの実装デバイストークンが取得された後に呼び出されるdidRegisterForRemoteNotificationsWithDeviceTokenメソッドを追記して、mBaaSに取得したデバイストークンを保存します

「Command + s 」で保存をします※コピペ用ページからコピペしてください

さっき記述したメソッドの下に書きます

Xcode

Page 33: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

33

せっかくなので…

このままだと何も表示されないただ白い画面のアプリなので、画面に文字を書きましょう

「Label」を選択してViewに

ドラッグ&ドロップします

Xcode

おまけ

「Main.storyboard」を開きます

Page 34: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

4. Swiftでロジックを書く

34

表示する文字の編集

文字のサイズや太さなどの編集

ダブルクリック

編集できます

文字の色の編集

文字の行数の編集

適当に変えてみましょう!

こんな感じにでOKです!

おまけ

Xcode

Page 35: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

35

フロントエンド バックエンド

やること確認 5. 実機でデバッグビルドを行う

Swift

プッシュ通知の許可

デバイストークンの取得ビルドして初回起動すると…

デバイストークンの登録

連携

APIキーの設定

SDKの導入

APNs用証明書(.p12)の設定プッシュ通知の許可設定

読み込み

開発用証明書(.cer)プロビジョニングプロファイルの設定

Bundle ID の設定

Xcodeアプリ

Page 36: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

5. 実機でデバッグビルドを行う

36

開発用証明書(.cer)とプロビショニングプロファイルの設定プロジェクトを選択 >「Build Settings」を選択 >「Code Signing」を表示する• 「Code Signing Identity」で「Automatic」を選択する• 「Provisioning Profile」で作成したプロビショニングプロファイルを選択する

開発用証明書が自動的に入ります

Xcode

Page 37: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

5. 実機でデバッグビルドを行う

37

証明書の設定プロジェクトを選択 >「General」を選択 >「Identity」を表示する

• 「Bundle Identifier」にAppID作成時に入力したBundleIDを入力する

XcodeApple Developer Program

Page 38: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

5. 実機でデバッグビルドを行う

38

iPhoneをMacにつなぐ• LightningケーブルでMacにiPhoneをつなぐ• 左上のDevice選択欄から、つないだiPhoneを選択する

プロジェクトを実行すします 完了!

Xcode

実行のボタン「 」をクリック!

ここをクリック

接続したiPhoneを選択します

Page 39: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

39

フロントエンド バックエンド

やること確認 6. 動作確認!プッシュ通知を送りましょう

Swift

プッシュ通知の許可

デバイストークンの取得

デバイストークンの登録

連携

APIキーの設定

SDKの導入

APNs用証明書(.p12)の設定プッシュ通知の許可設定

読み込み

開発用証明書(.cer)プロビジョニングプロファイルの設定

Bundle ID の設定

コントロールパネルからプッシュ通知を配信

プッシュ通知配信!!

Xcodeアプリ

Page 40: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

6. 動作確認!プッシュ通知を送りましょう

40

アプリを起動します!

初回起動時にはプッシュ通知許可のアラートが出るので必ず「OK」を

タップ

iPhone

起動されたら

デバイストークンの取得完了です!

タップして起動!!

ちゃんと取得されたか確認しましょう

アプリを一度閉じます

Page 41: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

6. 動作確認!プッシュ通知を送りましょう

41

デバイストークンが取得されたことを確認する

mBaaSのデータストアの中にある「installationクラス」を開きます

mBaaSダッシュボード

ここに入りました!ここに登録された端末にプッシュ通知を送信することが

可能です

Page 42: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

6. 動作確認!プッシュ通知を送りましょう

42

mBaaSダッシュボードプッシュ通知を

送りましょう!!「メッセージ」を

記入します

「プッシュ通知」クリックして

をクリック!

「iOS端末に配信する」にチェックを入れる

「プッシュ通知を作成する」をクリック

すぐにiPhoneを確認!

Page 43: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

6. 動作確認!プッシュ通知を送りましょう

43

プッシュ通知を送りましょう!!

iPhone

無事にプッシュ通知は届きましたか??

プッシュ通知が受信されました★

ロック画面

スマホ起動時画面

通知画面

完了!

Page 44: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

まとめ

☺Swiftアプリに簡単にプッシュ通知機能を付けることができた!

他のSwiftアプリにすぐに応用可能ということがわかった!

☺プッシュ通知の仕組みがわかった!

☺mBaaSの使い方がわかった!

44

Page 45: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

45

お願い

アンケートに@nifty IDをご記入ください

mBaaSのダッシュボードhttp://mb.cloud.nifty.com/右上の[ユーザー名]>[アカウント設定]>プロフィールから確認できます

アルファベット3桁+数字5桁

★ハンズオンセミナーはいかがでしたでしょうか?ぜひご感想をアンケートにお書きください。また今後の「mBaaSハンズオンセミナー」で扱って欲しいテーマなどありましたご記入ください。★本日はご参加いただきありがとうございました!

Page 46: Swiftアプリにプッシュ通知を組み込もう!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved 46