0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Konyを使ってAndroidのPush通知を設定する方法

Last updated at Posted at 2021-03-29

目次

  1. はじめに
  2. 実装方法
  3. 最後に

はじめに

以前こちらの記事でVisualizerを使ってiOS端末にPush通知を送信する方法について記載しました。
EngagementServiceを使いiOSデバイスでPush通知を送信 Part1

今回はAndroidでのPush送信の設定方法について紹介していきたいと思います!

実装方法

1.Firebaseでプロジェクトを作成

https://firebase.google.com/
Firebaseのページにアクセスして、Google Accountなどを利用してログインをしてください。
(Google Accountがない方は作成してください。)

ログインしたら右上の「コンソールへ移動」をクリックします。

コンソールが開いたら、「プロジェクトを追加」をクリックして、プロジェクトを作成しましょう。
スクリーンショット 2021-03-18 23.15.29.png

作成画面が表示されるので、案内に沿って作成していきます。

作成が完了したらプロジェクトの画面に移動します。
これでFirebaseプロジェクトの作成は完了です!

2.Firebaseで設定ファイルのダウンロード

プロジェクトが作成できたら、Androidのマークをクリックしてアプリを追加します。
スクリーンショット 2021-03-18 23.17.28.png

以下のような画面が表示されるので、案内に従ってアプリ名の設定を行い、
google-services.jsonをダウンロードして、設定を完了してください。
このファイルは、後ほどVisualizerに設定します。

スクリーンショット 2021-03-19 0.03.09.png

3.senderID、サーバーキーの取得

次に、Pushを送信するために必要なsenderID、サーバーキーを取得します。

Firebaseのプロジェクトの概要の歯車マーク=>プロジェクトを設定をクリックします。
スクリーンショット 2021-03-18 23.22.22.png

CloudMessagingタブをクリックします。
以下のページで、サーバキーとsenderID、トークンの情報を取得することができます。
スクリーンショット 2021-03-18 23.21.38.png

送信者ID(senderID)は、デバイスからFCMに登録する際に設定し、サーバーキーはEngagementServerに設定します。

4.EngagementServiceにサーバーキーを設定

Fabricを開き、EngagementタブでAndroidを開きます。
それぞれ以下のように設定してください。

項目 設定値
Select Network Firebase Cloud Messaging(FCM)
FCM Authorization Key Firebaseで取得したサーバーキー

スクリーンショット 2021-03-18 23.29.46.png

設定したら、SAVEをクリックして保存をします。
Publishタブに移動し公開したい環境を選択してPublishを行ってください。
この時、Exclusions in PublishEngagement Services Configurationにチェックが入っていないことを確認して下さい。
(※チェックが入っている場合は、PublishにEngagementServiceの設定が含まれません。)

スクリーンショット 2021-03-18 23.34.26.png

これでEngagementServiceにサーバーキーを設定することができました。
反映されているか確認するには、Fabricの左メニューEnvironmentをクリックして、
Publishした環境のEngagementServiceを選択し、Appsメニューを選択します。
スクリーンショット 2021-03-18 23.41.58.png

先ほどPublishしたアプリのPlatformの箇所にAndroidのマークがついていればOKです。

スクリーンショット 2021-03-18 23.40.03.png

Androidのマークがない場合はPublishが失敗していないかなど確認してみてくださいね:ok_woman_tone1:

5.VisulizerでsenderIDを設定

次にVisualizerでsenderIDを設定します。
EngagementServiceを使いiOSデバイスでPush通知を送信
こちらで紹介しているように、**kony.push.register(config)**を使うことによって、
デバイスをEngagementServiceに登録するための処理となります。

Androidの場合は、configにsenderIDを設定する必要があるため、
以下のようにsenderIDを設定しましょう。

pushNotificationManager.js
pushNotificationManager.pushRegister = function() {
  kony.print("***** START PUSH REGISTER");
  let config;
  //#ifdef iphone
  // Apple Notification Server
  config = [0, 1, 2];
  //#endif
  //#ifdef android
  config = {
    senderid: "Firebaseで取得したsenderID"
  };
  //#endif

  kony.push.register(config); 
};

その他のコードについては、上述したリンクをご参照ください:raised_hands_tone1:

6.設定ファイルのインポートとProjectSettingの設定

2でダウンロードしたファイルをResourceフォルダに設置します。
VisualizerのAssetタブを開き、androidの下に新しくfcmフォルダを作成します。
作成できたら、2でダウンロードしたファイルをインポートしてください。

ファイルパス:ProjectLocation\resources\mobile\native\android\fcm
インポート例:
スクリーンショット 2021-03-19 0.08.38.png

最後に、VisualizerでProjectSettingを開き、
Native=>Androidを選択します。
スクリーンショット 2021-03-18 23.51.20.png

以下の項目をそれぞれこのように設定します。

項目 設定する内容
Package Name Firebaseで設定したパッケージ名
Push Notification FCM

Package Nameは、Firebaseでプロジェクトを開き、
歯車マーク=>プロジェクトの概要=>全般を選択し、下までスクロールするとパッケージ名の箇所に記載があります。
この名前と上記のPackage Nameが一致していないと、Push送信できないため、注意してください。

スクリーンショット 2021-03-18 23.55.44.png

設定は以上となります!

これでAndroid端末にPush通知を送信するための設定が完了したので、
VisualizerでアプリをBuildしてPush通知が受信できるか確認してみてくださいね:relaxed:

まとめ

ProjectSettingでのパッケージ名をFirebaseのパッケージ名と合わせる点など、
つまづいたポイントだったので、困っている方がいたら参考にしてみてください:eyes:

参考

https://basecamp.temenos.com/s/article-detail/a046A00000ATmiBQAT/google-fcm-push-notifications
https://docs.kony.com/konylibrary/visualizer/visualizer_user_guide/Content/Custom_FCM.htm

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?