Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP und Google Cloud Messaging

Mitglied: tomolpi

tomolpi (Level 3) - Jetzt verbinden

14.04.2016, aktualisiert 21:44 Uhr, 1566 Aufrufe, 1 Kommentar

Guten Abend Leute,

ich hab hier eine Frage zum Thema GCM (Google Cloud Messaging).

Ich bin habe in meiner App das Push-System nach dieser Anleitung (http://androidsrc.net/android-push-notification-using-google-cloud-mess ...) implementiert, man kann auch senden und am Gerät kommt das an.

Jetzt ist es leider so, dass ich, wenn sich 2 Geräte registriert haben, ich in meiner Index.php jetzt 2 Textfelder habe, die jeweils einem Geräte die Nachricht senden

Also wie im Bild, ich tippe was in die obere Box, sende und das Gerät mit der oberen ID bekommt die Nachricht, aber das andere nicht.

unbenannt - Klicke auf das Bild, um es zu vergrößern

Jetzt meine Frage: kann jemand von euch mir sagen, wie ich

1. es hinbekomme, dass es EIN Feld gibt, was an ALLE Geräte sendet?

2. Die Registration-IDs schön untereinander stehen?

Die index.php sieht so aus:

01.
<!DOCTYPE html>
02.
<html>
03.
    <head>
04.
        <title></title>
05.
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
06.
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
07.
        <script type="text/javascript">
08.
            $(document).ready(function(){
09.
                
10.
            });
11.
            function sendPushNotification(id){
12.
                var data = $('form#'+id).serialize();
13.
                $('form#'+id).unbind('submit');                
14.
                $.ajax({
15.
                    url: "device_sendmsg.php",
16.
                    type: 'GET',
17.
                    data: data,
18.
                    beforeSend: function() {
19.
                         
20.
                    },
21.
                    success: function(data, textStatus, xhr) {
22.
                          $('.txt_message').val("");
23.
                    },
24.
                    error: function(xhr, textStatus, errorThrown) {
25.
                         
26.
                    }
27.
                });
28.
                return false;
29.
            }
30.
        </script>
31.
    </head>
32.
    <body>
33.
        <?php
34.
        include_once 'db_functions.php';
35.
        $db = new DB_Functions();
36.
        $users = $db->getAllUsers();
37.
        if ($users != false)
38.
            $no_of_users = mysql_num_rows($users);
39.
        else
40.
            $no_of_users = 0;
41.
        ?>
42.
        <div >
43.
            <h1>No of Devices Registered: <?php echo $no_of_users; ?></h1>
44.
            <hr/>
45.
            <ul class="devices">
46.
                <?php
47.
                if ($no_of_users > 0) {
48.
                    ?>
49.
                    <?php
50.
                    while ($row = mysql_fetch_array($users)) {
51.
                        ?>
52.
                        <li>
53.
                            <form id="<?php echo $row["id"] ?>" name="" method="post" onsubmit="return sendPushNotification('<?php echo $row["id"] ?>')">
54.
                                <label>RegistrationID: </label> <span><?php echo $row["gcm_regid"] ?></span>
55.
                                <br><br>                              
56.
                                <textarea rows="3" name="message" cols="25" class="txt_message" placeholder="Type message here"></textarea>
57.
                                <input type="hidden" name="regId" value="<?php echo $row["gcm_regid"] ?>"/>
58.
                                <input type="submit" class="send_btn" value="Send" onclick=""/>
59.
                                </div>
60.
                            </form>
61.
                        </li>
62.
                    <?php }
63.
                } else { ?> 
64.
                    <li>
65.
                        No Users Registered Yet!
66.
                    </li>
67.
                <?php } ?>
68.
            </ul>
69.
        </div>
70.
    </body>
71.
</html>

Grüsse, und Danke,

tomolpi
Mitglied: nxclass
25.04.2016 um 10:24 Uhr
Zuerst ich kenne das nicht aber ich versuche das mal:

Die JS Funktion sendPushNotification(id) kümmert sich um das senden und erwartet als Parameter offenbar die Geräte ID.
Das Senden der nachricht triggert man über:
01.
onsubmit="return sendPushNotification('<?php echo $row["id"] ?>')">
Was hier also fehlt ist ein Formular welches bei onsubmit mehrmals die JS Funktion mit den jeweiligen IDs triggert. Das könnte so aussehen:
01.
// Du musst hier mehr umbauen: zB. müssen hier die Daten aus deiner DB Tabelle in ein Array gepackt werden damit du hier einfach mehrmals darüber iterieren kannst; Einmal für die Einzelnen Formulare und dann für das zusätzliche Formular:
02.
$onsubmit = "";
03.
foreach ( $users as $user ) {
04.
    $onsubmit .= 'sendPushNotification(\''. $user['id'] .'\');';
05.
}
06.
<form id="foobar" name="" method="post" onsubmit="<?php echo $onsubmit ?>">
07.
// rest vom Formular
.. das ist jetzt nur als Anhaltspunkt.
Bitte warten ..
Ähnliche Inhalte
Verschlüsselung & Zertifikate
Privates Instant Messaging
gelöst Frage von PharITVerschlüsselung & Zertifikate9 Kommentare

Hi allerseits, angestoßen durch einige Gedanken hier im Forum wollte ich mal fragen, wie Ihr so kommuniziert wenn es ...

Instant Messaging
Messaging Tool Aufgabenverteilung
Frage von Florian86Instant Messaging4 Kommentare

Hallo, kennt jemand ein Tool womit man Aufgaben bzw. Informationen auf bestimmten Rechnern Aufbloben lassen kann. Bzw. nicht nur ...

Cloud-Dienste
Cloud Alternativen
Frage von Husker1Cloud-Dienste22 Kommentare

Hallo, welche Alternativen könnt ihr zur Cloud (selbst gehostet) empfehlen ? Die Daten sollen PCs und Android sowie iOS ...

Cloud-Dienste

Backup Lösung für Cloud Server (Public Cloud)

Frage von NoHopeNoFearCloud-Dienste13 Kommentare

Hallo Leidensgenossen, da meine Google Recherche bisher wenig erfolgreich war und ich gerne ein paar Erfahrungswerte hätte folgende Frage ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 12 StundenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 12 StundenExchange Server1 Kommentar

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 13 StundenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 3 TagenVoice over IP7 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
Windows Server
Drucker auf dem Terminalserver 2016 via Printserver wird nicht angezeigt
Frage von EchterHansenWindows Server15 Kommentare

Moin Moin, ich habe hier zwei 2016er Terminalserver und einen 2016er Printserver, auf dem ca. 10 RICOH-Drucker Typ 4. ...

Hardware
Ncomputing N600 oder auch 600W Privat nutzen Kostenlos oder kostengünstig
gelöst Frage von PlerTanixHardware14 Kommentare

Hallo liebe Forum User, Ich habe da eine Frage. Ich bin Azubi im dritten Lehrjahr und bei uns in ...

Windows 10
Upgrade Windows 10 1903 und Office 2010 Problem mit Userzertifikaten
gelöst Frage von Looser27Windows 1012 Kommentare

Guten Morgen, ich habe bei uns ein Phänomen in o.g. Kombination festgestellt, welches nach dem Inplace-Upgrade auf 1903 auftritt. ...

Hardware
Ausrichtung Profilschienen - was würdet ihr empfehlen?
gelöst Frage von ShihanHardware11 Kommentare

Ich habe einen Digitus 19" 12 U Netzwerkschrank. Dieser hätte eigentlich nur vorne Profilschienen, da ich aber im hinteren ...