Firebase android推送通知不适用于其他设备

时间:2017-07-03 17:18:03

标签: android firebase push-notification

抱歉我的英语不好。

我从我的codeigniter网络发送推送通知到Android应用程序,我有3个设备来测试它。

我的第一台设备,它适用于我。 然后在我的第二个和第三个设备中,我的机器人没有收到任何消息。

我尝试从我的firebase控制台发送通知,然后我选择target是用我的包名称的用户段。我的所有设备都会收到消息。

然后我尝试使用主题发送通知,这是我的主题是全局的。只有我的第一台设备收到该消息。

这是我的代码:

 public static final String TOPIC_GLOBAL = "global";
 public static final String REGISTRATION_COMPLETE = "registrationComplete";
 public static final String PUSH_NOTIFICATION = "pushNotification";


mRegistrationBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {

            // checking for type intent filter
            if (intent.getAction().equals(Config.REGISTRATION_COMPLETE)) {
                // gcm successfully registered
                // now subscribe to `global` topic to receive app wide notifications
                FirebaseMessaging.getInstance().subscribeToTopic(Config.TOPIC_GLOBAL);

                displayFirebaseRegId();

            } else if (intent.getAction().equals(Config.PUSH_NOTIFICATION)) {
                // new push notification is received

                String message = intent.getStringExtra("message");

                Toast.makeText(getApplicationContext(), "Push notification: " + message, Toast.LENGTH_LONG).show();

                //  txtMessage.setText(message);
            }
        }
    };


 private void displayFirebaseRegId() {
    SharedPreferences pref = getApplicationContext().getSharedPreferences(Config.SHARED_PREF, 0);
    String regId = pref.getString("regId", null);

    Log.e(TAG, "Firebase reg id: " + regId);

    if (!TextUtils.isEmpty(regId))
    {
        //Toast.makeText(getApplicationContext(),regId,Toast.LENGTH_LONG).show();
    }
       // Toast.makeText(getApplicationContext(), regId, Toast.LENGTH_LONG).show();
    else
        Toast.makeText(getApplicationContext(),"Firebase Reg Id is not received yet!)",Toast.LENGTH_LONG).show();
}

0 个答案:

没有答案