Monacaでいくつかアプリを作って公開していますが、そのいくつかはPush通知にも対応しています。
Push通知を実現するにはPushサーバーが必要となりますが、面倒な手続きがあったり、そもそも情報があまりなかったりするので、Push通知に対応した様々なバックエンドサービスを利用することが多いのではないかと思います。
しかしながら、そういったサービスは、細かく通知を出し分けたりしようとすると、いろいろな制約があったり、それなりのお金もかかってしまいます。
そんなわけで、僕は自前でPushサーバーを運用しています。
「Gaurun」を使えば、Pushサーバーの運用は難しくない
Pushサーバーを自前で、と聞くと思わず尻込みしそうになるかも知れませんが、実のところそんなに難しくはありません。あのメルカリさんが公開してくれている「Gaurun」を使えば、本当に簡単に構築できます。
サービスの規模にもよりますが、conohaあたりの月額630円のVPSサーバーで気軽にスタートしてみてはいかがでしょう?
(追いつかなくなった場合には、サーバーを強化するなりロードバランサー入れて分散させてあげればOKですし。)
一応、広告も貼っておきますね(笑)
↓↓↓↓↓↓↓↓
「Gaurun」をインストールする
GaurunはGO言語で書かれていますので、GOのインストールが必要です。
次のような手順でインストールできます。
#最新版のgoをダウンロードしてください。 wget https://dl.google.com/go/go1.11.1.linux-amd64.tar.gz #以下に配置 tar -C /usr/local -xzf go1.11.1.linux-amd64.tar.gz #環境変数を設定します(.bash_profileに下記を追加) export GOPATH=$HOME/go export GOROOT=/usr/local/go export PATH=$PATH:/usr/local/go/bin:$GOROOT/bin:$GOPATH/bin mkdir $HOME/go #インストールの確認のためバージョンを表示させます。 go version go version go1.11.1 linux/amd64 #gunranをインストールする go get -u github.com/mercari/gaurun/ #glideをインストールする go get -u github.com/Masterminds/glide #ソースディレクトリに移動 cd ~/go/src/github.com/mercari/gaurun #ここでmake make bundle make
ここまでの情報は、ググればたくさん見つかるのですが、Windowsユーザーは次の証明書の取得で詰んでしまいます。
MacなしでPush証明書を揃える方法
Macを使っている人は、普通の方法で取得すればOKです。ここからは、Macを持たないWindowsユーザー向けの情報になります。
Monacaという開発系のウェブサービスを利用すれば、WindowsユーザーでもiOS用のアプリを作ることができます。アプリのコンパイルからApp Store ConnectへのアップロードまでMonacaの管理画面上で行うことができますので、Macを持っていなくてもアプリが作れます。
ところが、Pushサーバーを運用しようとすると、証明書を揃えることが難しくなります。MonacaとApple Developerを使用すれば、Push通知用証明書(CER)の取得までは出来るのですが、その次の手続きに必要なp12の証明書が取得できないのです。この証明書の取得にはMacが必要なのです。MacOS上でキーチェーンアクセスを起動し、先程出来上がったCERを読み込ませて、p12を書き出すのです。
ネット検索しても見つからないのですが、実はMacなしでp12の証明書を取得する方法はあります。
というのも、以前に僕が取得に成功したことがあるからです。
しかしながら、その方法をなかなか思い出せず、再発見まで半日を費やしてしまいましたので、その方法を備忘録としてここに記しておきたいと思います。
Push通知用証明書(CER)の取得まではMacユーザーの方と変わりありませんので、ググったとおりに手続きして証明書を取得してください。
途中で証明書の要求ファイル(CSR)のアップロードを求められますが、Monacaの「iOSビルド設定」画面の「秘密鍵とCSRの生成」ボタンを押して取得したものでOKです。
取得したPush通知用証明書(aps.cer)を、Monacaの「iOSビルド設定」に登録します。登録すると、証明書のリストに追加されるのですが、実はその証明書のリンク(ゴミ箱アイコンの隣のアイコン)からp12証明書(crt.p12)がダウンロードできます(感涙)
aps.cerとcrt.p12をLinuxサーバーにアップロードして、Opensslで変換してやればOKです。
(Opensslが使えれば、windows上でも構いません)
openssl pkcs12 -in crt.p12 -out key.pem -nodes openssl x509 -in aps.cer -inform DER -out cert.pem -outform PEM
ここで生成した key.pem と cert.pem をPushサーバーに置いて、Gaurunの設定ファイルにそのパスを記述してやればOKです。
ホームページの制作(デザイン・コーディング・プログラミング)に加え、ネットショップの販売促進に関するアドバイスも致します。 20年以上に渡って実際にネットショップを運営した経験を生かし、聞きかじりではない実績を伴ったノウハウを、自分の言葉でお伝えいたします。 プログラミングの経験は30年以上。HTML、CSS、JavaScript、TypeScript、Vue、NuxtJS、Node.js、MySQL、MongoDB、Elasticsearch、WordPress、PHP、Docker、Electronなど、幅広く対応します。
コメント