草庐IT

GCM-NOPADDING

全部标签

android - 收到 GCM 通知时启动应用程序

我有GCM通知实现。我知道客户端应用程序无论是在前台、后台还是被杀死状态都会收到通知。我想知道的是,当应用程序处于终止状态时,如何根据收到的通知启动我的应用程序? 最佳答案 在消息接收器中,我执行以下操作:finalIntentnotificationIntent=newIntent(context,YourActivity.class);notificationIntent.setAction(Intent.ACTION_MAIN);notificationIntent.addCategory(Intent.CATEGORY_LA

android - GCM 2.0 不适用于 Android P

我正在AndroidP中实现GCM。但是我收不到GCM的广播。AndroidP有什么问题?顺便说一句,在AndroidO中运行良好。IntentregistrationIntent=newIntent("com.google.android.c2dm.intent.REGISTER");registrationIntent.setPackage("com.google.android.gsf");registrationIntent.putExtra("sender",sender_id);registrationIntent.putExtra("app",PendingIntent.

java - 我怎么知道我的 GCM 消息是否足够小 (< 4kb) 可以发送? (如何获取字符串的大小?)

我想将数据直接嵌入到GCM(Google云消息)中,以帮助我的应用程序跳过与服务器的往返行程。Google表示总数据负载需要在4kb以内。使用[key,value]对发送数据。假设我做了这样的事情:Stringkey="key";Stringdata="data";Messagemessage=newMessage.Builder().addData(key,data).build();sender.send(message,regId,5);我怎么知道Stringdata是否小于4kb?据我所知,没有办法真正执行String.getSize()或类似操作。如果好奇,请链接到文档:ht

android - 为同一用户处理多个设备的 GCM 注册 ID

这是许多应用面临的常见情况,但我正在努力了解如何实现:假设我的应用程序是一个具有当前登录用户的社交网络。我想向该用户发送GCM消息,用于他当前使用我的应用登录的所有设备。这意味着我的服务器为每个用户保存了一个包含他所有注册ID的列表-每个设备一个。问题:我如何才能唯一地跟踪他的每一台设备?seemsthereisnoreliablewaytogetspecificdeviceidentifier不存储每个唯一设备的注册ID-我不知道如何管理它。当用户卸载/注销并在之后获取新的注册ID时,事情会变得一团糟,这应该会替换现有的已知ID之一,但究竟是哪一个呢??如果我只想向特定设备而不是所有

android - Onesignal 与 GCM(FCM)

我在社交消息应用中使用FCM。有时FCM消息无法从服务器传递到客户端。当我必须在服务器端和客户端进行完整的FCM设置时,使用OneSignal有什么好处吗?我查看了OneSignal文档此链接:https://documentation.onesignal.com/docs/product-overview但我不明白哪个更有用。 最佳答案 我帮助开发OneSignal。以下是OneSignal在这种情况下可能有用的一些原因。OneSignal为APNS(iOS通知)和FCM(Android通知)提供单一API和管理界面。OneSig

android - 使用 GCM 以阿拉伯语发送通知

我正在使用GCM向Android设备发送通知。我用来在GCMIntentService中获取消息的代码如下:@OverrideprotectedvoidonMessage(Contextctx,Intentintent){//TODOAuto-generatedmethodstubStringj=intent.getStringExtra("message");generateNotification(ctx,j);}我在服务器端使用的推送或发送这些通知的代码如下:DimrequestAsWebRequest=WebRequest.Create("https://android.goo

c# - 即将到来的 GCM 响应是 : Error=NotRegistered

这是我为GCM创建的示例服务器。classProgram2{publicstaticstringSenderId="318115091714";publicstaticstringRegistrationID="APA91bF9hn6VeessobraNuauBcrFdlJ9eH1eVb44FAQ2oawerBeFWS48IEIFTPo8fdvWm93hwFY0tKszpPuSObPbTqgW-za1RLhCw-GDCn4JQZLQ-CmGwnnr6F5X8gYhNa2DNvFhCEM7HNgvdxtcnBqVX0dVnEynXQ";publicstaticstringApiKey="

php - Android GCM 一台设备有多个registrationid

我的系统有PHP服务器端和Android客户端应用程序。Android通过网络服务发送参数,PHP处理GCM端。PHP发送推送通知,在发送之前,它从数据库中获取所有注册ID。问题是,同一个设备可能有两个或更多registrationid。因此,推送通知发送到同一设备两次或更多次。有什么解决方案可以解决这个问题吗? 最佳答案 GCM可以更改registrationId,您必须在服务器端更新它。当您发送消息时,结果可能包含将用于该设备的新registrationId,因此您必须为新的更新旧的registrationId。看这个linka

android - 即使应用程序关闭(滑动/滑动)也会收到 GCM 通知

这是在我的MainActivity中用作BroadcastReceiver的代码mRegistrationBroadcastReceiver=newBroadcastReceiver(){//Whenthebroadcastreceived//WearesendingthebroadcastfromGCMRegistrationIntentService@OverridepublicvoidonReceive(Contextcontext,Intentintent){//Ifthebroadcasthasreceivedwithsuccess//thatmeansdeviceisreg

android - GCM android 推送通知始终显示旧消息。收到的 Intent 不正确

我有一个完美运行的GCM通知实现。但是,问题是一旦在received方法的Intent中接收到消息,显示的消息始终是旧消息。那就是“extras.getString("payload")”总是显示旧消息。我似乎无法弄清楚问题出在哪里。发送GCM通知的类是:importandroid.app.Notification;importandroid.app.NotificationManager;importandroid.app.PendingIntent;importandroid.content.BroadcastReceiver;importandroid.content.Conte