要使用 Firebase 向 Android 发送消息推送,需要进行以下步骤:

  1. 在 Firebase 控制台中创建一个新的项目,并在项目中添加 Android 应用。

  2. 在 Android 应用中添加 Firebase SDK,并将 'google-services.json' 文件放在应用的根目录下。

  3. 在应用的 'build.gradle' 文件中添加以下依赖项:

dependencies {
    implementation 'com.google.firebase:firebase-messaging:20.2.4'
}
  1. 在应用的 'AndroidManifest.xml' 文件中添加以下权限:
<uses-permission android:name='android.permission.INTERNET' />
<uses-permission android:name='android.permission.WAKE_LOCK' />
  1. 在应用的 'AndroidManifest.xml' 文件中添加以下服务:
<service
    android:name='.MyFirebaseMessagingService'
    android:exported='false'>
    <intent-filter>
        <action android:name='com.google.firebase.MESSAGING_EVENT' />
    </intent-filter>
</service>
  1. 创建一个继承自 'FirebaseMessagingService' 的服务类 'MyFirebaseMessagingService',并重写 'onMessageReceived' 方法来处理接收到的消息:
public class MyFirebaseMessagingService extends FirebaseMessagingService {

    private static final String TAG = 'MyFirebaseMessagingSvc';

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        Log.d(TAG, 'From: ' + remoteMessage.getFrom());

        if (remoteMessage.getData().size() > 0) {
            Log.d(TAG, 'Message data payload: ' + remoteMessage.getData());
        }

        if (remoteMessage.getNotification() != null) {
            Log.d(TAG, 'Message Notification Body: ' + remoteMessage.getNotification().getBody());
        }
    }
}
  1. 在 Firebase 控制台中创建一个新的通知,并指定要发送通知的目标 Android 应用。

  2. 使用 Firebase Cloud Messaging API 或 Firebase 控制台来发送通知。

示例代码:

MyFirebaseMessagingService.java

public class MyFirebaseMessagingService extends FirebaseMessagingService {

    private static final String TAG = 'MyFirebaseMessagingSvc';

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        Log.d(TAG, 'From: ' + remoteMessage.getFrom());

        if (remoteMessage.getData().size() > 0) {
            Log.d(TAG, 'Message data payload: ' + remoteMessage.getData());
        }

        if (remoteMessage.getNotification() != null) {
            Log.d(TAG, 'Message Notification Body: ' + remoteMessage.getNotification().getBody());
        }
    }
}

AndroidManifest.xml

<manifest xmlns:android='http://schemas.android.com/apk/res/android'
    package='com.example.myapplication'>

    <uses-permission android:name='android.permission.INTERNET' />
    <uses-permission android:name='android.permission.WAKE_LOCK' />

    <application
        android:name='com.example.myapplication.MyApplication'
        android:icon='@mipmap/ic_launcher'
        android:label='@string/app_name'
        android:theme='@style/AppTheme'>

        <service
            android:name='.MyFirebaseMessagingService'
            android:exported='false'>
            <intent-filter>
                <action android:name='com.google.firebase.MESSAGING_EVENT' />
            </intent-filter>
        </service>

        <activity
            android:name='.MainActivity'
            android:label='@string/app_name'
            android:theme='@style/AppTheme.NoActionBar'>
            <intent-filter>
                <action android:name='android.intent.action.MAIN' />

                <category android:name='android.intent.category.LAUNCHER' />
            </intent-filter>
        </activity>

    </application>

</manifest>
Android Firebase 推送通知实现指南:步骤、代码示例

原文地址: https://www.cveoy.top/t/topic/nVF1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录