标签: firebase-cloud-messaging

android gradle中出现重复资源错误

我正在我的 Android 应用程序中添加谷歌地图和 firebase 消息传递,但在将错误构建为重复资源之后。

我的日志猫错误是

Error:Execution failed for task ':app:mergeDebugResources'.
> [string/google_api_key] F:\Android Workspace\FoxindTracker\app\src\main\res\values\strings.xml    [string/google_api_key] F:\Android Workspace\FoxindTracker\app\build\generated\res\google-services\debug\values\values.xml: Error: Duplicate resources
Run Code Online (Sandbox Code Playgroud)

我的编译依赖如下

compile 'com.android.support:appcompat-v7:24.+'
    compile 'com.android.support:design:24.+'
    //compile 'com.google.android.gms:play-services:9.4.0'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.google.firebase:firebase-messaging:9.0.0'
    compile 'com.android.support:cardview-v7:24.+'
    compile 'com.android.support:recyclerview-v7:24.+'
    compile 'org.igniterealtime.smack:smack-android:4.1.4'
    compile 'org.igniterealtime.smack:smack-tcp:4.1.4'
    compile 'org.igniterealtime.smack:smack-im:4.1.4'
    compile 'org.igniterealtime.smack:smack-extensions:4.1.4'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.github.siyamed:android-shape-imageview:0.9.+@aar'
