10
votes

CORDOVA / Phonegap iOS Parse-Push Plugin

J'ai passé beaucoup de temps à trouver le bon plugin Cordova correct pour Pays Push Notifications pour les plates-formes Android et iOS.

Mes exigences sont:

  1. Recevoir une notification Push Push (en Android & iOS)
  2. capable de stocker toutes les notifications push entrantes dans le stockage local mobile SQLite.

    J'ai essayé toutes les plug-ins de la ci-dessous Pays Push Cordova pour les plates-formes Android et iOS.

    1. https://github.com/avivais/phonegap-parse-plugin
    2. https://github.com/taivo/parse-push-plugin
    3. https://github.com/campers/parse-push-plugin
    4. https://github.com/manishiitg/parse-push-plugin

      pour Android: Tous les plugins ci-dessus fonctionnent parfaitement pour remplir mes exigences mentionnées ci-dessus.

      pour iOS: Seulement 1er plugin, c'est-à-dire https://github.com/avivais/phonegap -parse-plugin fonctionne. Et cela aussi, je n'ai pas pu enregistrer les notifications dans le stockage local SQLite. Cela signifie seulement que ma 1ère exigence est remplie mais pas ma 2e exigence.

      Toutes les pages GITUB des plugins restants (I.e 2e, 3ème, 4ème) indique que:

      "Veuillez noter que je n'ai travaillé que sur l'aspect Android de cette fourchette. Le côté iOS n'est pas encore à jour."

      Y a-t-il un plugin qui fonctionnera pour les plates-formes Android et iOS pour remplir mes 2 exigences?

      (ou)

      S'il n'y a pas de plugin commun pour les deux plateformes, comment puis-je stocker les plugins entrants dans iOS SQLite?

      Aidez-moi s'il vous plaît. Merci d'avance.


7 commentaires

S'il vous plaît donner les raisons pour lesquelles vous êtes en train de voter cette question?


Il est étrange que quatre utilisateurs ont abouti à ce post et non indiqués la raison. S'il vous plaît veillez à expliquer.


@Mr_green Oui, les gens devraient être suffisamment responsables pour expliquer pourquoi ils sont en train de voter un post


Salut, si vous construisez à Ionic, vous pouvez envisager: docs.ionic.io/docs/push -Overview . Il a une bonne documentation.


@Rahul, est-ce que c'est comme la notification Push Push? Comme nous savons que Pays Push est si populaire pour les notifications push. Il peut gérer des milliers de notifications sans aucune charge. Mais Ionic Push est venu à Alpha. Je ne suis pas sûr que cela puisse gérer plusieurs notifications avec intelligent?


github.com/jumbbytehq/phonegap-parse-plugin est fourchette de vieux parse- Push-Plugin, que vous pouvez utiliser pour Android & iOS tous les deux.


Je ne trouve pas non plus un plugin de droite pour mon application Cordova. Comment avez-vous résolu votre problème? Plugin Vinith a posté des crashs lorsque je démarre l'application.


3 Réponses :


1
votes

Vous venez d'être intéressé par le Notifications push Azure . Il combine les deux services de notification push afin que vous puissiez envoyer des messages aux deux périphériques d'un point central.

i Citation: p>

hubs de notification Une solution évolutive et multiplate-forme pour envoyer des poussées Notifications aux appareils mobiles, les hubs de notification fonctionnent bien avec Applications Cordova. Les hubs de notification gèrent les enregistrements avec chacun Pns. Plus important, les hubs de notification vous permettent de créer un modèle Inscriptions afin que vous puissiez envoyer des messages à tous les périphériques enregistrés, Quelle que soit la plate-forme, avec seulement une seule ligne de code. Vous pouvez également Utilisez des balises pour envoyer des notifications ciblées uniquement sur des périphériques avec spécifiques Inscriptions. Pour plus d'informations sur les hubs de notification, voir le Site Web Azure sur AKA.MS/NKN4N4. P> BlockQuote>

Ici, j'ai une classe d'assistance pour l'enregistrement de votre appareil avec le service d'amusement. Pour envoyer des notifications push, vous pouvez utiliser un portail Azure et envoyer des notifications push de style de style au format JSON. P>

