iOSのhttp2ベースのpush通知ってあまり認知されていない感じですか
iOSのpush通知でいままではSSHでの接続でのデータ送信でしたが、http2ベースので送信が結構前にできるようになっています。
結構時間が立っているので、やり方をググれば出てるかと思いましたが、意外とないですね。
ちゃんと調べるとFCM(AndroidのPush通知の仕組み)でiOSの通知ができるからみんなこっちに切り替わってる感じですかね。
ということで、あまりやり方的な記事がなかったです。
ただやり方的な記事を書こうかとも思ったが、FCMにしたほうがみんな幸せになりそうだったので、自分で書いて不幸になった話を書きます。
かなり苦戦をしてプログラムを書いてみたのですが、結局運用できなかった話です。
C#でpush通知する人少ない??
通知部分をC#でWindowsサービスで作成しており、元々の情報すら少ないのは事実でした。
それでも作っている人がいたので、参考にさせてもらいました。(感謝感謝)
GitHub - MonkeyBinBin/TokenbasedAPNsSample: token-based authentication APNS推播範例
よし、できることがわかればあとは突貫するだけです。頑張ろう。
C#でHTTP2通信が標準にない??
なかったです。あまり詳しくない言語のため、調べ方も下手なところはありますが、あるのかな。。。
オープンソースのライブラリ探してやっとできそうな状態でした。
Windows Server 2005ではできない??
JWTのトークンを作る際の、ハッシュアルゴリズムがなぜかない。
Windowsアップデートや.netも新しくしたけどExceptionが出る。
確かにもう古いのは事実だし、新しいサーバーを立てることになりました。
WindowsServer2016では無事に動作しました
スレッドにしたらリクエストがエラーになる
確実に自分が作成したプログラムの問題で、 HTTP2のため、非同期通信ということもあり、非同期かつスレッドの処理を自分が書いたことがないため、対処自体がわからず難航。(PHPerでC#弱いです)
もう問題解決する力もなく、諦めました。
ここまでで2週間ぐらいかかっているため、もう別言語がいい。。。とかC#の必要性ないのに合わせて作るのがいやになったのが本音です。
push通知のプログラムはGo言語が主流なのかな
PHPで記述するとcronで定期実行で書きそうです。PHPで無限ループでの処理は気持ち的にやりたくない。
Go言語で書かれているのは、結構みた感じがします。
どうやって呼び出し続けているんだろう。サービスの仕組みがあるのかな。
まぁ、無限ループかな。。。