10

我们有一个自定义的 android 版本,刚刚发现 Google Cloud Messaging (GCM) 可能是非 Google 认证版本的问题。

假设是这种情况,有没有 GCM 的替代品?

4

4 回答 4

6

在 android 中实现推送通知的最简单方法是解析

只需注册自己,创建新的 android 应用程序。

结帐演示代码

集成您的ApplicationIDClient key

运行您的应用程序,一切就绪!

于 2013-03-08T15:34:47.663 回答
5

你可以试试 xtify

或者

小推车

或者

城市飞艇

于 2013-03-08T15:21:13.150 回答
3

Paho项目是一个iot.eclipse.com项目,基于 MQTT 的服务器的开源客户端。

您可以查看 android 应用程序演示示例

它将连接到 Eclipse 免费托管的基于 MQTT 的沙箱服务器以测试此应用程序。请在此处查看此服务器详细信息

于 2014-11-07T08:53:11.953 回答
2

借助 Urbran Air Ship 文档中显示的步骤,我在 Android 中实现了 Push Notification [ Using Urban Air Ship] 应用程序

http://urbanairship.com/docs/android_client.html ,

它以一种很好的方式工作,当我的提要更新时,我也收到了通知。这是已经完成的步骤。

Step1:在 Urban Air Ship 中创建一个账户, https://go.urbanairship.com/

第2步:从这里下载android_push.jar https://github.com/urbanairship/android-push-library/downloads

Step3:在关闭应用程序标记文件之前,在 AndroidManifest.xml 中注册接收器,如下所示

<application>
:
:
:

<receiver android:name="com.urbanairship.push.IntentReceiver">
<intent-filter>
<action android:name="com.urbanairship.airmail.END_REGISTER"></action>
<action android:name="com.urbanairship.airmail.ACCEPT_PUSH"></action>
<action android:name="com.urbanairship.airmail.NOTIFY"></action>
</intent-filter>
</receiver>
</application>

第 4 步:登录您的帐户,在他们的网站上注册您的应用程序。对于您帐户中的单击应用程序选项。

Step5:点击应用程序图标后,您可以看到添加您的应用程序选项,如下图所示

Step6:输入您的应用名称并单击推送通知支持,然后输入您的包名称。并单击创建您的应用程序按钮,一个新窗口将为您提供应用程序密钥。

第七步:在 res 文件夹下的 raw 文件夹下创建一个名为 ua.properties 的文件,即 res/raw/ua.properties 文件

Step8:将您在Urban AirShip中注册应用程序后获得的应用程序密钥以及您的应用程序的指纹输入到ua.properties文件中,如下所示。

debug=true debug.app_key=j9kRTqaCRR-E0xf-iu2XEA production.app_key=9D:54:23:3F:F3:25:AB:0B:DC:8E:D9:C8:B3:F4:96:F9

第 9 步:创建一个应用程序类,如下所示

import com.urbanairship.push.APIDReceiver; import
 com.urbanairship.push.AirMail; import
 com.urbanairship.push.PushReceiver;

 import android.app.Application; import android.content.Intent; import
 android.util.Log;

 public class PushNotification extends Application { public void
 onCreate(){ AirMail am = AirMail.getInstance(); am.acceptPush(this,
 new PushReceiver() { @Override public void onReceive(String message,
 String payload){ Log.d("push", "Got message '" + message +"' and
 payload '" + payload + "'"); }

 @Override public void onClick(String message, String payload){
 Log.d("push", "User clicked the notification, got message and payload:
 "
 + message + ", " + payload); /* In this example, we fire up our MainActivity class when the
 * user clicks the Status Bar Notification. Note that we *must*
 * use the flag Intent.FLAG_ACTIVITY_NEW_TASK to start a new
 * activity because this callback is fired from within a
* BroadcastReceiver.
**/ Intent intent = new Intent("android.intent.action.MAIN"); intent.setClass(PushNotification.this,MainActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 PushNotification.this.startActivity(intent); } });

 am.setAPIDReceiver(this, new APIDReceiver() { @Override public void
 onReceive(String apid, boolean valid){ if(valid){ Log.d("push", "Got
 apid: " + apid); } else { Log.d("push", "Application registration
 invalid!"); } }

 @Override public void onAirMailInstallRefusal() {
 Rss_Feed_Grid.register = false; Log.d("push", "AirMail Install
 Refused!"); } }); } }

第 10 步:在您的 Activity 中检查以下注册码

 protected static boolean register = true;

 if(register){ AirMail am = AirMail.getInstance(); am.register(this); }

第 11 步:更新您的清单以注册您的应用程序

 <application android:icon="@drawable/icon"
 android:label="@string/app_name" android:name=".PushNotification">

Step12:现在点击Push Notification,然后点击Urbran Air Ship中的feed按钮,然后feed要监控的url

而已..

有关更多信息,请参阅我的博客 http://sankarganesh-info-exchange.blogspot.sg/p/push-notification-in-android-using.html

于 2014-01-08T06:04:46.317 回答