今更ながらpush通知をparse.comを使って実装してみた。
世の中に腐るほどやり方でてるけど、ちょっと詰まったのでメモ。
一応ググると最初に、
Parse.comを使ったiOSデバイスへのプッシュ通知[導入編]が出てくるので重複する所は全てこの記事におまかせする。
Parse.comに登録
まずは、Parseに登録してください。
無料で30req/sまで対応してくれて超素敵。
push通知を行うアプリを登録
誘導に従って登録してください。
AppID/通知用証明書の作成
ここの操作はsafariを使って実行してください。
※一部別ブラウザだと動かないため(個人談)
Parse.comを使ったiOSデバイスへのプッシュ通知[導入編]の
1.App IDの作成
2.通知用証明書の作成
まで実行してください。
プロビジョニングファイルの作成
プロビジョニングファイルってなに?って方はこちらを参考にしてみて下さい。
現在既に開発中のアプリとプロビジョニングファイルを紐付けていて、後からpush通知を許可する場合は再度プロビジョニングファイルの更新が必要です。
僕はここでハマってました。。。とほほ
始めて作る方は、下記の手順で。
次の画面でApp IDを選択。
その後、userとdeviceを紐付けてgenerate実施。
※恐らくsafariだと1分程度で完了するかと思います。
その後DLしてください。
Parseに証明書を登録
Parse.comを使ったiOSデバイスへのプッシュ通知[導入編]の
4.Parseに証明書を登録
を実施してください。
Xcodeに登録
①Bundle IDの設定
②プロビジョニングファイルの設定
XcodeにParseのSDKを追加
本家のサイトを見ながら実施してみてください。
ちなみに僕の場合はcocoapodsでSDKはインストールしました。
cocoapodsでやるとFacebookのSDKも同時にインストールされます。
それが嫌な方はこちらの記事を参照してみて下さい。
Xcodeに実装/push通知を試してみる
Parse.comを使ったiOSデバイスへのプッシュ通知[導入編]の
5.Xcode上で実装
6.Parseからプッシュ通知を送る
を実施してください。
アプリからpush通知を送ってみる
これは最低1台のiphoneとmac上でのシュミレータが必要です。
まずはこのようにchanelを好きなものに設定します。
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
[currentInstallation setDeviceTokenFromData:deviceToken];
currentInstallation.channels = @[@"test_push"];
[currentInstallation saveInBackground];
}
その後、pushを行いたいactionの部分に下記を追加。
その他カスタマイズで使えそうなプロパティは公式ドキュメントをみてもらえれば分かります。
今回はメッセージと音楽の設定をします。
NSDictionary *data = [NSDictionary dictionaryWithObjectsAndKeys:
@"好きなアラートメッセージ", @"alert",
@"fileのpath", @"sound",
nil];
PFPush *push = [[PFPush alloc] init];
[push setChannels:[NSArray arrayWithObjects:@"test_push", nil]];
[push setData:data];
[push sendPushInBackground];
実機側にもbuildしてシュミレータで上記のアクションを実施してみてください。
意図通りの音楽とメッセージが表示されましたか?
さすが天下のparseさん超便利です。