我们正在使用firebase云消息将推送通知发送到android应用程序中。
目前,为了测试推送通知,我们需要将消息发送到FCM服务器,并等待消息到达设备。大部分时间设备需要很长时间才能从FCM服务器获得通知。
我可以看到下面的一些链接,这些链接解释了使用adb广播命令向设备发送推送通知(本示例解释了使用GCM框架发送消息,但我们使用的是FCM)是否可以从adb shell/am命令行模拟GCM接收?我收到一个错误
有没有类似的方法发送推送通知使用adb到设备有FCM?
null
If you run below command and try to grant send permission to your package.
./adb shell pm grant com.example.hunted "com.google.android.c2dm.permission.SEND"
您将得到以下异常
不允许Opcodeeration:java.lang.SecurityException:包com.example.Hunted没有请求权限com.google.android.c2dm.permission.send/code>
即使您将此权限添加到包中
./adb shell pm grant com.example.hunted com.google.android.c2dm.permission.SEND
Operation not allowed: java.lang.SecurityException: Permission com.google.android.c2dm.permission.SEND is not a changeable permission type.
最后,当您使用ADB发送广播时。您将得到以下异常。
BroadcastQueue: Permission Denial: broadcasting Intent { flg=0x400010 cmp=com.example.hunted/com.google.firebase.iid.FirebaseInstanceIdReceiver (has extras) } from null (pid=32279, uid=2000) requires com.google.android.c2dm.permission.SEND due to receiver com.example.hunted/com.google.firebase.iid.FirebaseInstanceIdReceiver
可以通过ADB发送FCM有效载荷。
虽然权限
gradle将
<receiver
android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
android:exported="true"
android:permission="@null"
tools:replace="android:permission">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="your.package.name" />
</intent-filter>
</receiver>
然后发出
(PS-I强烈建议仅在调试构建中通过Gradle's manifest placeholder或调试/开发构建中单独的androidmanifest.xml执行此操作)
它在模拟器上为我工作(您既不需要服务器密钥也不需要客户端令牌)。
在AS终端上运行以下命令:
>
adb shell am broadcast \
-n <YOUR.APP.PACKAGE>/com.google.firebase.iid.FirebaseInstanceIdReceiver \
-a "com.google.android.c2dm.intent.RECEIVE" \
--es "title" "Title" \
--es "body" "Body"```
其中
{
"data": {
"title": "Title",
"body": "Body"
},
"to" : ""
}
我需要使用< code>aws-sns-javascript向多个设备发送推送通知。当我创建createPlatformEndpoint时,我可以只添加一个设备令牌,但我需要向多个设备发送通知,如一个数组令牌 创建平台应用程序 创建平台终端节点 向Amazon SNS主题发送消息
我正在尝试用C#中的FCM在android设备上发送推送通知。Net,但我收到了“InvalidRegistration”错误消息。 我也用过邮递员和R-Client的方法,但仍然得到同样的错误。 {"multicast_id":8671409506357877791,"成功": 0,"失败": 1,"canonical_ids": 0,"结果":[{"错误":"无效注册"}]}
我成功地集成了firebase。当我仅出于测试目的使用firebase站点的云消息发送通知时,设备会收到通知。但在我的应用程序中,我需要使用firebase从一台设备向另一台设备发送通知。。如何实现这一点。Swift 4,Xcode 10以下是一些代码:
我对通过FCM实现云消息感到困惑。要向iOS设备发送远程(推送)通知,APN需要iOS设备令牌。但是,Firebase应用程序不与APNs接口,它与FCM接口,FCM与APNs接口。但是通过FCM向任何客户端发送推送通知(或消息)需要FCM令牌。这是否意味着Firebase应用程序向iOS设备发送推送通知时不需要iOS设备令牌?
我试图弄清楚Firebase如何连接到特定设备并向其发送消息。我现在如何使用Firebase和从我的后端服务器向注册的设备发送通知,但我不知道它是如何在内部工作的。firebase服务器是否使用设备和服务器之间的持久连接?它用的是什么技术? 目前,我最感兴趣的是Android设备,以及firebase如何唤醒设备,即使有后台任务限制。
我需要使用< code>aws-sdk-go lib通过设备令牌数组向多个设备发送SNS推送通知。 目前我正在使用以下步骤向SNS发送推送消息: 创建endpoint: 将消息发送到endpoint: 我还没有见过一种方法,只使用一个请求就可以将一个推送消息发送到多个设备。可能吗? 像这个例子来说明: