使用Google GCM发送推送通知

时间:2015-10-04 11:26:15

标签: android google-cloud-messaging

我一直关注Set Up a GCM Client App tutorial并尝试了解他们提供的演示应用,但我无法理解如何使用此服务发送推送通知。

上面的指南引导我进入"生成InstanceID令牌"屏幕上有永无止境的ProgressBar。可以在此处获取此程序源:https://github.com/googlesamples/google-services/tree/master/android/gcm/app/src/main

使用上面的源代码后,我尝试了简单下游消息传递,这个:https://developers.google.com/cloud-messaging/downstream,以便向应用用户发送推送。

我无法理解我应该如何向其发送应用用户通知。

我有一台服务器,我很擅长PHP,还有什么可以使用GCM向我的应用程序用户发送推送通知?

最后设法将消息发送到TextView! 如何让它成为推动?

public class GcmService extends GcmListenerService {

    @Override
    public void onMessageReceived(String from, Bundle data) {
        JSONObject jsonObject = new JSONObject();
        Set<String> keys = data.keySet();
        for (String key : keys) {
            try {
                jsonObject.put(key, data.get(key));
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        try {
            sendNotification("Received: " + jsonObject.toString(5));
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onDeletedMessages() {
        sendNotification("Deleted messages on server");
    }

    @Override
    public void onMessageSent(String msgId) {
        sendNotification("Upstream message sent. Id=" + msgId);
    }

    @Override
    public void onSendError(String msgId, String error) {
        sendNotification("Upstream message send error. Id=" + msgId + ", error" + error);
    }

    private void sendNotification(final String msg) {
        Handler handler = new Handler(Looper.getMainLooper());
        handler.post(new Runnable() {
            @Override
            public void run() {
                if (MainActivity.mTextView != null) {
                    MainActivity.mTextView.setText(msg);
                }
            }
        });
    }
}

1 个答案:

答案 0 :(得分:0)

我们假设您已在Google Developers Console中创建了一个新项目,并注意到两个值:项目编号,它将在客户项目中用作SENDER_ID;和API服务器密钥(在Credentials上创建),它将在服务器项目中用作API_KEY。

您可以在以下问题中找到有关基本服务器项目的更多信息。在第二个链接中,您将找到Java中服务器项目的示例代码,然后您可以参考其逻辑在PHP项目中实现:

Adding Google Cloud Messagin (GCM) for Android - Registration process

How to implement a GCM Hello World for Android using Android Studio

希望这有帮助!