サーバサイドプログラムなしでプッシュ通知が送れるParse Pushを使ってみた。

モバイルアプリのためのバックエンドサービスParseのプッシュ通知機能を試しに使ってみました。

Parse
Parse Push

諸設定

アプリを作成したり証明書を発行したりという諸設定が一番時間がかかります。

  • XCodeでアプリを作成
  • Apple DeveloperからApp IDを作成
  • Provisioning Profilesを作成し、PushExample.mobileprovisionをダウンロードしてプロジェクトに設定
  • DevelopmentのPush NotificationsをEnabledに設定
  • キーチェーンアクセスの証明書アシスタントを開いてCertificateSigningRequest.certSigningRequestを作成
  • Developerページに戻って送信してaps_development.cerをダウンロード
  • キーチェーンアクセスに読み込ませて証明書.p12を書き出し

詳しい証明書の作り方などは、「Apple Developer:iPhoneアプリ開発での証明書関連の作業手順」などを参照してください。

ParseにAPNSの証明書を登録

Parse自体のアカウントは30秒で作れるので登録をします。Settingから書き出した「証明書.p12」をParseにアップロードします。

このときParseは証明書のパスワードを管理しないようなので、証明書はパスワードなしで書きだしておく必要があるようです。

プロジェクトにParseを導入する

ParseのSDKをダウンロードし、プロジェクトに導入します。

Downloads & Changelogs | Parse

依存フレームワークも入れます。

AudioToolbox.framework
CFNetwork.framework
SystemConfiguration.framework
MobileCoreServices.framework
CoreGraphics.framework
libz.1.1.3.dylib
Security.framework
QuartzCore.framework
CoreLocation.framework

[Objective-C][Parse]初めてのParse ー導入編ー | tamo*memo」を参考にしました。

アプリにPush通知のためのコードを埋め込む

プロジェクトのAppDelegateにParseのソースコードを書きます。最低限必要なのは3行です。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Parse setApplicationId:@"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" clientKey:@"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"];
    [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];
    // ...(略)...
    return YES;
}
 
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken {
    [PFPush storeDeviceToken:newDeviceToken];
}

コードは「Remote Push Notification ASPサービスを試す」を参考にしました。

プッシュ通知を送る!

ここまできたらプロジェクトをビルドして実機に転送します。シミュレータではプッシュ通知は使えません。

プッシュ通知許可のビューがでました。

プッシュ通知を許可すると、Parseのストレージにデバイストークンが保存されました!

管理画面から試しにプッシュ通知を送信してみます。

きました!

WEBインタフェースからプッシュ通知が送れると、開発者以外でも運用ができて良いですね。

こちらもどうぞ→ 何時にお知らせを送るのが一番効果的か分かる、プッシュ解析サービスGrowthPush

About katty0324

Leave a Reply

Scroll To Top