Articles of 推送通知

每次应用程序启动时都请求Google Cloud Messaging(GCM)注册ID

我已阅读关于GCM的文章可能会刷新注册ID,没有固定的周期。 我试图build立一个应用程序使用推送通知,但不知道如何处理这种刷新注册ID。 我的第一个策略是每次应用程序启动时请求注册ID,并将其发送到应用程序服务器。 它看起来工作,但听起来不知何故… 可以这样做吗?

如何获得谷歌项目ID和pushwoosh应用程序ID?

我正尝试从phongap推送通知。 我跟着下面的教程http://www.pushwoosh.com/programming-push-notification/android-gcm-push-notifications-guide/ 但在那里我需要有谷歌项目ID和pushwoosh应用程序ID 。 所以基本上是什么过程得到这些ID .. 任何帮助将不胜感激!

内部错误:重试接收器类尚未设置

我正在实施一个简单的gcm推送服务器通知给手机,但是当我从服务器推送,通知不显示在手机上。 日志显示这个错误 内部错误:重试接收器类尚未设置 有人可以告诉我如何解决这个问题,或给我一个链接到一个gcm库来解决这个错误。 我在网上search,谷歌说这个错误是固定在一个库版本,但我不能在网上find它。

每当我启动Android应用程序时,是否需要新的令牌?

我知道,在Android和iOS和WP7( 在哪个移动平台中,“推送令牌”不是永久的?) ,提供给设备的推送令牌可以改变。 这意味着我们应该通过要求新的令牌来处理这个问题,至less每次我们的应用程序启动。 然而 ,这到目前为止我在Google教程中find的完全相反(我不记得我在哪里find了这个代码,但是我确定它是由google提供的)代码如下所示: //registering for push GCMRegistrar.checkDevice(this); GCMRegistrar.checkManifest(this); final String regId = GCMRegistrar.getRegistrationId(this); if (regId.equals("")) { GCMRegistrar.register(this, SENDER_ID); Log.i("****************","I just Registered!!"); } else { Log.i("****************","Already registered"); } 上面的代码将执行GCMRegistrar.register(this, SENDER_ID); 只有一行,这是应用程序第一次启动。 但是我猜这个错误是正确的? 因为如果令牌更改,我们的应用程序将看不到,因为它只需要一个令牌一次.. 编辑 其实我只是find了那个代码。 看看这里: 入门指南 我引用: 在onCreate()方法中,添加以下代码: GCMRegistrar.checkDevice(this); GCMRegistrar.checkManifest(this); final String regId = GCMRegistrar.getRegistrationId(this); if (regId.equals("")) { GCMRegistrar.register(this, SENDER_ID); } else […]

当App没有运行时,GCM Cordova推送通知不工作

该应用程序在PhoneGap中。 我使用https://github.com/marknutter/GCM-Cordova推送通知function 我实现了整个function,直到昨天才正常工作。 当我最后一天检查了应用程序,当应用程序没有运行时推送通知不工作。 所有通知正在我的设备上接收,点击该消息打开应用程序。 但是控件在消息通知处理的javascript部分没有收到。 来自文件GCMIntentService.java的代码: JSONObject json; json = new JSONObject().put("event", "message"); json.put("message", extras.getString("message")); json.put("link", extras.getString("link")); Log.v(ME + ":onMessage ", json.toString()); GCMPlugin.sendJavascript( json ); // Send the MESSAGE to the Javascript application 这个代码将收到消息时工作。 但是那个时候,App没有运行。 当我点击通知消息时,应用程序像往常一样打开,而不是注册消息事件; 从而得不到JavaScript中的控件来处理推送通知。 代码为CORDOVA_GCM_script.js是可利用的在: https://github.com/marknutter/GCM-Cordova/blob/master/assets/www/CORDOVA_GCM_script.js 注意 :应用程序运行时,它工作正常。 编辑:有时通知运行。 JavaScript随机获取消息事件。 编辑2: 我当然知道这个问题。 从java文件,它通过点击推送通知消息打开应用程序时,触发JavaScript代码。 但是那个时候,WebView没有加载,所以不能执行脚本(这是一个事件触发器)。 这是条件,每个使用插件的人都会遇到同样的情况。 有没有解决方法或解决办法? 我做错了什么?

