メインコンテンツへスキップ
Google Play Store経由でAndroidデバイスにプッシュ通知を送信するには、OneSignalにFirebase Cloud Messaging(FCM)クレデンシャルが必要です。このガイドでは、必要なService Account JSONファイルを生成し、OneSignalアプリ設定にアップロードする手順を説明します。 技術的な背景については、GoogleのService Accountドキュメントを参照してください。
このガイドは、Google Play Store経由で配布されるAndroidモバイルアプリとOneSignalを統合する開発者向けです。

要件


セットアップ

1. Firebaseプロジェクトを作成または開く

Firebaseコンソールに移動します。
  • プロジェクトがまだない場合は、Add projectをクリックしてセットアップを完了します。
  • すでにプロジェクトがある場合は、それを選択します。

Firebase内のプロジェクトページ

2. Firebase Cloud Messaging API v1を有効にする

1

プロジェクト設定に移動する

Firebaseで、Project Overview > Project settingsの横にある歯車アイコンをクリックします。

Firebaseの歯車アイコンサブメニュー。Project Settingsを表示

2

Cloud Messagingに移動する

Cloud Messagingタブに移動します。Firebase Cloud Messaging API (V1)無効になっている場合は、3ドットメニュー > Open in Cloud Consoleをクリックします。

この画像ではFirebase Cloud Messaging API (V1)が無効になっています。プロジェクトで有効になっていることを確認してください。

Google Cloud Consoleで、Enableをクリックします。変更がFirebaseに反映されるまで数分待ちます。

Firebase Cloud Messaging API v1を有効にします。

3. Service Account JSONファイルを生成する

1

Project Settings > Service Accountsに戻る

下部にあるGenerate new private keyをクリックします。

Firebase内のService Accountsセクション

2

確認してキーを生成する

ポップアップでGenerate keyをクリックして確認します。

🔒 このファイルには機密クレデンシャルが含まれています。共有したり、バージョン管理にチェックインしたりしないでください。

3

ファイルを保存する

.jsonファイルを安全な場所に保存します。すぐに必要になります。
必要なService Accountの権限:
  • cloudmessaging.messages.create
  • firebase.projects.get
これらはデフォルトで含まれています。カスタムService Accountを使用している場合は、以下があることを確認してください:
  • roles/firebasemessaging.admin
  • roles/firebase.viewer

4. クレデンシャルをOneSignalにアップロードする

1

Androidプラットフォーム設定に移動する

OneSignalダッシュボードで、**Settings > Push & In-App > Push Platforms > Google Android (FCM)**に移動します。Activateをクリックします。

OneSignalアプリ設定内のプラットフォーム画面

2

クレデンシャルをアップロードする

Service Account JSONの下でChoose fileをクリックして.jsonファイルをアップロードします。

FCM設定画面

プロンプトが表示されたら、ドロップダウンから**Firebase Cloud Messaging API (V1)**を選択します。正しいFirebaseプロジェクトを使用していることを確認するには、Firebase内のSender IDCloud Messaging > Sender ID)とOneSignal設定に表示されているものを照合します。
3

保存して続行する

4

SDKを選択する

使用しているSDKを選択し、Save & Continueをクリックします。

SDK選択画面

5

OneSignal App IDをコードに追加する

Mobile SDKセットアップに従い続け、このOneSignal App IDをコードに追加します。

Android設定のインストールとテスト画面

OneSignalアプリをFirebase Cloud Messaging(V1)に正常に接続しました。次に、Mobile SDKセットアップを完了するか、プラットフォーム固有の手順についてはMobile pushセットアップに移動してください。

FAQ

エラー:「This configuration is for a different Firebase Project…」

このエラーは、アップロードされたJSONファイルが別のFirebaseプロジェクト(つまり、異なるSender ID)に属している場合に発生します。 解決策:元のFirebaseプロジェクトのJSONファイルを使用してください。利用できない場合は、アプリIDを添えて[email protected]にお問い合わせください。プロジェクトを切り替えるとプッシュトークンがリセットされます。ユーザーはアプリを再度開いてプッシュを再び受信する必要があります。

Sender IDを変更できますか?

いいえ。Sender IDは、アプリが100人のAndroidユーザーを超えると、プッシュトークンの誤った無効化を防ぐためにロックされます。 必要な場合は、アプリIDを添えて[email protected]にお問い合わせください。

FCM V1に切り替える際にコードを更新する必要がありますか?

アプリやSDKの変更は必要ありません。これはダッシュボードのみの更新です。

FCM v1への切り替えの期限はいつですか?

Googleは2024年7月にレガシーFCM APIの廃止を開始しました。移行を強くお勧めします。Googleの発表を参照してください。

OneSignalでSender IDが表示されないのはなぜですか?

FirebaseサーバーキーがAIz...のように見える場合、古いGoogle Cloud Messaging(GCM)セットアップを使用している可能性があります。新しいFirebaseプロジェクトを作成し、Service Account JSONファイルをアップロードしてください。

まだLegacy APIを使用しているアプリを確認するにはどうすればよいですか?

View apps APIを使用して以下を確認します:
  • "gcm_key" → Legacyを使用、更新が必要
  • "fcm_v1_service_account_json" → V1を使用 ✅
  • どちらでもない → アプリはAndroidプッシュを使用していない