您可能在这里发生的一件事是:
- 您的代码实际上正在处理并尝试在您调用 sendPush 之前发送消息,这可能会导致部分问题。
- 您是否注册了 API 密钥并替换了代码中的那部分?
- 在演示客户端应用程序中;它展示了如何实际利用注册;请参阅我对以下 GitHub 问题的评论:https ://github.com/mwillbanks/Zend_Mobile/issues/16
- 您的服务器需要从设备获得注册 ID;这可能是您没有的。
- 获取注册 ID 的一种方法是在客户端应用程序内的 onRegistered 调用中执行 Log.i("MY_APP_TAG", regId); 然后查看 logcat 输出。
安卓示例
public class GCMIntentService extends GCMBaseIntentService {
public GCMIntentService() {
super(Constants.SENDER_ID);
}
@Override
protected void onRegistered(Context context, String regId) {
Log.i("MY_APP_TAG", "Registered: " + regId);
}
@Override
protected void onUnregistered(Context context, String regId) {
// write a call here to send the regId to your server and unregister it
}
@Override
protected void onMessage(Context context, Intent intent) {
Log.i("MY_APP_TAG", "Received message!");
// grabbing data looks like the following; the assumption
// is title is part of the data string.
String title = intent.getExtras().getString("title");
}
}
*Zend_Mobile_Push_Gcm 示例*
请参阅我提供的粘贴代码的更新链接 (http://pastebin.com/NhrD5N6i);您将需要在文本框中使用上面的注册 ID。