- 确保应用程序正确实现了FCM的初始化、注册和接收逻辑。
- 在应用程序的启动活动中添加以下代码以处理深度链接:
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
if (Intent.ACTION_VIEW.equals(action) && data != null) {
// 根据链接打开相应页面或执行相应的操作
}
- 在“应用程序清单文件”中,为需要处理深度链接的活动配置
android:launchMode="singleTop"
以确保从后台启动活动时不会创建新的实例。例如:
- 在FCM后台通知的数据有效负载中包含必要的深度链接信息,并确保
click_action
字段的值与活动的Intent Filter
中指定的action
匹配。例如:
{
"notification": {
"title": "测试标题",
"body": "测试内容",
"click_action": "my.intent.action.VIEW",
"icon": "ic_notification"
},
"data":{
"deep_link_uri":"https://example.com/page1",
"other_data": "other value"
}
}
- 在
MyFirebaseMessagingService
中覆盖onMessageReceived()
方法以处理从后台传递的通知和数据有效负载,如下所示:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "MyFirebaseMessagingSer";
@Override
public void