Tag: 推送通知

来自Java服务器的持久http连接

我想在Java spring服务器和Android客户端之间创建持久连接。 我需要的是一种具有持久(长期HTTP)连接的推送机制,一旦可用,它就会将所有信息从服务器传输到客户端。 是否有任何可用的框架可以支持Java Spring。 有助于我实现此目的的教程或文档。

在推送通知错误“notificationBuilder.setContentText(currentText).setNumber(++ numMessages);”中找不到符号

下面是我的代码,我正在使用cordova推送通知,我试图合并多个推送通知,但它给我错误,对于单一通知其工作,我无法找到出错的地方,请建议 package org.apache.cordova.firebase; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.media.RingtoneManager; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.NotificationCompat; import android.util.Log; import android.text.TextUtils; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; import java.util.Map; import java.util.Random; private void sendNotification(String id, String title, String messageBody, Map data, boolean showNotification) { Bundle bundle = new Bundle(); int notifyID = 1; […]

用于android的解析仪表板中的“推送发送0”

我正在尝试从parse发送推送通知到android。 从浏览器发送时,设备的计算正在正确显示。 但是“推送发送0”正在浏览器中显示。 我在Application类中注册通知 ParsePush.subscribeInBackground(“”, new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { Log.d(“com.parse.push”, “successfully subscribed to the broadcast channel.”); } else { Log.e(“com.parse.push”, “failed to subscribe for push”, e); } } }); ParseInstallation.getCurrentInstallation().saveInBackground(); 我还在我的android项目中创建了Receiver public class PushMessageBroadcast extends ParsePushBroadcastReceiver { @Override public void onPushOpen(Context context, Intent intent) { […]

如何可靠,高效地读取Java Server中Apple推送通知服务器的所有错误响应?

我正在研究Java中的Apple推送通知的服务器端开发。 我正在使用增强格式,以便检测失败的消息并重新发送跟踪错误消息的消息。 我知道Apple不保证Push Notifications的发送,但我希望能够知道Apple是否收到了我的消息以及是否包含任何错误。 我注意到当我尝试向Apple发送无效消息(无效设备令牌,太大的有效负载等等)时,我可以在套接字关闭之前发送更多消息。 当套接字关闭时,从Apple读取错误代码为时已晚,所以我不知道哪条消息是坏消息(或者即使有错误的消息,因为Apple说连接可能偶尔会关闭,即使没有错误)。 我在JavaPNs源中看到的处理此问题的方法是在发送每条消息(或消息组)后立即读取Apple的响应。 如果频繁执行则从套接字读取,并在没有任何内容可读的情况下等待超时。 如果您不经常发送推送通知,这是可以接受的。 如果您尝试以高频率发送大量通知(比方说每秒数百个),则无法在每条消息之后停止等待来自Apple的响应(即使您等待的响应时间仅为20毫秒,限制你每秒50条消息,你无法知道Apple写错误响应需要多长时间,所以短暂的等待可能还不够。 如果您在每条消息之后没有停止阅读可能的错误,那么在向Apple发送消息期间您的连接可能会被关闭,在这种情况下,您将无法获得导致连接关闭的消息的ID 。 我正在考虑的另一种方法是在单独的线程中执行读取和写入。 通过这种方式,我可以更好地从Apple获取错误消息(在连接关闭之前),而不会影响我向Apple发送消息的速度。 这种方法在编程上更复杂,并且由于我的服务器需要将APN发送到多个iOS应用程序,每个应用程序都需要自己的套接字和读取器/写入器线程,这将使我需要的线程数增加两倍。 在尝试向Apple的沙盒服务器发送推送通知时,学习了APN服务器的所有上述行为。 我不确定Apple的生产服务器的行为是否更好,我不确定在生产服务器上执行测试是个好主意。 我的问题 – 有没有办法在关闭连接之前可靠地读取Alpha的错误响应,而不会牺牲性能? 是否有可能以某种方式从服务器关闭后从套接字读取输入?

升级到cordova 3.1.0后,PushPlugin无法正常工作

在Cordova升级到3.1.0之后,onNotificationGCM函数event = register无法被调用。 所以我可以获得已注册手机的推送通知,但新手机无法注册。 检查ATD的控制台,我得到了这个: W/PluginManager(31200): THREAD WARNING: exec() call to PushPlugin. register blocked the main thread for 30ms. Plugin should use CordovaInterface.getThreadPool(). 任何人都有同样的问题,可以给出一些建议吗?

用于开发iPhone推送通知服务的Google App Engine的Java替代品是什么?

我是一名正在研究iPhone应用程序的Java程序员。 我希望它使用推送通知服务。 我原本以为我可以使用Google App Engine向Apple提供有效负载,但我现在看到它是不可能的,因为App Engine不支持与Apple通信所需的低级套接字编程。 谷歌应用引擎有什么替代品可以让我使用Java吗? 简而言之,我想知道是否有一个支持Java和Socket编程的免费托管平台 更新 – 自写这个问题以来,我写了一个应用程序,使用Urban Airship充当GAE和APNS之间的中间人。 它只是膨胀。 这有一个应用引擎问题 – http://code.google.com/p/googleappengine/issues/detail?id=1164如果你想关注,但我个人认为这不是真的GAE应该做的事情。 只需使用Urban Airship。

切换按钮以打开通知

希望你能在这里帮助我! 我想制作一个开关按钮,打开推送每日推送通知的function。 我怎么做? 切换按钮位于“设置”片段上 我的MainActivity.java: public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); displayView(R.id.nav_home); } @Override public void […]

Android – GCM推送通知未出现在通知列表中

我正在开发我的第一个Android应用,以使用Google云消息传递(GCM)服务进行推送通知。 我已经到了可以从我的服务器应用程序成功发送消息的位置,并在客户端应用程序上的GCMIntentService类中的onMessage事件中记录消息的内容。 但是,我没有在设备上看到任何收到消息的可视指示。 我期待这条消息出现在手机的下拉通知列表中,就像在iPhone上一样。 这是否必须手动编码? 还有一种显示消息的常用方法,无论当前哪个活动处于活动状态,以及应用程序是否在后台处于空闲状态? 任何帮助赞赏。

我无法在Parse的应用程序中收到推送通知

我在我的应用程序中配置了Parse API,除推送通知外,一切正常。 我试图从网站发送它们,但他们没有到达应用程序。 我做了文档中写的所有内容 ,但我无法收到通知推送。 我能够收到一个,当我按下它应用程序崩溃。 现在我试图改变一些东西,但即使扭转我也不能再收到它们了。 我该如何解决我的问题? 编辑:由于一些用户可能感兴趣,这是我用于推送通知的代码的部分: 主类(不是MainActivity): public class InstantsApplication extends Application { public void onCreate() { super.onCreate(); // Hidden Parse.initialize(this, “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”, “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”); ParseInstallation.getCurrentInstallation().saveInBackground(); ParsePush.subscribeInBackground(“”, new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { Log.d(“com.parse.push”, “successfully subscribed to the broadcast channel.”); } else { Log.e(“com.parse.push”, “failed to […]