//    compile 'com.squareup.retrofit2:converter-simplexml:2.1.0'
    compile ('com.squareup.retrofit2:converter-simplexml:2.1.0') {
        exclude group: 'xpp3', module: 'xpp3'
        exclude group: 'stax', module: 'stax-api'
        exclude group: 'stax', module: 'stax'
    }
    compile('com.digits.sdk.android:digits:1.10.3@aar') {
        transitive = …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-play-services firebase-cloud-messaging

1
推荐指数
1
解决办法
3961
查看次数

如何仅使用 Firebase 中的 FCM 令牌向 2 台设备发送推送通知,而无需创建主题或组?

我只需要向少数设备发送推送通知。我将他们的设备令牌放在一个数组中。我需要为此创建主题或群组吗?

我可以使用 for 循环单独发送推送通知,但有更好的方法吗?

编辑:在不理解的情况下,请不要将此问题标记为重复。问题

FCM(Firebase 云消息传递)发送到多个设备

有使用 FCM 令牌和组的答案,我已经明确表示这不是我的要求。就其他问题提到的“registration_ids”而言,官方文档中没有提及它,如果提及,请指出它作为有效答案。

android firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
8055
查看次数

Android .setSmallIcon(R.mipmap.ic_launcher)

我目前正忙于这个图罗蒂尔:http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

我被困在这一行:

最终 int 图标 = R.mipmap.ic_launcher;

它无法解析符号“R”

我怎样才能导入这个符号?

android firebase-cloud-messaging

1
推荐指数
1
解决办法
2245
查看次数

Firebase 合并 Android 中的类似通知

我们在 SIP 应用中使用 Firebase,以便在应用离线时向我们发送未接来电通知和聊天通知。

虽然发送和接收工作正常,但我们对 Android 客户端有影响,即 5 个未接来电 obv 会生成 5 个未接来电通知,填满客户端设备上的通知栏。

我们如何将这些通知合并在一起,只显示一个“5 个未接来电”通知?

我们是否可以在消息datanotification消息的一部分中放置任何其他标志(例如分组)?

以下是我们当前的未接来电通知的示例:

{
    "to":"<<FCMToken>>",
    "priority":"high",
    "notification":{
        "title":"<<Displayname-of-Caller>>",
        "text":"<<Date-and-time-of-call>>", 
        "icon":"icon_notification_missed",
        "click_action":"MISSED_CALL"
    },
    "data":{
        "type":"sip-call-missed"
    }
}
Run Code Online (Sandbox Code Playgroud)

那么将它们结合在一起有什么技巧呢?

notifications android firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
2985
查看次数

getIntent().getExtras() 返回 null FCM

我花了几个小时研究这个但没有运气,所以我在这里问。我已经检查过这些问题但无济于事:

\n\n\n\n

直到今天(AFAIK \xe2\x80\x94 我已经有一段时间没有测试它了),Firebase Cloud Messaging 工作得很好。我可以从 Firebase 控制台发送包含数据的通知,并且使用getIntent().getExtras()将允许我从应用程序访问该数据。

\n\n

然而,今天我发送了一条测试通知,但点击它并没有执行预期的操作。经过一番挖掘,我发现无论如何getIntent().getExtras()都会返回。null这是相关代码:

\n\n
private void respondToNotificationClick() {\n    if (getIntent().getExtras() != null) {\n        Log.e("NOTIF", "NOTIF");\n        //...\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

onCreate()(此方法在主活动和主活动中调用onResume()。)

\n\n

但该日志永远不会被打印,如果我尝试在语句Intent.getExtras()之外记录if,我会得到一个 NPE。

\n\n

我怀疑这与 Firebase 11 与 10 有关,或者这个应用程序的目标是 API 26,但我就是不知道如何修复它,而且 Google 的文档并不总是最有帮助的。

\n\n

这里发生了什么?这是一个已知问题吗?是因为我正在使用测试版 API(尽管它应该已经最终确定)?

\n

android firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
2418
查看次数

使用 cURL https://fcm.googleapis.com/fcm/send 时,Firebase 推送通知不会播放声音

当我使用 Firebase 控制台时,通过激活“高级选项”下的“声音”,一切都很完美,正如最佳答案 Mouad Abdelghafour AitAli 在Firebase Push notification is not Playing sound while app is in back 的接受答案中所解释的那样。当我使用 cURL 向端点发出请求时https://fcm.googleapis.com/fcm/send,我收到通知,唯一的问题是通知不播放声音。这就是我从命令提示符发送通知的方式:

C:\curl>curl -k -X POST --header "Authorization: key=<My authorization key>" --header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"<Token of device that receives the notification>\",\"notification\":{\"body\":\"Yellow\"},\"priority\":10,\"sound\":\"default\"}"
{"multicast_id":4910170660116070247,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1512975815064180%efad4c69efad4c69"}]}
Run Code Online (Sandbox Code Playgroud)

请注意我如何使用\"sound\":\"default\",但通知仍然没有播放声音。正如我提到的,它可以在 Firebase 控制台上运行,所以我试图理解为什么它不能从命令行使用 cURL 运行。谢谢。

android curl firebase firebase-cloud-messaging android-push-notification

1
推荐指数
1
解决办法
2328
查看次数

Android Firebase:当应用程序位于前台时如何从 Firebase 获取通知消息的消息文本组件

当我们只有可以通过 Firebase 控制台发送的通知(显示消息)时,当我们的应用程序位于前台时,会调用 FirebaseMessagingService 的 onMessageReceived 方法。为了获得通知,我创建了通知生成器,它工作得很好。我面临的唯一问题是检索消息内容,因为它不是数据通知,remotemessage.getData() 为空,甚至remotemessage.getNotificationBody() 也为空。我已经调试了程序,remoteMessage 有一个字段用于存储发送的消息,但我无法检索它。请帮我。附件是显示从 Firebase 控制台发送的消息的必填字段的快照,以黄色突出显示。Firebase 控制台消息窗口

android firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
746
查看次数

Firebase 消息通知在 iOS 上不起作用

我们使用 firebase 向 iOS 和 Android 设备发送通知。也尝试发送到本机 iOS 应用程序,但这也不起作用。通知在 Android 上运行良好,但无法到达 iOS 设备。奇怪的是 firebase 的响应是成功。同一应用程序能够从科尔多瓦网站获取通知

以下是 FCM 的请求和响应:

Request:{"data":{"title":"Test notification from server code","body":"detailContent : some test data"},"to":"foqwNQ2JATY:APA91bHZRz6L7z6q3zyItYBh0eNaMv25d0CPjzPfbT4tTRrxNrkdKYwQM2pqvB-Q7ry3AEwCs8IduuYVBz834muWXnwjvt5I7mbMPbpPCw17bbBqFG4hhNdqDIO0xRdDQir8P2hz66WE","priority":"high"}

Response:{"multicast_id":6317092041813746870,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1519618961399427%7c1174a8f9fd7ecd"}]}
Run Code Online (Sandbox Code Playgroud)

ios cordova firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
2483
查看次数

firebase API 中的 MismatchSenderID 错误

我正在使用FCM编写用于 android 通知的服务器端代码

因此,代码将通知正确发送到主题,但没有发送到特定设备的注册令牌。 所以代码对于这种情况工作得很好 -

info.put("to", "topics/xyz"); 
info.put("title", "Hello 1");
info.put("body", "Hi");
Run Code Online (Sandbox Code Playgroud)

但对于第二种情况——

info.put("to", DeviceIdKey.trim()); //device registration token
info.put("title", "Hello 1");
info.put("body", "Hi");
Run Code Online (Sandbox Code Playgroud)

它给,

输出

{
"multicast_id": 1XXXXXXX01820YYYY2,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
        {
            "error": "MismatchSenderId"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

重要信息- 我拥有的所有 Android/IOS 设备的注册令牌都是由 GCM 生成的,已有 2 年历史。谢谢!

android push-notification ios firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
2万
查看次数

禁用旧服务器密钥

我发现 Firebase Cloud Messaging 有两种发送推送通知的方式。

我知道这两种方式是如何工作的,并且我已经使用这两种方式实现并测试了我的应用程序和服务器。

但是,我需要禁用“旧服务器密钥”发送消息的方式。

我找不到如何使用 Firebase 控制台禁用此功能。

是否可以禁用发送推送通知的旧方式?如何?

firebase firebase-cloud-messaging

1
推荐指数
3
解决办法
7504
查看次数