gpt4 book ai didi

java - Android:Firebase Cloud Messaging 不发送构建 .apk 的通知

转载 作者:太空狗 更新时间:2023-10-29 13:46:14 25 4
gpt4 key购买 nike

当我通过 USB 数据线将手机连接到 Android Studio 时,推送通知正常工作,但是当我生成构建 .apk 并将其安装到手机上时,应用程序没有收到任何推送通知。

我是 android 新手,第一次尝试推送通知。

Manifest.xml中的代码

<service
android:name=".MyFirebaseInstanceIDService">
android:stopWithTask="false">
<intent-filter>

<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>

类扩展 FirebaseMessagingService 的代码:

public class MyFirebaseInstanceIDService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
Log.e("NEW_TOKEN", s);
}

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {

Map<String, String> params = remoteMessage.getData();
JSONObject object = new JSONObject(params);
Log.e("JSON_OBJECT", object.toString());

String NOTIFICATION_CHANNEL_ID = "Nilesh_channel";

long pattern[] = {0, 1000, 500, 1000};

NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "Dream",
NotificationManager.IMPORTANCE_HIGH);

notificationChannel.setDescription("");
notificationChannel.enableLights(true);
notificationChannel.setLightColor(Color.RED);
notificationChannel.setVibrationPattern(pattern);
notificationChannel.enableVibration(true);

mNotificationManager.createNotificationChannel(notificationChannel);
}

// to diaplay notification in DND Mode
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = mNotificationManager.getNotificationChannel(NOTIFICATION_CHANNEL_ID);
channel.canBypassDnd();
}

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);

notificationBuilder.setAutoCancel(true)
.setColor(ContextCompat.getColor(this, R.color.colorAccent))
.setContentTitle(getString(R.string.app_name))
.setContentText(remoteMessage.getNotification().getBody())
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.drawable.ic_action_name)
.setAutoCancel(true);


mNotificationManager.notify(1000, notificationBuilder.build());
}
}

MainActivtiy.java 类没有任何与 Firebase 相关的链接。

任何建议将不胜感激。谢谢。

最佳答案

请登录到您的 firebase 控制台并打开您的项目,然后找到如下项目设置: enter image description here

然后单击项目设置并在该页面上向下您将找到您的应用程序和添加指纹的选项

Add Fingerprint

enter image description here

只需在此处添加您的指纹并点击保存即可。

添加指纹后,只需从那里下载 google-jsonconfig 文件

Download the latest config file

然后将该配置文件放入您的项目中并再次构建您的应用。

希望这次一切顺利

而且,如果您在获取 SHA1 key (指纹)方面需要进一步的帮助,请再次发表评论,我会尽力帮助您。

Now, to get your release and debug fingerprint from android studio follow this:

1.转到位于 android studio 右侧的 gradel 部分。

enter image description here

<强>2。你会发现那里:应用程序点击它并转到任务->android->signingReport

enter image description here

3.双击 signingReport 并等待您的 signingRreport 在位于 android studio 底部的“运行”选项卡中生成。

4.现在您将拥有如下格式:

Variant: release
Config: release
Store: /home/hp/.android/release.keystore
Alias: AndroidReleaseKey
MD5: Your MD5 key here(xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx)
SHA1: Your fingerprint key here(xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx)
Valid until: Thursday, 20 August, 2048

Variant: debug
Config: debug
Store: /home/hp/.android/debug.keystore
Alias: AndroidDebugKey
MD5: Your MD5 key here(xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx)
SHA1: Your fingerprint key here(xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx)
Valid until: Thursday, 20 August, 2048

从发布变体中,复制您的 SHA1 key 并将其添加到 firebase。我希望现在这能解决您的问题。

关于java - Android:Firebase Cloud Messaging 不发送构建 .apk 的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com