このページではAndroid端末にPush通知を行うための準備について記載します。
AppPotはGoogle社のGCM (Google Cloud Messaging)というサービスを利用して、Android端末にPush通知を送信します。
Push通知のための準備の流れは次の通りです。
- FCM (Firebase Cloud Messaging) のコンソールでIDを発行
- google-services.jsonファイルのダウンロード
- AppPot管理コンソールから、該当アプリの設定画面でAPIキーをセット
- アプリに送信者ID(Sender ID)をセット
1. FCM (Firebase Cloud Messaging) のコンソールでIDを発行
現在、AndroidのPush通知の仕組みはGCMからFCMへの移行期にあります。
AppPotでは送信にGCMを利用していますが、Push通知のためのサーバーキーと送信者IDの取得ははFCMを利用して行います。
Firebaseにアクセスして、アカウント登録を行った後、下記の手順を実行して下さい。
「プロジェクトを追加」を選択
任意のプロジェクト名とその他の項目を設定して「プロジェクト作成」を選択
「次へ」を選択
新しいプロジェクトが作成されましたので、左のサイドメニューから「Project Overview」の右の歯車マークをクリックして、「プロジェクトの設定」を選択して下さい。
プロジェクトの設定の概要が表示されますので「クラウドメッセージング」タブを選択。
以下の2つの情報を使用します。
- サーバーキー: AppPotの管理画面からアプリに設定します
- 送信者ID: クライアントアプリのコード中に指定します
2. google-services.jsonファイルのダウンロード
先程のID発行と同様に、左のサイドメニューから「Project Overview」の右の歯車マークをクリックして、「プロジェクトの設定」を選択して下さい。
既にプロジェクトの設定を開いている場合は、「全般」タブを選択して下さい。
「AndroidアプリにFirebaseを追加」を選択して下さい。
Androidパッケージ名にAndroidアプリで設定するパッケージ名を指定して下さい。
「アプリを登録」を選択します。
設定ファイルのダウンロードができるようになりましたので、「google-services.jsonをダウンロード」を選択してファイルをダウンロードして下さい。
ダウンロードしたファイルはアプリのプロジェクトに追加して下さい。
3. AppPot管理コンソールから、該当アプリにAPIキーをセット
AppPotの管理画面にログインし、アプリ管理メニューを選択します。
アプリの追加、または既存のアプリの編集を選択します。
アプリIDなどの情報と共に、プッシュ通知で対象となるプラットフォーム(ここではAndroid)にチェックを入れて、APIキーにFCMで作成したサーバーキーの値をセットして保存して下さい。
4. アプリに送信者ID(Sender ID)をセット
JavaScript SDKを使った開発の場合
下記のPushSenderIdにFCMで取得した送信者IDを指定して下さい。
const push = PushNotification.init({
android: {
senderID: PushSenderId
},
ios: {
alert: true,
badge: true,
sound: true,
clearBadge: true
}
});
push.on('registration', (data)=>{
console.log('registration', data);
});
Android SDKを使った開発の場合
GoogleCloudMessagingクラスを使って、GCMへ端末登録を行う際にFCMで取得した送信者IDを指定して下さい。
String senderID = "FCMで取得した送信者ID";
final String deviceToken = GoogleCloudMessaging.getInstance(MainActivity.this).register(
r.getString(senderId));
// AppPotへの端末登録
service.registeDevice(1, deviceToken, new APResponseHandler() {
@Override
public void onSuccess(APResponse result) {
// 成功時処理
}
public void onFailure(APResponse result) {
// エラー時処理
}
});