FCM 알림이 Android 최신 버전 OREO에서 작동하지 않습니다.
아래는 제 코드입니다 :
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example">
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/luncher_logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/luncher_logo"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".WelcomeActivity">
<intent-filter>
<action android:name="com.example.action.MAIN" />
<category android:name="com.example.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
<service android:name=".firebase.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".firebase.FirebaseIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
</manifest>
- 답변 # 1
- 답변 # 2
Android Oreo 제작 채널에서는 중요합니다. 알림을 만들 때 채널 ID를 전달해야합니다. 그렇지 않으면 알림이 Oreo 장치에 표시되지 않습니다.
추가 정보
빠른 수정은 : 알림 클래스에서 setChannelId 메소드를 사용하십시오.
FCM will use this value whenever incoming messages do not explicitly set a notification channel.
이 링크의 완전한 답변.
- 답변 # 3
<meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="@string/default_notification_channel_id"/>
에 알림을 표시하려면 채널을 만들어야합니다 .기본 firebase 알림을 사용하는 경우
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_notif_icon) .setContentTitle("testTitle") .setContentText(messageBody) .setAutoCancel(true) .setSound(defaultSoundUri) .setChannelId("testChannelId") // set channel id .setContentIntent(pendingIntent);
를 추가 할 수 있습니다 매니페스트에서.Oreo
알림을 수동으로 만드는 경우 프로그래밍 방식으로 채널을 만들어야합니다. 공식 문서에 대한 자세한 내용.
channel_id
관련 자료
- conda - Python의시를 사용하여 작업 디렉토리에서 로컬 환경으로 내 패키지의 최신 버전을 설치합니다
- Firebase 전화 인증이 Android에서 버전 2000이 작동하지 않습니다
- Android 버전 Oreo에서 알림이 작동하지 않음
- networking : 버전 20.04에서 작동하는 RTL8125 Realtek 드라이버를 얻을 수 없습니다.
- pic - EZBL_EraseAll 또는 EZBL_NVMKEY가 mplab x IDE 버전 54에서 작동하지 않음
- xml - Android에서 작동하지 않는 사용자 정의 백그라운드 리소스
- software installation - kali에 Java jdk 최신 버전을 설치하는 명령
- python - 파일 관리자가 Android kivymd에서 작동하지 않는 이유는 무엇입니까?
- npm install은 항상 최신 * 호환 * 버전의 종속성을 얻습니까?
- image - WhatsApp에서 데이터 공유가 Android 11에서 작동하지 않음
- Android 실제 기기에서 Firebase 전화 인증이 작동하지 않습니다.
- HTML FORM의 입력 유형 FILE이 Safari 버전 1401에서 작동하지 않음 (146102115110)
- java - Android에서 "Working of onBindViewHolder"와 혼동
- bash - bashrc에서 자동으로 최신 버전의 아나콘다 찾기
- firebase - Xamarin Forms Android 푸시 알림 "메시지가 성공적으로 전송되었지만 일치하는 대상이 없습니다"
- 백엔드 서버 및 앱을 NET Core 31 signalR로 마이그레이션 한 후 SignalR이 XamarinForms Android 앱에서 작동을 중지합니다
- Android Studio 4.1 이후 Android Background Drawable이 버튼에서 작동하지 않음
- Android Studio 버전 41은 flutter, dart 플러그인을 볼 수 없습니다
- flutter - playstore 오류 - 버전 코드 4가 이미 있으므로 apk 또는 android app bundle에 다른 버전 코드를 사용해야합니다
- java - requestLegacyExternalStorage는 Android 11에서 작동하지 않습니다API 30
- android : Firebase In-App 메시징이 필요할 때마다 메시지를 보내겠습니까?
- android : Google Apps 스크립트를 사용하여 Firebase에서 푸시 알림을 보내는 방법은 무엇입니까?
- android : FireBase 메시징을 사용하여 하나의 메시지를 하나로 보내는 방법
- android : 어느 한계에 대해 GCM (지금 FCM)이 있습니까?
- android : FireBase 토큰 오류 _many_registrations.
- java : Android code를 사용하여 루트 노드의 이름과 자식 노드 수를 얻는 방법은 무엇입니까?
- Google 로그인 실패 com.google.android.gms.common.api.ApiException : 10 :
- android : Firebase 데이터 RecyClerview 때로는 아무것도 표시하지 않습니다
- android : Kotlin의 Cardview에서 Firebase 문서 데이터를 얻는 방법
- android : Firebase-UI를 가져 오려는 오류가 발생했습니다
Android 8.0 (API 레벨 26+)부터 알림 채널이 지원되고 권장됩니다.
와이즈 비즈자신의 기본 채널을 만들고 사용하려면
를 설정하십시오 아래 표시된대로 알림 채널 개체의 ID로 와이즈 비즈이 링크에서 채널 ID를 만들 수 있습니다