Android デバイスでのモバイルプッシュ通知の設定

Android デバイスでのモバイルプッシュ通知の設定

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

1. PageSenseダッシュボードでプッシュ通知が有効になっていることを確認します。
Notes
Android向けモバイルプッシュ通知の設定方法については、こちらをご参照ください。
2. AndroidプロジェクトにFirebaseを追加します。
Notes
AndroidプロジェクトにFirebaseを追加する方法については、こちらをご参照ください。
3. 左上のパネルで、[プロジェクトの概要]の横にある[設定アイコン]をクリックします。
4. [プロジェクトの設定]をクリックします。

5. [プロジェクトの設定]で、[サービスアカウント]に移動します。
6. [新しい秘密鍵を生成]をクリックします。

7. これにより、秘密鍵を含むサービスアカウントのJSONファイルが生成されます。
8. JSONファイルをダウンロードし、PageSenseダッシュボードにアップロードします。
Info
JSONファイルをアップロードする方法については、Androidの設定の手順6以降をご参照ください。
9. FCMコンソールの[Cloud Messaging]で、Firebase Cloud Messaging(FCM)API(V1)が有効になっていることを確認します。

10. 無効になっている場合は、Firebase Cloud Messaging API(V1)の横にある[3点アイコン]をクリックし、[Google CloudコンソールでAPIを管理]を選択して、[有効にする]をクリックします。



AndroidのクライアントアプリでFirebase Cloud Messaging(FCM)を設定するには

FCMの設定が完了したら、デバイスで通知の受信を開始するため、次の手順を実行します。
1. 次のコードをアプリレベルのマニフェストファイルに追加します。これにより、Firebaseから通知を受信できるようになります。
  1. <service android:name='.NotificationFCMReceiver' 
     android:exported='false'> 
     <intent-filter> 
            <action android:name='com.google.firebase.MESSAGING_EVENT' /> 
     </intent-filter> 
     </service> 
2. FirebaseMessagingServiceを継承するクラスをアプリのプロジェクトに追加します。使用する言語に応じて、次のコードをご参照ください。
JAVAの場合は、次のコードを使用します。
  1. import com.google.firebase.messaging.FirebaseMessagingService;
  2. import com.google.firebase.messaging.RemoteMessage;
  3. import com.zoho.pagesense.android.PSNotification;
  4. public class NotificationFCMReceiver extends FirebaseMessagingService {
  5. @Override
  6. public void onNewToken(@NonNull String s) {
  7. super.onNewToken(s);
  8. PSNotification.sendDeviceToken(s);
  9. }
  10. @Override
  11. public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
  12. super.onMessageReceived(remoteMessage);
  13. if(PSNotification.isFromPageSensePlatform(remoteMessage.getData())) {
      PSNotification.showNotification(remoteMessage.getData(),
  14. com.zoho.pagesense.android.R.drawable.notification_bg);
  15. }
  16. }
  17. }
KOTLINの場合は、次のコードを使用します。
  1. import com.google.firebase.messaging.FirebaseMessagingService
  2. import com.google.firebase.messaging.RemoteMessage
  3. import com.zoho.pagesense.android.PSNotification
  4. class NotificationFCMReceiver : FirebaseMessagingService() {
  5. override fun onNewToken(s: String) {
  6. super.onNewToken(s)
  7. PSNotification.sendDeviceToken(s)
  8. }
  9. override fun onMessageReceived(remoteMessage: RemoteMessage) {
  10. super.onMessageReceived(remoteMessage)
  11. if (PSNotification.isFromPageSensePlatform(remoteMessage.data)) {
  12. PSNotification.showNotification(remoteMessage.data,
  13. com.zoho.pagesense.android.R.drawable.notification_bg)
  14. }
  15. }
  16. }
Info
  1. onNewTokenは、デバイストークンが生成されたときに呼び出されます。トークンをZoho PageSenseに送信するには、API PSNotification.sendDeviceToken(s) を使用します。
  2. onMessageReceivedは、通知を受信したときに呼び出されます。ここでは、通知がPageSenseから送信されたものかどうかを確認するため、PSNotification.isFromPageSensePlatform(remoteMessage.getData()) APIを呼び出す必要があります。その後、データと通知アイコンを渡して、API PSNotification.showNotification(remoteMessage.getData(), com.zoho.pagesense.android.R.drawable.notification_bg);を呼び出します。

実行時に必要な権限

Android 13以降では、通知を送信するために、AndroidManifest.xmlファイルへPOST_NOTIFICATIONS権限を追加し、実行時権限を要求する必要があります。詳細については、Androidデベロッパー向けドキュメントをご参照ください。

Android 12以降では、通知内の通話ボタンとスヌーズボタンを処理するために、次の権限を有効にする必要があります。
  1. <uses-permission android:name='android.permission.CALL_PHONE'/>
  2. <uses-permission android:name='android.permission.SCHEDULE_EXACT_ALARM' />
このドキュメントが設定作業のお役に立てば幸いです。さらに詳しい説明が必要な場合や質問がある場合は、support@zohopagesense.comにメールを送信して、いつでもお気軽にお問い合わせください。