//azure notificationshub connection information
notificationHubPath = "notificationhub name";
connectionString = "notificatin hub connectionstring";
//sender id for google cloud services
var senderIdGCM = "sender id from google gcm";
//tag registration (csv string), can be empty but not undefined
var registrationTagsCsv = ""; //test1, test2

var app = {

    Initialize: function () {
        //reg for onload event
        this.AppStart();
    },

    AppStart: function () {
        "use strict";
        document.addEventListener('deviceready', app.onLoad, false);
        document.addEventListener('deviceready', onDeviceReady.bind(this), false);

        function onDeviceReady() {
            // Handle the Cordova pause and resume events
            document.addEventListener('pause', onPause.bind(this), false);
            document.addEventListener('resume', onResume.bind(this), false);

            // TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.
        };

        function onPause() {
            // TODO: This application has been suspended. Save application state here.
        };

        function onResume() {
            // TODO: This application has been reactivated. Restore application state here.
        };
    },

    onLoad: function () {

        app.log("Initializing...");

        //setup push notifications
        Pushman.Initialize(connectionString, notificationHubPath, senderIdGCM,
                           app.onNotificationRegistered, app.onNotificationUnRegistered,
                           app.onNotificationInline, app.onNotificationBackground, app.onNotificationError);

        //hookup cmd buttons
        app.registerForPush();
        //$("#register").click(app.registerForPush);
        //$("#unregister").click(app.unRegisterForPush);

        app.onAppReady();
    },

    registerForPush: function (a, c) {

        app.log("Registering...");
        //register for tags
        Pushman.RegisterForPushNotifications(registrationTagsCsv);

    },

    unRegisterForPush: function (a, c) {

        app.log("UnRegistering...");
        //register for tags
        Pushman.UnRegisterForPushNotifications();

    },

    onAppReady: function () {
        app.log("Ready");
    },

    onNotificationRegistered: function (msg) {
        app.log("Registered: " + msg.registrationId);
    },

    onNotificationUnRegistered: function () {
        app.log("UnRegistered");
    },

    onNotificationInline: function (data) {
        app.log("Inline Notification: " + data);
    },

    onNotificationBackground: function (data) {
        app.log("Background Notification: " + data);
    },

    onNotificationError: function (error) {
        app.log("Error: " + error);
    },

    log: function (msg) {
        console.log(msg);
    },

};


1 commentaires

Aide massive, un de quelques postes qui explique cela clairement en utilisant des hubs de notification



0
votes

Je pense que cet article peut être utile, il a plus d'une solution de contournement indigène directe pour votre application hybride pour travailler

http://www.hiddentao.com/archives/2015/04/10/parse-push-notifications-for-your-androïd-and-ios-cordova-app/ .

Je travaille sur une application Android Cordova, et cela semble être une solution de travail


0 commentaires

4
votes

Je dois gérer https://github.com/taivo/parse-push-plugin

On dirait que vous avez attrapé ma fourchette à sa balance. Je l'ai ramassé lorsque la fourche en amont semblait stagnante pendant un moment et à ce moment-là, je ne faisais que parler de l'aspect Android. Depuis lors, j'ai fourni un soutien complet iOS. Et cela fonctionne pour pars-serveur ainsi que la sortie parse.com . J'ai aussi fait une installation de mieux et j'ai fabriqué une question de p> xxx pré>

et écrire quelques config.xml code> étiquettes pour indiquer l'URL du serveur et l'ID de l'application . p>

qui devrait ressortir la grande douleur de gâcher manuellement avec manifeste Android, java et objectif C lors de la configuration du plugin. P>

Il devrait maintenant respecter ou dépasser votre exigence. Pour recevoir une notification push et stocker dans SQLite, tout ce que vous avez à faire est de définir un gestionnaire d'événements dans JavaScript. Assurez-vous de l'envelopper avec une sorte de manutention d'événement prêt ou prêt à la plate-forme pour vous assurer que le plugin a correctement chargé. P>

$ionicPlatform.ready(function(){
    if(window.ParsePushPlugin){
       ParsePushPlugin.on('receivePN', function(pn){
           console.log('yo i got this notif:' + JSON.stringify(pn) );

           //
           // do your sqlite storage here
           //
       });
    }
});


0 commentaires