某些时候在手机中没有收到推送通知GCM

我正面临着一个奇怪的问题。 如果在从服务器端发送消息的时候连接到互联网,那么我的手机就会收到推送通知。 但是,如果当时没有连接到互联网,而是在一段时间后连接到互联网。 我没有收到该通知。 据我所知,所有这些通知应该显示,只要我们在线,因为GCM服务器存储所有这些消息。 我收到所有其他应用程序的通知。 我也给了清单中的wakelock权限。 可能是什么问题? 任何从服务器端,客户端或移动? 请帮忙… 该值从第三方服务器(.Net服务器)发送到GCM服务器: String postdata= "collapse_key=score_update&time_to_live=2419200&delay_while_idle=1&data.message=‌​" + message + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id=" + deviceToken + "" 提前致谢

使用适用于Android的Google Cloud Messaging无法接收消息(不是帮助程序库)

有没有人可以帮助我一个工作的例子,使用Google Cloud Messaging for Android从gcm接收消息。 我已经尝试了两种方法(帮助库和GoogleCloudMessaging类),似乎没有任何工作。 我正在使用一个PHP脚本,显示以下内容: 组播ID:5.2108110103215E + 18已成功处理的消息数量:1处理错误消息的数量:0标准ID:0 所以显然是永恒的。 我可以用这两种方式注册设备,使用助手库(gcm.jar)和使用GoogleCloudMessaging类。 问题是我没有办法通过PHP发送消息,或者至less我不知道如何正确处理它。 以下是我的清单中的权限和接收者: <permission android:name="com.example.gcm.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.READ_OWNER_DATA" /> <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <!– Receives the actual messages. –> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <!– Receives […]

是否有任何理由继续使用IntentService来处理GCM消息?

如你所知,最近Google改变了他们的GCM文档,他们声称不再需要IntentService来处理到达的GCM消息。 所有的处理都可以在BroadcastReceiver完成。 当试图找出是否有任何充分的理由继续使用IntentService ,我遇到了这个引用 : WakefulBroadcastReceiver处理GCM消息的服务(通常是IntentService),同时确保设备不会在进程中回到睡眠状态。 包括一个IntentService是可选的 – 你可以select在一个普通的BroadcastReceiver中处理你的消息, 但实际上,大多数应用程序将使用一个IntentService 。 为什么大多数应用程序使用IntentService ? 在BroadcastReceiver直接处理GCM消息的情况是否有效?

Xamarin.android默认FirebaseApp在这个过程中没有被初始化

我遇到来自Firebase的令牌问题(推送通知) Default FirebaseApp is not initialized in this process com.ready_apps.Nebka.Business. Make sure to call FirebaseApp.initializeApp(Context) first. 即使我叫FirebaseApp.InitializeApp(this); 在许多地方 MyApplication(扩展应用程序),在我调用FirebaseInstanceId.Instance?.Token;的Activity的onCreate中FirebaseInstanceId.Instance?.Token;

如何每48小时后显示android通知?

我尝试了以下代码为Android通知工作正常,但它是当我启动我的Android应用程序给我通知popup窗口。 我想每48小时发一次通知,我该怎么办? 为了实现这个目标,我需要做些什么改变? 通知代码 Intent notificationIntent = new Intent(MainActivity.this, Activity.class); PendingIntent contentIntent = PendingIntent.getActivity(MainActivity.this, 0, notificationIntent, 0); NotificationManager notificationManager = (NotificationManager) MainActivity.this .getSystemService(Context.NOTIFICATION_SERVICE); Notification noti = new NotificationCompat.Builder(MainActivity.this) .setSmallIcon(R.drawable.ic_launcher) .setTicker("ticker message") .setWhen(System.currentTimeMillis()) .setContentTitle("HELLO") .setContentText("PLEASE CHECK WE HAVE UPDATED NEWS") .setContentIntent(contentIntent) //At most three action buttons can be added .setAutoCancel(true).build(); int notifyID =0; notificationManager.notify(notifyID, noti);