Как получить идентификатор регистрации устройства с помощью PHP (веб), чтобы избежать MismatchSenderId? - PullRequest
0 голосов
/ 11 октября 2018

Это мой код в приложении на phonegap для получения регистрационного идентификатора.Идентификатор регистрации всегда получается успешно.

const push = PushNotification.init({

    android: {
    },
    browser: {
        pushServiceURL: 'http://push.api.phonegap.com/v1/push'
    },
    ios: {
        alert: "true",
        badge: "true",
        sound: "true"
    },
    windows: {}

});

push.on('registration', function ( data ) {

    recordRegistrationID( data.registrationId ); //Pseudo

});

push.on('notification', function ( data ) {

    // data.message,
    // data.title,
    // data.count,
    // data.sound,
    // data.image,
    // data.additionalData

});

push.on('error', (e) => {

    // e.message

});

Затем я пытаюсь отправить push-уведомление на это устройство с сохраненным регистрационным идентификатором с моего сервера PHP (example.com), отбирая его в API-интерфейсе Firebase Cloud Messaging API., он всегда возвращает MismatchSenderId.

{"multicast_id":6660509895358893455,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}

Я уже пытался скомпилировать .APK и запустить его на своем мобильном устройстве.Я всегда успешно получаю токен, но сообщение никогда не может быть отправлено на тот регистрационный идентификатор, полученный приложением PhoneGap.

Проводя дополнительные исследования, кажется, что так как PhoneGap фактически получает регистрационный идентификатор, но он связан с PhoneGapсам отправитель, поэтому другие отправители не будут работать.

Правильно ли я это предположить?Если это так, как я могу получить регистрационный идентификатор с помощью PHP вместо PhoneGap для Firebase Cloud Messaging?

Спасибо.

1 Ответ

0 голосов
/ 11 октября 2018

Проводя дополнительные исследования, кажется, что PhoneGap фактически получает регистрационный идентификатор, но он связывается с PhoneGap как отправителем, поэтому другие отправители не будут работать.

Это кажется странным поведением.Сгенерированный токен привязан к экземпляру приложения и проекта Firebase.Можете ли вы предоставить ссылку, где это упоминается?Для связанного токена вообще не имеет смысла переходить на другого отправителя.

С учетом вышесказанного в настоящее время нет способа получить регистрационный токен из вашего бэкэнда.Как я упоминал выше, токен привязан к экземпляру приложения, поэтому он может быть сгенерирован только на стороне клиентского приложения.

...