前書き
前章(HMSのプッシュ通知の実装説明(Android側))ではHMSのプッシュ通知のAndroid側の実装について説明しました。本章ではサーバー側の実装について説明します。
サーバー側の実装
サーバーでやることはたった2つだけです。
- プッシュサーバーからアクセストークンを取得すること
- プッシュサーバーにプッシュ通知を送ること
もっと具体的にわかりやすく説明すると、以下の2つのAPIを順番に叩くだけで、実装が完了します。
順番 | API | URL | 説明 |
---|---|---|---|
1 | アクセストークン取得 | https://oauth-login.cloud.huawei.com/oauth2/v2/token | - |
2 | プッシュ通知送信 | https://push-api.cloud.huawei.com/v1/[appId]/messages:send | [appId]はAppGallery ConnectのMy AppsのApp informationのApp IDです |
プッシュサーバーからアクセストークンを取得
こちらはPOSTMANのスクリーンショットです。API実装経験がある方なら、これだけですぐ理解できると思います。
リクエストボディにAppGallery Connectに書かれているApp IDとApp secretを載せ、APIを叩けば、アクセストークンが返ってきます。
リクエスト
API:https://oauth-login.cloud.huawei.com/oauth2/v2/token
メソッド:POST
Content-Type:application/x-www-form-urlencoded
リクエストボディ:
キー | 値 |
---|---|
grant_type | “client_credentials”で固定 |
client_id | AppGallery ConnectのMy AppsのApp informationのApp ID |
client_secret | AppGallery ConnectのMy AppsのApp informationのApp secret |
レスポンス
Content-Type:application/json;charset=UTF-8
キー | 値 |
---|---|
access_token | アクセストークン |
expires_in | アクセストークンの有効期限(秒) |
token_type | Bearerで固定 |
プッシュサーバーにプッシュ通知を送信
リクエストヘッダーに先ほど取得したアクセストークンを載せ、リクエストボディにプッシュ通知内容を載せ、APIを叩けばよいです。
リクエスト
API:https://push-api.cloud.huawei.com/v1/[appid]/messages:send
[appid]はAppGallery ConnectのMy AppsのApp informationのApp IDです
メソッド:POST
Content-Type:application/json
リクエストヘッダー
キー | 値 |
---|---|
Authorization | アクセストークン |
リクエストボディ:
JSONになります。パラメータが多すぎるので、オフィシャルサイトをご参照ください。
https://developer.huawei.com/consumer/jp/doc/HMSCore-References-V5/https-send-api-0000001050986197-V5
AppGallery Connect
App IDとApp secretはAppGallery Connectに載っています。
まとめ
サーバー側の実装は、プッシュ通知の送信部分に関しては、この2つのAPIの使い方さえ押さえれば、難しいことではないでしょう。